2008-10-24 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-24  Dan Williams  <dcbw@redhat.com>
2
3         * src/nm-gsm-device.c
4                 - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
5
6 2008-10-23  Dan Williams  <dcbw@redhat.com>
7
8         * src/ppp-manager/nm-ppp-manager.c
9                 - (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
10                         add really important stuff to the command line to ensure that NM
11                         overrides /etc/ppp/options (bgo #556781)
12
13 2008-10-22  Dan Williams  <dcbw@redhat.com>
14
15         * src/NetworkManagerSystem.c
16           src/nm-device.c
17                 - Use the device's IP interface where appropriate (Per Hallsmark)
18
19 2008-10-22  Dan Williams  <dcbw@redhat.com>
20
21         * src/nm-gsm-device.c
22                 - (schedule_automatic_registration_again): use a short timeout here
23                         instead of an idle handler to avoid using too much CPU polling for
24                         something we should be waiting a bit for anyway
25
26 2008-10-22  Dan Williams  <dcbw@redhat.com>
27
28         * include/NetworkManager.h
29           introspection/nm-device.xml
30                 - Add device state change reason for carrier changes
31
32         * src/nm-device-ethernet.c
33                 - (set_carrier): use the carrier change reason when changing device
34                         state in response to carrier changes
35
36 2008-10-21  Dan Williams  <dcbw@redhat.com>
37
38         * src/NetworkManagerPolicy.c
39                 - (update_etc_hosts): don't leak errors, and ensure that
40                         g_file_set_contents() gets a valid error placeholder (rh #461933)
41
42 2008-10-21  Dan Williams  <dcbw@redhat.com>
43
44         * src/nm-manager.c
45                 - (free_get_settings_info): don't use the DBusGProxy which could be
46                         disposed of by the time the function is called
47                 - (internal_new_connection_cb): save connection scope
48                 - (connection_get_settings_cb): don't replace a connection unless it's
49                         actually different from the existing one; fixes an issue where
50                         killing the settings service wouldn't deactivate an active connection
51                         provided by that settings service, because it was using a connection
52                         that had already been replaced in the system or user hash
53
54 2008-10-21  Dan Williams  <dcbw@redhat.com>
55
56         * src/NetworkManager.c
57                 - (main): keep the DHCP manager around since it's a singleton; fixes
58                         a use-after-free exposed by r4196 since the DHCP manager singleton
59                         variable isn't cleared when the DHCP manager object is finalized
60
61 2008-10-20  Dan Williams  <dcbw@redhat.com>
62
63         * libnm-util/nm-setting-wireless-security.c
64                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
65
66 2008-10-20  Dan Williams  <dcbw@redhat.com>
67
68         * src/supplicant-manager/nm-supplicant-config.c
69                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
70
71 2008-10-20  Dan Williams  <dcbw@redhat.com>
72
73         * src/dhcp-manager/nm-dhcp-manager.c
74                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
75                         manager object already refs it once
76                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
77                         also get cleaned up by nm_dhcp_device_destroy() to prevent
78                         double-frees
79
80 2008-10-20  Dan Williams  <dcbw@redhat.com>
81
82         * src/nm-manager.c
83                 - (initial_get_connections): use private dbus manager, don't keep
84                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
85                         manager object.
86
87 2008-10-18  Dan Williams  <dcbw@redhat.com>
88
89         * libnm-glib/nm-settings.c
90           libnm-glib/nm-settings.h
91                 - Rename the "get_secrets" virtual function "service_get_secrets" to
92                         clarify when it's used; NMExportedConnetion is a base-class for both
93                         the client and service side, which is sort of confusing, and
94                         get_secrets only makes sense on the service side.
95
96         * libnm-glib/nm-dbus-connection.c
97                 - (get_secrets): remove, unused, and clients need to do extra work to
98                         get secrets anyway since the call can block on the remote side
99
100         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
101           system-settings/plugins/keyfile/nm-keyfile-connection.c
102                 - Fix up for get_secrets -> service_get_secrets
103
104 2008-10-16  Dan Williams  <dcbw@redhat.com>
105
106         * src/nm-device-wifi.c
107                 - (constructor): correctly determine encryption capabilities
108
109 2008-10-15  Dan Williams  <dcbw@redhat.com>
110
111         * src/nm-device-wifi.c
112                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
113                         (Johannes Berg)
114
115 2008-10-15  Dan Williams  <dcbw@redhat.com>
116
117         * src/NetworkManagerSystem.c
118                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
119                         if the ip4_dest is in a smaller subnet contained within a subnet
120                         the machine is currently on, the destination is in the same subnet
121                 - (nm_system_device_set_ip4_route): move subnet checks to callers
122                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
123                         subnet as the parent device, and if so, don't add the direct
124                         host route via the parent device's gateway (bgo #481620)
125                 - (nm_system_apply_ip4_config): check whether the route to be added
126                         is contained within a subnet the device is already on
127
128 2008-10-11  Dan Williams  <dcbw@redhat.com>
129
130         * include/NetworkManager.h
131           introspection/nm-device.xml
132           include/NetworkManagerVPN.h
133                 - Add a few more state reasons for the device deactivated state
134
135         * src/nm-device-interface.c
136           src/nm-device-interface.h
137                 - (nm_device_interface_deactivate): add a 'reason' argument
138
139         * src/nm-device.c
140           src/nm-device.h
141                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
142                 - (nm_device_state_changed): pass the state change reason to
143                         nm_device_take_down()
144                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
145                         to the state change function
146
147         * src/nm-manager.c
148           src/nm-manager.h
149                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
150                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
151                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
152                         something reasonable along to VPN deactivation
153
154         * src/vpn-manager/nm-vpn-manager.c
155           src/vpn-manager/nm-vpn-manager.h
156                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
157                         pass that along to nm_vpn_connection_disconnect()
158
159 2008-10-11  Dan Williams  <dcbw@redhat.com>
160
161         * src/nm-device-wifi.c
162                 - (can_scan): remove old madwifi hack for not scanning while connected
163
164 2008-10-11  Dan Williams  <dcbw@redhat.com>
165
166         Add support for VPN subnet gateways (bgo #549196)
167
168         * include/NetworkManager.h
169                 - Add key for internal VPN subnet gateway
170
171         * src/vpn-manager/nm-vpn-connection.c
172                 - (ip_address_to_string): return a const from a static buffer so we
173                         don't leak a lot of strings
174                 - (print_vpn_config): print internal VPN gateway as well
175                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
176                         VPN service too
177                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
178
179         * src/NetworkManagerSystem.c
180           src/NetworkManagerSystem.h
181                 - (nm_system_device_replace_default_ip4_route): split into two, one for
182                         VPN connections and one for normal devices
183                 - (replace_default_ip4_route): break out route stuff into its own function
184                 - (nm_system_replace_default_ip4_route_vpn,
185                    nm_system_replace_default_ip4_route): simplify by having two cases,
186                         one for VPNs and one for normal devices
187
188         * src/NetworkManagerPolicy.c
189                 - (update_routing_and_dns): simplify, use split default route replacement
190                         functions
191
192 2008-10-10  Dan Williams  <dcbw@redhat.com>
193
194         Rework default route handling to consolidate decisions in the policy,
195         and to take active VPN connections into account when changing the default
196         route (bgo #545912)
197
198         * src/NetworkManager.c
199                 - (main): pass the vpn_manager to the policy so it knows about active
200                         VPN connections; clean up the named manager which wasn't done before
201
202         * src/NetworkManagerPolicy.c
203           src/NetworkManagerPolicy.h
204                 - (nm_policy_new): get a clue about the vpn_manager
205                 - (update_default_route): remove, fold into update_routing_and_dns()
206                 - (update_routing_and_dns): handle active VPN connections too; an
207                         active VPN connection becomes the default route if it does not have
208                         server-specified or user-specified custom routes.  Otherwise, the
209                         best active device gets the default route
210                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
211                    nm_policy_destroy): track VPN connection activation and deactivation
212                         and update the default route when appropriate
213
214         * src/NetworkManagerSystem.c
215           src/NetworkManagerSystem.h
216                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
217                         in the VPN connection itself
218                 - (nm_system_vpn_device_set_from_ip4_config,
219                    nm_system_device_set_from_ip4_config): merge together to make
220                         nm_system_apply_ip4_config()
221                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
222                         via the parent device
223                 - (nm_system_apply_ip4_config): simplify
224                 - (add_ip4_route_to_gateway): new function; add a direct route to the
225                         gateway if needed
226                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
227                         route stuff out into add_ip4_route_to_gateway() for clarity
228
229         * src/nm-device.c
230                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
231
232         * src/vpn-manager/nm-vpn-connection.c
233           src/vpn-manager/nm-vpn-connection.h
234                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
235                    nm_vpn_connection_get_parent_device): add
236                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
237                         device explicit
238                 - (connection_state_changed): update the named manager now that
239                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
240                         useful on errors
241
242         * src/vpn-manager/nm-vpn-manager.c
243           src/vpn-manager/nm-vpn-manager.h
244                 - Add a 'connection-activated' signal
245                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
246                         policy to find out about active VPN connections
247
248 2008-10-10  Tambet Ingo  <tambet@gmail.com>
249
250         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
251         a daemon to prevent NM logging spew on console on startup and shutdown (due
252         to dependency loop between NM and syslog).
253
254 2008-10-10  Alexander Sack  <asac@ubuntu.com>
255
256         Implement managed mode. We bind devices configured in /etc/network/interfaces
257         to their connections by updating wired/wireless setting with the
258         mac address of the device.
259
260         * system-settings/plugins/ifupdown/plugin.c
261                 - (get_net_address_for_udi): implement function to retrieve MAC
262                         address of udi from hal in GByteArray format
263                 - (bind_device_to_connection): bind mac address of device to
264                         wired/wireless system connection
265                 - (hal_device_added_cb): call bind_device_to_connection for
266                         system connections with a matching interface.name
267                 - (hal_device_added_cb): ensure that all code paths
268                         properly free the "iface" string.
269
270 2008-10-10  Alexander Sack  <asac@ubuntu.com>
271
272         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
273         mode of the ifupdown system config plugin.
274
275         * system-settings/plugins/ifupdown/plugin.c
276                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
277                         private unmanage_well_known state field accordingly
278
279 2008-10-10  Alexander Sack  <asac@ubuntu.com>
280
281         Implement unmanaged mode that will prevent all devices in the
282         well_known_udis set from being touched by NetworkManager
283
284         * system-settings/plugins/ifupdown/plugin.c
285                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
286                         unmanage_well_known field used to turn on/off unmanaged
287                         mode
288                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
289                         signal when well_known_udis get added/removed
290                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
291                         if we are in unmanaged mode
292
293 2008-10-10  Alexander Sack  <asac@ubuntu.com>
294
295         Add support to track network devices that have a configuration
296         with a matching interface.name in /etc/network/interfaces
297
298         * system-settings/plugins/ifupdown/plugin.c
299                 - (typedef struct SCPluginIfupdownPrivate): add hash table
300                         to track |well_known_udis|
301                 - (get_iface_for_udi): helper function to get interface.name
302                         for a udi
303                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
304                         that add and remove devices to and from the well_known_udis
305                         set depending on whether their |interface.name| matches
306                         any interface definition in /etc/network/interfaces
307                 - (SCPluginIfupdown_init): connect callbacks from above with
308                         hal_mgr and setup well_known_udis hashtable
309                 - (GObject__dispose): destroy well_known_udis hashtable
310                 - (hal_device_added_cb2): implement wrapper callback with GFunc
311                         signature. user_data is supposed to be a triple (hal_mgr,
312                         config and devtype)
313                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
314                         startup and call hal_device_added_cb2
315
316 2008-10-10  Alexander Sack  <asac@ubuntu.com>
317
318         Remove implementation for not used NMSystemConfigInterface callback functions
319         in ifupdown plugin
320
321         * system-settings/plugins/ifupdown/plugin.c
322                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
323                 - (SCPluginIfupdown_connection_added): removed
324
325 2008-10-08  Dan Williams  <dcbw@redhat.com>
326
327         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
328
329         * src/NetworkManagerUtils.c
330                 - (nm_utils_call_dispatcher): add a 'hostname' action
331
332         * src/NetworkManagerPolicy.c
333                 - (set_system_hostname): dispatch hostname changes
334
335         * callouts/nm-dispatcher-action.c
336                 - (nm_dispatcher_action): handle 'hostname' actions
337
338 2008-10-08  Dan Williams  <dcbw@redhat.com>
339
340         * src/NetworkManagerSystem.c
341                 - (find_route): ref the route so it doesn't get destroyed when the cache
342                         is cleared
343                 - (nm_system_device_set_priority): unref the route here after it's done
344                         being used
345
346 2008-10-08  Dan Williams  <dcbw@redhat.com>
347
348         * src/nm-serial-device.c
349                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
350
351 2008-10-08  Tambet Ingo  <tambet@gmail.com>
352
353         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
354         connection with new settings before saving it.
355
356 2008-10-06  Dan Williams  <dcbw@redhat.com>
357
358         * src/nm-ip4-config.c
359           src/nm-ip4-config.h
360                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
361
362         * src/nm-device-interface.c
363                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
364                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
365                         by using '/' for the object path
366
367         * src/nm-device.c
368                 - (src/nm-device.c): marshal missing/unexported ip4-config through
369                         dbus as '/' since dbus-glib can't handle NULL objects nor can
370                         dbus handle NULL object paths
371
372 2008-10-03  Alexander Sack  <asac@ubuntu.com>
373
374         Implement system hostname support for debian/ubuntu
375
376         * system-settings/plugins/ifupdown/plugin.c
377                 - (GObject__get_property): extend announced capabilities; add
378                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
379                 - (GObject__set_property,write_system_hostname): implement
380                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
381                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
382                    update_system_hostname, get_hostname):
383                         implement hostname property that watches and
384                         parses /etc/hostname
385
386 2008-10-03  Alexander Sack  <asac@ubuntu.com>
387
388         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
389           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
390           system-settings/plugins/ifcfg-fedora/Makefile.am
391           system-settings/src/nm-inotify-helper.c
392           system-settings/src/nm-inotify-helper.h
393           src/Makefile.am
394                 - Move ifcfg-fedora inotify helpers to the system settings service so
395                         they are available to all plugins
396
397 2008-10-03  Alexander Sack  <asac@ubuntu.com>
398
399         Implement support for wep-tx-keyidx in ifupdown system
400         config plugin.
401
402         * system-settings/plugins/ifupdown/parser.c
403                 - (update_wireless_security_setting_from_if_block): introduce
404                         free_type_mapping func table; rename a few local
405                         variables to improve readability; add wpa security mapping
406                         for wep-tx-keyidx property
407                 - (string_to_gpointerint): new function used for the auto_type_mapping
408                         of new wep-tx-keyidx property
409                 - (slist_free_all): free func used for mapped slist types
410
411 2008-10-03  Alexander Sack  <asac@ubuntu.com>
412
413         * system-settings/src/main.c:
414                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
415                         always used as the hash key; fixes a crash when removing wired
416                         devices
417
418 2008-10-02  Dan Williams  <dcbw@redhat.com>
419
420         * src/nm-gsm-device.c
421                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
422                         pass the required GSM secret along via user_data rather than keeping
423                         it around in the private data where it sometimes didn't get cleared
424                 - (real_get_ppp_name): implement using the GSM username
425
426 2008-10-02  Dan Williams  <dcbw@redhat.com>
427
428         * src/ppp-manager/nm-ppp-manager.c
429           src/ppp-manager/nm-ppp-manager.h
430                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
431                         the settings daemon for completely new ones
432                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
433                         local PPP peer name; allow PPP debuging by launching NM with
434                         the environment variable NM_PPP_DEBUG defined
435                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
436                         create_pppd_cmd_line()
437
438         * src/nm-serial-device.c
439           src/nm-serial-device.h
440                 - New 'get_ppp_name' function for subclasses to implement to return the
441                         local PPP peer name
442                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
443                         and pass that name to the PPP manager
444
445         * src/nm-device-ethernet.c
446                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
447                         the local peer name
448
449         * src/nm-cdma-device.c
450                 - (real_get_ppp_name): implement using the CDMA username
451
452 2008-10-02  Dan Williams  <dcbw@redhat.com>
453
454         Patch from Alexander Sack <asac ubuntu com>
455
456         * system-settings/plugins/ifupdown/parser.c
457                 - Implement more graceful ip4 config parsing for cases where
458                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
459                   by using default values
460
461 2008-10-02  Dan Williams  <dcbw@redhat.com>
462
463         * src/NetworkManagerPolicy.c
464                 - (device_state_changed): when marking a connection invalid, clear its
465                         secrets too so that fresh secrets get requested the next time
466
467 2008-10-01  Dan Williams  <dcbw@redhat.com>
468
469         * system-settings/src/dbus-settings.c
470                 - (nm_sysconfig_settings_init): cache system hostname on startup as
471                         a fallback if no plugin provides a hostname
472                 - (get_property): fall back to cached hostname if no plugin provides
473                         a hostname
474
475 2008-10-01  Dan Williams  <dcbw@redhat.com>
476
477         Fix setting value comparison issue that caused some settings to look the
478         same when they were really different (rh #464417)
479
480         * libnm-util/nm-param-spec-specialized.c
481                 - (type_is_fixed_size): return fundamental size of the fixed type too
482                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
483                         in the comparison so that the _entire_ fixed type collection gets
484                         compared rather than just the first 'len1' bytes
485
486 2008-09-30  Dan Williams  <dcbw@redhat.com>
487
488         * src/NetworkManagerPolicy.c
489                 - (lookup_thread_worker): don't store the idle handler ID becuase the
490                         idle handler could have already run and freed the LookupThread
491                         structure
492
493 2008-09-30  Tambet Ingo  <tambet@gmail.com>
494
495         * src/nm-device.c (nm_device_get_priority): Implement.
496         (nm_device_set_ip4_config): Send the device priority to system ip4 
497         config setter.
498
499         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
500         Add priority argument and if it's >= 0, set the priority of the network
501         route added automatically by netlink (or kernel?).
502         (nm_system_device_set_priority): Implement.
503
504         * src/NetworkManagerPolicy.c (get_best_device): Use 
505         nm_device_get_priority() instead of home-grown version. Revert the
506         meaning, best priority is the lowest one.
507
508 2008-09-29  Dan Williams  <dcbw@redhat.com>
509
510         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
511         when it returns EAGAIN (rh #362421)
512
513         * src/nm-device-wifi.c
514                 - (wireless_get_range): try GIWRANGE a few times until the card responds
515                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
516
517 2008-09-28  Dan Williams  <dcbw@redhat.com>
518
519         * src/nm-serial-device.c
520           src/nm-serial-device.h
521                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
522                         cleaned at the right times when subclasses close the serial port too
523                 - (nm_serial_device_send_command): use a default send delay; don't
524                         spin forever on EAGAIN
525                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
526                         remove, no longer used
527                 - (find_response): return the matched response if any
528                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
529                         while doing so
530                 - (wait_for_reply_done): pass the matched response to the callback
531                 - (wait_for_reply_got_data): save the matched response; simplify timeout
532                         handling
533                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
534                         const since they never get modified
535                 - (cleanup_device): split out common cleanup stuff to a new function
536                 - (real_deactivate_quickly, finalize): use cleanup_device()
537
538         * src/nm-gsm-device.c
539                 - (modem_get_reply): remove, unused
540                 - (set_apn): give the card a bit more time to respond
541                 - (manual_registration_again, schedule_manual_registration_again,
542                    manual_registration_response, manual_registration): handle manual
543                         registration timeouts better by retrying registration a few times
544                         because cards are a bit slow after CFUN=1
545                 - (automatic_registration_get_network, get_network_response): use
546                         modem_wait_for_reply() because it interacts better with the serial
547                         buffer and does more intelligent matching; need to wait for 'OK'
548                         rather than just matching terminators
549                 - (schedule_automatic_registration_again,
550                    automatic_registration_response, automatic_registration): retry
551                         registration a few times on timeout or "searching" because cards
552                         take a bit to find a network after being powered up with CFUN=1
553                 - (power_up_response, power_up, init_full_done, enter_pin,
554                    check_pin_done): power up the card with CFUN=1 before trying to
555                         register with the network
556                 - (init_modem_full, init_modem): use more standard 3G init strings
557
558         * src/nm-hso-gsm-device.c
559                 - (modem_get_reply): remove, unused
560                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
561                         modem_wait_for_reply() to match actual responses instead of single
562                         termination characters; it doesn't leave stuff in the serial buffer
563                         that might confuse later calls
564                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
565                         to ensure that the call is really disconnected and not leave extra
566                         stuff in the serial buffer
567
568         * src/nm-cdma-device.c
569                 - (power_up_response, power_up, init_done): try Sierra-style modem
570                         power up before attempting to connect
571
572 2008-09-27  Dan Williams  <dcbw@redhat.com>
573
574         * libnm-util/nm-setting-gsm.c
575                 - (verify): verify GSM network ID
576
577 2008-09-25  Dan Williams  <dcbw@redhat.com>
578
579         * libnm-util/nm-setting-gsm.c
580           libnm-util/nm-setting-gsm.h
581                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
582                         technology terms (bgo #551361)
583
584 2008-09-25  Dan Williams  <dcbw@redhat.com>
585
586         Fix bgo #549401 (inspired by patch from Alexander Sack)
587
588         * src/nm-device-ethernet.c
589                 - (finish_supplicant_task): clean up scheduled tasks and free memory
590                 - (remove_supplicant_interface_error_handler): remove the supplicant
591                         error idle callback too
592                 - (supplicant_interface_release): rename from supplicant_interface_clean
593                         to match nm-device-wifi.c; clean up supplicant interface-related
594                         state tasks when the supplicant interface is disposed of
595                 - (schedule_state_handler): add scheduled tasks to a list so they can
596                         be cleaned up later
597                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
598                    supplicant_iface_connection_state_cb_handler): use
599                         finish_supplicant_task() to clean up each completed task
600                 - (supplicant_iface_connection_error_cb_handler,
601                    supplicant_connection_timeout_cb): clear source id when the task is
602                         complete
603                 - (supplicant_iface_connection_error_cb): save scheduled task id for
604                         later cleanup
605                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
606                         tasks
607
608         * src/nm-device-wifi.c
609                 - (finish_supplicant_task): clean up scheduled tasks and free memory
610                 - (remove_supplicant_interface_error_handler): remove the supplicant
611                         error idle callback too
612                 - (supplicant_interface_release): clean up supplicant interface-related
613                         state tasks when the supplicant interface is disposed of
614                 - (schedule_state_handler): add scheduled tasks to a list so they can
615                         be cleaned up later
616                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
617                    supplicant_iface_connection_state_cb_handler): use
618                         finish_supplicant_task() to clean up each completed task
619                 - (supplicant_iface_connection_error_cb_handler): clear source id when
620                         the task is complete
621                 - (supplicant_iface_connection_error_cb): save scheduled task id for
622                         later cleanup
623                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
624
625 2008-09-24  Tambet Ingo  <tambet@gmail.com>
626
627         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
628         method and get/set hostname property.
629
630 2008-09-24  Tambet Ingo  <tambet@gmail.com>
631
632         * src/supplicant-manager/nm-supplicant-interface.c
633         (nm_supplicant_interface_disconnect): Don't increment the reference 
634         count when disconnecting. The problem is on shutdown, when the replies
635         to these commands do not arrive before NM exits, resulting on never
636         calling supplicant interface's dispose(), which removes the interface
637         from supplicant.
638
639 2008-09-24  Tambet Ingo  <tambet@gmail.com>
640
641         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
642         all the public function arguments.
643
644 2008-09-22  Tambet Ingo  <tambet@gmail.com>
645
646         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
647         "Failure" signal from VPN plugins, store the failure reason, and
648         use it when the state is changed to failure.
649
650         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
651         description.
652
653         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
654         reason to the end of the list to not break the API.
655         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
656         so it can be shared by plugins and daemon.
657
658 2008-09-18  Dan Williams  <dcbw@redhat.com>
659
660         Patch from Alexander Sack <asac@ubuntu.com>
661
662         * configure.in
663           system-settings/plugins/Makefile.am
664           system-settings/plugins/ifupdown/Makefile.am
665           system-settings/plugins/ifupdown/interface_parser.c
666           system-settings/plugins/ifupdown/interface_parser.h
667           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
668           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
669           system-settings/plugins/ifupdown/parser.c
670           system-settings/plugins/ifupdown/parser.h
671           system-settings/plugins/ifupdown/plugin.c
672           system-settings/plugins/ifupdown/plugin.h
673                 - Implement a Debian/Ubuntu legacy network configuration plugin
674                         (gnome.org #551941)
675
676 2008-09-18  Dan Williams  <dcbw@redhat.com>
677
678         Implement support for honoring configured and automatic hostnames, and for
679         setting the configured hostname.
680
681         * introspection/nm-ip4-config.xml
682           src/nm-ip4-config.c
683           src/nm-ip4-config.h
684           src/dhcp-manager/nm-dhcp-manager.c
685                 - Remove useless hostname property; it's not really part of the IPv4
686                         config
687
688         * introspection/nm-settings-system.xml
689           libnm-glib/nm-dbus-settings-system.c
690           libnm-glib/nm-dbus-settings-system.h
691                 - Add SetHostname() call to system settings D-Bus interface
692                 - Add Hostname property to system settings D-Bus interface
693                 - (nm_dbus_settings_system_save_hostname,
694                    nm_dbus_settings_system_get_hostname): implement
695
696         * src/nm-device.c
697           src/nm-device.h
698                 - (nm_device_get_dhcp4_config): implement
699
700         * src/nm-manager.c
701           src/nm-manager.h
702                 - Fetch and track system settings service hostname changes, and proxy
703                         the changes via a GObject property of the manager
704
705         * system-settings/src/nm-system-config-interface.c
706           system-settings/src/nm-system-config-interface.h
707                 - Replace nm_system_config_interface_supports_add() with a capabilities
708                         bitfield
709
710         * system-settings/src/nm-system-config-error.c
711           system-settings/src/nm-system-config-error.h
712                 - Add additional errors
713
714         * system-settings/src/dbus-settings.c
715           system-settings/src/dbus-settings.h
716                 - (get_property, nm_sysconfig_settings_class_init): add hostname
717                         property; first plugin returning a hostname wins
718                 - (impl_settings_add_connection): use plugin capabilities instead of
719                         nm_system_config_interface_supports_add()
720                 - (impl_settings_save_hostname): implement hostname saving
721
722         * src/NetworkManagerPolicy.c
723                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
724                    lookup_thread_die): implement an asynchronous hostname lookup thread
725                         which given an IPv4 address tries to look up the hostname for that
726                         address with reverse DNS
727                 - (get_best_device): split out best device code from
728                         update_routing_and_dns()
729                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
730                         to preserve the 127.0.0.1 reverse mapping that so many things require
731                 - (set_system_hostname): set a given hostname
732                 - (update_system_hostname): implement hostname policy; a configured
733                         hostname (from the system settings service) is used if available,
734                         otherwise an automatically determined hostname from DHCP, VPN, etc.
735                         If there was no automatically determined hostname, reverse DNS of
736                         the best device's IP address will be used, and as a last resort the
737                         hostname 'localhost.localdomain' is set.
738                 - (update_routing_and_dns): use get_best_device(); update the system
739                         hostname when the network config changes
740                 - (hostname_changed): update system hostname if the system settings
741                         service signals a hostname change
742                 - (nm_policy_new): list for system settings service hostname changes
743                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
744                         gets told to die
745
746         * system-settings/plugins/keyfile/plugin.c
747           system-settings/plugins/ifcfg-suse/plugin.c
748                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
749                         capabilities properties
750
751         * system-settings/plugins/ifcfg-fedora/shvar.c
752                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
753                         writes out /etc/sysconfig/network now
754
755         * system-settings/plugins/ifcfg-fedora/plugin.c
756                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
757                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
758                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
759                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
760                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
761                         hostname get/set and capabilities get
762
763 2008-09-18  Dan Williams  <dcbw@redhat.com>
764
765         * libnm-util/nm-setting-wireless.c
766                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
767                         group ciphers if the wireless-security setting explicitly specified
768                         them, effectively making the default be "all ciphers"  (idea from
769                         Alexander Sack)
770
771 2008-09-15  Dan Williams  <dcbw@redhat.com>
772
773         Patch from Alexander Sack <asac@ubuntu.com>
774
775         * src/named-manager/nm-named-manager.c
776                 - (dispatch_resolvconf): respect resolvconf exit code
777
778 2008-09-12  Tambet Ingo  <tambet@gmail.com>
779
780         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
781         again. Add some debugging.
782
783 2008-09-11  Dan Williams  <dcbw@redhat.com>
784
785         * system-settings/plugins/keyfile/plugin.c
786                 - (update_connection_settings): update connection manually, since
787                         nm_exported_connection_update() does authentication
788                 - (dir_changed): update_connection_settings() doesn't need to return
789                         an error
790
791 2008-09-09  Dan Williams  <dcbw@redhat.com>
792
793         * libnm-glib/nm-vpn-plugin-ui-interface.c
794           libnm-glib/nm-vpn-plugin-ui-interface.h
795           libnm-glib/libnm_glib_vpn.ver
796                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
797                         should clean up resources related to the connection (like keyring
798                         secrets)
799                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
800                         should save user-scope secrets (like to the keyring)
801
802 2008-09-08  Dan Williams  <dcbw@redhat.com>
803
804         Patch from Alexander Sack <asac@ubuntu.com>
805
806         * libnm-util/crypto_gnutls.c
807           libnm-util/crypto_nss.c
808                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
809
810         * libnm-util/nm-utils.c
811           libnm-util/nm-utils.h
812           libnm-util/libnm-util.ver
813                 - (nm_utils_init): initialize libnm-util
814                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
815
816         * libnm-util/nm-setting-8021x.c
817                 - (nm_setting_802_1x_class_init): init libnm-util when needed
818
819 2008-09-05  Dan Williams  <dcbw@redhat.com>
820
821         Patch from Roy Marples <roy@marples.name> and others
822
823         * configure.in
824           src/named-manager/nm-named-manager.c
825                 - Add support for resolvconf; use --with-resolvconf at configure time
826                         to enable it
827
828 2008-09-05  Dan Williams  <dcbw@redhat.com>
829
830         * libnm-util/crypto_nss.c
831           libnm-util/crypto_gnutls.c
832           libnm-util/crypto.h
833                 - (crypto_init): return error when init fails
834
835 2008-09-05  Dan Williams  <dcbw@redhat.com>
836
837         * libnm-glib/nm-device-wifi.c
838                 - (access_point_removed_proxy): clean up the active access point too
839                         just in case the active ap changed signal didn't come through yet
840                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
841
842 2008-09-05  Dan Williams  <dcbw@redhat.com>
843
844         * libnm-glib/nm-client.c
845                 - (constructor): get initial state after we know whether NM is running
846                         or not
847
848 2008-09-05  Dan Williams  <dcbw@redhat.com>
849
850         * libnm-glib/nm-ip4-config.c
851           libnm-glib/nm-dhcp4-config.c
852                 - (finalize): clean up the DBusGProxy
853
854 2008-09-04  Dan Williams  <dcbw@redhat.com>
855
856         * src/nm-ip4-config.c
857           src/nm-ip4-config.h
858                 - (nm_ip4_config_new): don't export over D-Bus here
859                 - (nm_ip4_config_export): new function; export the config over D-Bus
860                 - (nm_ip4_config_is_exported): new function
861
862         * src/nm-device.c
863                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
864                         objects by balancing the IP4Config constructor; the device holds
865                         a reference to the IP4Config already
866                 - (nm_device_set_ip4_config): export the IP4Config when needed
867
868 2008-09-04  Dan Williams  <dcbw@redhat.com>
869
870         * src/supplicant-manager/nm-supplicant-settings-verify.c
871                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
872
873 2008-09-04  Dan Williams  <dcbw@redhat.com>
874
875         * libnm-util/nm-setting-vpn.c
876           libnm-util/nm-setting-vpn.h
877                 - Split VPN secrets from VPN data so that settings services can actually
878                         figure out that they are secrets and store them accordingly
879
880         * system-settings/plugins/keyfile/nm-keyfile-connection.c
881           system-settings/plugins/keyfile/reader.c
882           system-settings/plugins/keyfile/reader.h
883           system-settings/plugins/keyfile/writer.c
884                 - Store VPN secrets separately from VPN data so that they can be fetched
885                         on demand
886                 - Implement the get_secrets() call so that (a) secrets don't leak out
887                         to unprivileged callers, and (b) secrets can be sent to privileged
888                         callers when needed
889
890         * vpn-daemons/vpnc/src/nm-vpnc-service.c
891                 - Handle split VPN secrets
892
893 2008-08-27  Dan Williams  <dcbw@redhat.com>
894
895         * system-settings/plugins/ifcfg-fedora/reader.c
896                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
897
898 2008-08-27  Dan Williams  <dcbw@redhat.com>
899
900         Ensure zombie children get cleaned up.  To get notifications when children
901         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
902         that requires calling waitpid() yourself if you've removed the child watch
903         handler before the process has actually died, which NM needs to do in a few
904         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
905         cleans up after the child when required.  Should fix problems trying to
906         activate mobile broadband connections after a previous failure.
907
908         * src/dhcp-manager/nm-dhcp-dhclient.c
909           src/dhcp-manager/nm-dhcp-dhcpcd.c
910                 - Use G_SPAWN_DO_NOT_REAP_CHILD
911
912         * src/dhcp-manager/nm-dhcp-manager.c
913                 - (nm_dhcp_device_destroy): ensure child is cleaned up
914                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
915                         block on child quitting, since the non-blocking functionality was
916                         never actually used
917
918         * src/dnsmasq-manager/nm-dnsmasq-manager.c
919                 - (dm_watch_cb): child is already reaped here
920                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
921
922         * src/nm-device.c
923                 - (aipd_cleanup): block until child is dead
924
925         * src/named-manager/nm-named-manager.c
926                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
927                         event bothering to watch the child
928
929         * src/ppp-manager/nm-ppp-manager.c
930                 - (ppp_watch_cb): child is already reaped here
931                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
932
933         * src/vpn-manager/nm-vpn-service.c
934                 - (vpn_service_watch_cb): child is already reaped here
935                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
936                         status of the child is actually tracked
937                 - (ensure_killed, finalize): block until child is dead
938
939 2008-08-26  Dan Williams  <dcbw@redhat.com>
940
941         * system-settings/plugins/keyfile/nm-keyfile-connection.c
942                 - (update): Update filename of the connection if the connection id
943                         was changed
944
945         * system-settings/plugins/keyfile/plugin.c
946                 - (dir_changed): first pass at handling connection renames correctly
947
948         * system-settings/plugins/keyfile/writer.c
949           system-settings/plugins/keyfile/writer.h
950                 - (write_connection): replace '/' with '*' when writing out the filename
951                         from the connection id
952
953 2008-08-26  Dan Williams  <dcbw@redhat.com>
954
955         Add connection UUIDs, since connection names can be changed, and since
956         old-style connection IDs could change over the life of the connection.  The
957         UUID should be assigned at connection creation time, be stable for a given
958         connection, and should be unique among all connections for a given settings
959         service.
960
961         * configure.in
962           libnm-util/Makefile.am
963                 - Require libuuid
964
965         * introspection/nm-exported-connection.xml
966                 - Remove "GetID" method
967
968         * libnm-glib/nm-dbus-connection.c
969           libnm-glib/nm-settings.c
970           libnm-glib/nm-settings.h
971                 - Remove id-related stuff
972
973         * libnm-util/nm-utils.c
974           libnm-util/nm-utils.h
975           libnm-util/libnm-util.ver
976                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
977                         utility functions to generate UUIDs
978
979         * libnm-util/nm-setting-connection.c
980           libnm-util/nm-setting-connection.h
981                 - Add 'uuid' member to the connection setting
982                 - (verify): require valid 'uuid' for a valid connection
983
984         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
985           system-settings/plugins/ifcfg-fedora/reader.c
986           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
987           system-settings/plugins/ifcfg-suse/parser.c
988           system-settings/plugins/keyfile/nm-keyfile-connection.c
989           system-settings/src/main.c
990                 - Remove id-related stuff
991                 - Give connections UUIDs where needed
992
993 2008-08-25  Dan Williams  <dcbw@redhat.com>
994
995         * libnm-util/crypto_gnutls.c
996           libnm-util/crypto_nss.c
997                 - (crypto_init, crypto_deinit): refcount init/deinit
998                 - (crypto_md5_hash): allow NULL salt
999
1000 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
1001
1002         * libnm-glib/Makefile.am
1003           libnm-util/Makefile.am
1004           libnm-glib/libnm_glib.ver
1005           libnm-glib/libnm_glib_vpn.ver
1006           libnm-util/libnm-util.ver
1007                 - Use linker version scripts to control the list of exported 
1008                 symbols. List each exported symbol explicitely.
1009         * libnm-util/Makefile.am
1010                 - Fix compilation of the test-crypto binary. The crypto
1011                 functions are no longer part of the libnm-util API. Add 
1012                 crypto_*.c to test_crypto_SOURCES and link against the correct
1013                 crypto libraries.
1014
1015 2008-08-19  Dan Williams  <dcbw@redhat.com>
1016
1017         * configure.in
1018           test/Makefile.am
1019                 - Don't build test/test-common
1020                 - Remove unused stuff
1021
1022         * test/nm-set-fallback
1023           test/nmtestdevices.c
1024           test/test-common/.cvsignore
1025           test/test-common/Makefile.am
1026           test/test-common/test-common.c
1027           test/test-common/test-common.h
1028                 - delete
1029
1030 2008-08-18  Dan Williams  <dcbw@redhat.com>
1031
1032         * libnm-util/nm-utils.c
1033           libnm-util/nm-utils.h
1034                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1035                         export anything that needs to be converted with this function
1036
1037         * src/dhcp-manager/nm-dhcp-manager.c
1038                 - (garray_to_string): convert a byte array to a UTF-8 string with
1039                         minimal validation; the DHCP client sends it in ASCII anyway
1040                 - (get_option, copy_option): use garray_to_string()
1041
1042 2008-08-18  Dan Williams  <dcbw@redhat.com>
1043
1044         * include/NetworkManager.h
1045           introspection/nm-device.xml
1046                 - Add a "missing firmware" device state reason
1047
1048         * src/NetworkManagerSystem.c
1049           src/NetworkManagerSystem.h
1050                 - (nm_system_device_set_up_down): add a no_firmware argument
1051                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1052                         IFF_UP is ENOENT, that almost always means missing firmware
1053
1054         * src/backends/NetworkManagerGeneric.c
1055           src/nm-device-ethernet.c
1056           src/nm-device-private.h
1057           src/nm-device-wifi.c
1058           src/nm-device.c
1059           src/nm-device.h
1060           src/nm-hso-gsm-device.c
1061           src/vpn-manager/nm-vpn-connection.c
1062                 - Pass no_firmware along; check it where appropriate
1063
1064 2008-08-18  Dan Williams  <dcbw@redhat.com>
1065
1066         Patch from Robert Buchholz <rbu@gentoo.org>
1067
1068         * autogen.sh
1069           configure.in
1070                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1071                         1003.1-1988, allowing for file names longer than 99 characters
1072
1073 2008-08-17  Dan Williams  <dcbw@redhat.com>
1074
1075         * include/NetworkManager.h
1076           introspection/nm-device.xml
1077           src/nm-gsm-device.c
1078                 - Finer-grained GSM registration failure error codes
1079
1080 2008-08-17  Dan Williams  <dcbw@redhat.com>
1081
1082         * callouts/Makefile.am
1083           src/Makefile.am
1084                 - Move dispatcher directory creation to callouts/Makefile.am
1085
1086         * system-settings/plugins/keyfile/Makefile.am
1087                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1088
1089 2008-08-15  Dan Williams  <dcbw@redhat.com>
1090
1091         Do connection sharing in a cleaner manner; all required iptables rules
1092         are now stored in the activation request and pertain only to the device
1093         which is being shared to other computers. (rh #458625)
1094
1095         * src/nm-activation-request.c
1096           src/nm-activation-request.h
1097                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1098                         the activation request which will get torn down automatically when
1099                         the activation request dies
1100                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1101                         is started, and tear them down when sharing is stopped
1102
1103         * src/nm-device.c
1104                 - (start_sharing): start up sharing by doing the required iptables magic
1105                 - (share_init): poke the right bits of the kernel and load the right
1106                         modules for NAT
1107                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1108                         connection if it's a 'shared' connection
1109
1110         * src/NetworkManagerPolicy.c
1111                 - Remove all sharing stuff; done in the device code itself
1112
1113 2008-08-15  Dan Williams  <dcbw@redhat.com>
1114
1115         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1116                 - (create_dm_cmd_line): send the right router address
1117
1118 2008-08-15  Dan Williams  <dcbw@redhat.com>
1119
1120         * src/ppp-manager/nm-ppp-manager.c
1121                 - (pppd_timed_out): ensure timeouts fail the connection
1122
1123 2008-08-14  Dan Williams  <dcbw@redhat.com>
1124
1125         * src/nm-properties-changed-signal.c
1126           src/nm-properties-changed-signal.h
1127                 - Add a property spec flag for "don't export this property" in
1128                         property changed signals
1129
1130         * src/nm-hso-gsm-device.c
1131           src/nm-gsm-device.c
1132           src/nm-cdma-device.c
1133                 - Don't export monitor interface or netdev interface properties
1134
1135 2008-08-14  Dan Williams  <dcbw@redhat.com>
1136
1137         * src/NetworkManagerPolicy.c
1138                 - (update_routing_and_dns): 'hso' devices can be default even if they
1139                         don't have a gateway
1140
1141 2008-08-14  Dan Williams  <dcbw@redhat.com>
1142
1143         * src/nm-device.c
1144                 - (nm_device_deactivate_quickly): tear down activation request after
1145                         calling device-specific deactivation
1146
1147         * src/nm-hso-gsm-device.c
1148                 - (real_deactivate_quickly): terminate connection when deactivating
1149
1150 2008-08-14  Dan Williams  <dcbw@redhat.com>
1151
1152         * src/nm-activation-request.h
1153                 - Add HSO secrets caller
1154
1155         * src/nm-gsm-device.c
1156           src/nm-gsm-device.h
1157                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1158                         something to the callback function
1159                 - (set_apn, set_apn_done): call class dial function, not a static one
1160                 - (nm_gsm_device_class_init): add a class 'dial' function
1161
1162         * src/nm-hal-manager.c
1163                 - (get_hso_netdev): find the hso-driven hardware's net device
1164                 - (modem_device_creator): recognize hso-driven hardware and create the
1165                         right type of device object for it
1166
1167         * src/Makefile.am
1168           src/nm-hso-gsm-device.c
1169           src/nm-hso-gsm-device.h
1170                 - Implement support for devices driven by the 'hso' driver as a subclass
1171                         of NMGsmDevice
1172
1173 2008-08-14  Dan Williams  <dcbw@redhat.com>
1174
1175         * src/NetworkManagerSystem.c
1176                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1177                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1178                         success if the operation really was successful
1179
1180 2008-08-14  Dan Williams  <dcbw@redhat.com>
1181
1182         * src/nm-netlink-monitor.c
1183           src/nm-netlink-monitor.h
1184           src/nm-device-ethernet.c
1185                 - (nm_netlink_monitor_request_status): return an error on failure
1186                 - (constructor): don't segfault on missing error
1187
1188 2008-08-13  Dan Williams  <dcbw@redhat.com>
1189
1190         * callouts/nm-dispatcher-action.c
1191                 - Add IP4 config info to script environment
1192
1193 2008-08-12  Dan Williams  <dcbw@redhat.com>
1194
1195         * src/nm-device.c
1196                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1197                         that want to use DHCP hostnames should use dispatcher scripts
1198                         for that
1199
1200         * src/NetworkManagerSystem.h
1201           src/backends/NetworkManagerArch.c
1202           src/backends/NetworkManagerDebian.c
1203           src/backends/NetworkManagerFrugalware.c
1204           src/backends/NetworkManagerGeneric.c
1205           src/backends/NetworkManagerGeneric.h
1206           src/backends/NetworkManagerGentoo.c
1207           src/backends/NetworkManagerMandriva.c
1208           src/backends/NetworkManagerPaldo.c
1209           src/backends/NetworkManagerRedHat.c
1210           src/backends/NetworkManagerSlackware.c
1211           src/backends/NetworkManagerSuSE.c
1212                 - Remove nm_system_set_hostname(), no longer used
1213           
1214         * src/backends/Makefile.am
1215           src/backends/shvar.c
1216           src/backends/shvar.h
1217                 - Remove shvar.*; no longer used
1218
1219 2008-08-12  Dan Williams  <dcbw@redhat.com>
1220
1221         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1222         hostname is updated at runtime.  Distros or users who want hostname updates
1223         can use dispatcher scripts to update the hostname if they need it.
1224
1225 2008-08-12  Dan Williams  <dcbw@redhat.com>
1226
1227         * introspection/nm-settings-system.xml
1228           system-settings/src/dbus-settings.c
1229           system-settings/src/dbus-settings.h
1230                 - Add a 'Hostname' property (rw) which represents the configured
1231                         hostname and domain of the system, if any
1232
1233         * system-settings/src/nm-system-config-error.c
1234           system-settings/src/nm-system-config-error.h
1235           system-settings/src/nm-system-config-interface.c
1236           system-settings/src/nm-system-config-interface.h
1237                 - Add a 'hostname' property to the plugin interface
1238                 - Add a method to send updated hostname to plugins to save in their
1239                         backing configuration store
1240
1241         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1242           system-settings/plugins/keyfile/plugin.c
1243           system-settings/plugins/keyfile/writer.c
1244           system-settings/plugins/keyfile/writer.h
1245           system-settings/plugins/ifcfg-suse/plugin.c
1246                 - Add minimal hostname support
1247
1248         * system-settings/plugins/ifcfg-fedora/plugin.c
1249                 - Add support for updating system hostname in /etc/sysconfig/network
1250
1251 2008-08-12  Dan Williams  <dcbw@redhat.com>
1252
1253         * system-settings/plugins/ifcfg-fedora/shvar.c
1254           system-settings/plugins/ifcfg-fedora/shvar.c
1255                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1256
1257 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1258
1259         * Makefile.am: Fix distcheck.
1260
1261 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1262
1263         * libnm-glib/*.c. Document some more.
1264
1265 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1266
1267         Start documenting libnm-glib public API using gtk-doc.
1268
1269         * libnm-glib/nm-serial-device.c: 
1270         * libnm-glib/nm-object.c: 
1271         * libnm-glib/nm-gsm-device.c: 
1272         * libnm-glib/nm-device.c: 
1273         * libnm-glib/nm-device-wifi.c: 
1274         * libnm-glib/nm-device-ethernet.c: 
1275         * libnm-glib/nm-client.c: 
1276         * libnm-glib/nm-cdma-device.c: Document the public API.
1277
1278         * docs/libnm-glib/libnm-glib.types: Implement.
1279
1280         * docs/libnm-glib/Makefile.am: Implement.
1281
1282         * autogen.sh: 
1283         * configure.in: 
1284         * Makefile.am: Add gtk-doc support.
1285
1286 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1287
1288         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1289
1290         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1291         the composite result of all the IP4 configurations and call a distro
1292         specific update_resolv_conf().
1293         (update_resolv_conf): Implement one for directly writing to 
1294         /etc/resolv.conf and one for opensuse to call netconfig.
1295
1296 2008-08-11  Dan Williams  <dcbw@redhat.com>
1297
1298         * src/ppp-manager/nm-ppp-manager.c
1299                 - (impl_ppp_manager_need_secrets): pass interface as required
1300
1301 2008-08-11  Dan Williams  <dcbw@redhat.com>
1302
1303         Merge the vpn-properties setting with the vpn setting since it was pointless
1304         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1305         of string:string (instead of string:variant) so that system settings plugins
1306         can have an easier time dealing with the arbitrary key/value pairs.
1307
1308 2008-08-11  Dan Williams  <dcbw@redhat.com>
1309
1310         * libnm-util/nm-utils.c
1311                 - (nm_utils_register_value_transformations): add value transform for
1312                         a hash table of string:string
1313
1314 2008-08-10  Dan Williams  <dcbw@redhat.com>
1315
1316         * libnm-glib/nm-vpn-plugin.c
1317                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1318                         an idle handler so the Connect reply gets delivered before the
1319                         stop StateChanged signal
1320
1321 2008-08-10  Dan Williams  <dcbw@redhat.com>
1322
1323         * src/nm-ip4-config.c
1324                 - (get_property): use common ip4 address/route conversion functions
1325                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1326                         copy the new route here, not take ownership
1327
1328 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1329
1330         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1331         Update the IP4 setting's method name.
1332
1333 2008-08-07  Dan Williams  <dcbw@redhat.com>
1334
1335         * introspection/nm-ip4-config.xml
1336           libnm-glib/libnm-glib-test.c
1337           libnm-glib/nm-ip4-config.c
1338           libnm-glib/nm-ip4-config.h
1339           src/NetworkManagerSystem.h
1340           src/backends/NetworkManagerArch.c
1341           src/backends/NetworkManagerDebian.c
1342           src/backends/NetworkManagerFrugalware.c
1343           src/backends/NetworkManagerGeneric.c
1344           src/backends/NetworkManagerGeneric.h
1345           src/backends/NetworkManagerGentoo.c
1346           src/backends/NetworkManagerMandriva.c
1347           src/backends/NetworkManagerPaldo.c
1348           src/backends/NetworkManagerRedHat.c
1349           src/backends/NetworkManagerSlackware.c
1350           src/backends/NetworkManagerSuSE.c
1351           src/dhcp-manager/nm-dhcp-manager.c
1352           src/nm-device.c
1353           src/nm-ip4-config.c
1354           src/nm-ip4-config.h
1355                 - Remove NIS logic; should be done from dispatcher scripts instead
1356
1357 2008-08-07  Dan Williams  <dcbw@redhat.com>
1358
1359         * src/dhcp-manager/nm-dhcp-manager.c
1360                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1361                         mis-handling of DHCP responses that returned more than one router
1362                         (found by Grant Williamson)
1363
1364 2008-08-07  Dan Williams  <dcbw@redhat.com>
1365
1366         * callouts/nm-dispatcher-action.c
1367                 - (nm_dispatcher_action): grab device path and create the device; pass
1368                         the device's DHCP4 config to script caller
1369                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1370                         scripts
1371
1372         * libnm-glib/nm-dhcp4-config.c
1373           libnm-glib/nm-dhcp4-config.h
1374                 - (nm_dhcp4_config_get_options): expose
1375                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1376
1377 2008-08-07  Dan Williams  <dcbw@redhat.com>
1378
1379         * include/NetworkManager.h
1380                 - Add the DHCP4Config D-Bus interface
1381
1382         * libnm-glib/Makefile.am
1383           libnm-glib/nm-dhcp4-config.c
1384           libnm-glib/nm-dhcp4-config.h
1385                 - Handle DHCP4 config objects exported by NM over D-Bus
1386
1387         * libnm-glib/nm-device.c
1388           libnm-glib/nm-device.h
1389                 - Add a 'dhcp4-config' property
1390
1391         * libnm-glib/libnm-glib-test.c
1392                 - Print out DHCP4 config for devices
1393                 - Fix some crashes when no connections are active
1394
1395         * src/nm-device-interface.c
1396           src/nm-device.c
1397           src/nm-dhcp4-config.c
1398           src/nm-dhcp4-config.h
1399                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1400                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1401                         doesn't let us do when the property type is G_TYPE_OBJECT
1402
1403 2008-08-07  Dan Williams  <dcbw@redhat.com>
1404
1405         * src/NetworkManager.c
1406           src/NetworkManagerSystem.h
1407           src/backends/NetworkManagerArch.c
1408           src/backends/NetworkManagerDebian.c
1409           src/backends/NetworkManagerFrugalware.c
1410           src/backends/NetworkManagerGeneric.c
1411           src/backends/NetworkManagerGeneric.h
1412           src/backends/NetworkManagerGentoo.c
1413           src/backends/NetworkManagerMandriva.c
1414           src/backends/NetworkManagerPaldo.c
1415           src/backends/NetworkManagerRedHat.c
1416           src/backends/NetworkManagerSlackware.c
1417           src/backends/NetworkManagerSuSE.c
1418                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1419
1420 2008-08-06  Dan Williams  <dcbw@redhat.com>
1421
1422         * libnm-glib/nm-ip4-config.c
1423           libnm-glib/nm-ip4-config.h
1424                 - Add 'routes' property
1425
1426         * libnm-util/nm-setting-vpn.c
1427           libnm-util/nm-setting-vpn.h
1428                 - Remove 'routes' property
1429
1430         * libnm-util/nm-setting-ip4-config.c
1431           libnm-util/nm-setting-ip4-config.h
1432                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1433                 - Add 'ignore-auto-routes' property
1434                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1435                         accomodate route metrics
1436                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1437
1438         * libnm-util/nm-utils.c
1439           libnm-util/nm-utils.h
1440                 - Add helpers for marshalling IP4 routes
1441
1442         * src/NetworkManagerUtils.c
1443                 - (nm_utils_merge_ip4_config): handle property renames and new route
1444                         structure
1445
1446         * src/NetworkManagerSystem.c
1447                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1448                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1449
1450         * src/dhcp-manager/nm-dhcp-manager.c
1451                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1452
1453         * system-settings/plugins/ifcfg-fedora/reader.c
1454           system-settings/plugins/ifcfg-fedora/writer.c
1455                 - Handle routes separately from addresses now that routes have a different
1456                         format
1457
1458         * introspection/nm-ip4-config.xml
1459           src/nm-ip4-config.c
1460           src/nm-ip4-config.h
1461                 - Rename internal routing functions
1462                 - 'static-routes' renamed to 'routes'
1463
1464 2008-08-04  Dan Williams  <dcbw@redhat.com>
1465
1466         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1467
1468         * src/NetworkManager.c
1469           src/nm-manager.c
1470           src/nm-manager.h
1471                 - More explicitly make the NMManager a singleton
1472
1473 2008-08-04  Dan Williams  <dcbw@redhat.com>
1474
1475         * libnm-util/nm-connection.c
1476           libnm-util/nm-connection.h
1477                 - (nm_connection_verify): return error on missing 'connection' setting
1478                         (found by Sjoerd Simons)
1479
1480 2008-08-04  Dan Williams  <dcbw@redhat.com>
1481
1482         Handle multiple concurrent PPP connections.
1483
1484         * src/ppp-manager/nm-ppp-manager.c
1485           src/ppp-manager/nm-ppp-manager.h
1486                 - (constructor): only PPP Manager request bus name once; each
1487                         NMPPPManager object gets a unique object path
1488                 - (nm_ppp_manager_class_init, get_property, set_property,
1489                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1490                         at construct time
1491                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1492                         remove timeout until PPP manager gets an IP4 config
1493                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1494                         the plugin can call back to this specific PPP manager instance
1495
1496         * src/nm-device-ethernet.c
1497           src/nm-serial-device.c
1498                 - Pass parent device in nm_ppp_manager_new()
1499
1500         * src/nm-gsm-device.c
1501           src/nm-cdma-device.c
1502                 - (device_state_changed): don't close serial device on NEED_AUTH
1503                         state changed, that's not a failure case like the rest are
1504
1505         * src/ppp-manager/nm-pppd-plugin.c
1506                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1507                         binds one interface to any pppd process, thus the correct index
1508                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1509                         problems; try harder to get a peer address in spite of pppd
1510                 - (plugin_init): use 'ipparam' as the object path back to our specific
1511                         PPP manager instance
1512
1513 2008-08-04  Dan Williams  <dcbw@redhat.com>
1514
1515         * src/ppp-manager/nm-ppp-manager.c
1516                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1517                         since the GSM and CDMA settings now implement need_secrets, we can
1518                         rely on them to do the right thing.  Where secrets are not required,
1519                         just pass empty strings back to the pppd plugin.
1520                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1521                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1522                         on successful IP4 config receipt
1523
1524 2008-08-04  Dan Williams  <dcbw@redhat.com>
1525
1526         * libnm-util/nm-setting-cdma.c
1527           libnm-util/nm-setting-gsm.c
1528                 - (verify): validate username & password if they exist
1529                 - (need_secrets): if username given, require a password too
1530
1531 2008-08-04  Dan Williams  <dcbw@redhat.com>
1532
1533         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1534                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1535                         manpage says about --listen-address without --interface
1536                         (bgo #546033)
1537
1538 2008-08-01  Dan Williams  <dcbw@redhat.com>
1539
1540         * libnm-glib/nm-device.c
1541                 - (proxy_get_string): util function for querying a HAL property
1542                 - (get_ancestor_device): split out from get_product_and_vendor()
1543                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1544                         from PCI devices by querying subsys properties
1545                 - (nm_device_update_description): simplify
1546
1547 2008-08-01  Dan Williams  <dcbw@redhat.com>
1548
1549         * libnm-util/nm-setting-ip4-config.c
1550           libnm-util/nm-setting-ip4-config.h
1551                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1552                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1553                         settings, and they don't necessarily use DHCP.
1554
1555         * src/NetworkManagerPolicy.c
1556           src/nm-device.c
1557           system-settings/plugins/ifcfg-fedora/reader.c
1558           system-settings/plugins/ifcfg-suse/parser.c
1559                 - Fixup for method changes
1560
1561 2008-07-31  Dan Williams  <dcbw@redhat.com>
1562
1563         * src/nm-activation-request.c
1564           src/vpn-manager/nm-vpn-connection.c
1565                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1566                         itself should be attached to the activation request or the VPN
1567                         connection, not the NMConnection object, since the call is not
1568                         expected to live as long as the NMConnection itself
1569
1570 2008-07-31  Dan Williams  <dcbw@redhat.com>
1571
1572         * src/nm-device-wifi.c
1573                 - (real_act_stage2_config): fix issue where association would continue
1574                         even though secrets were needed; 'goto out' was in wrong scope and
1575                         result of handle_auth_or_fail() should have been dumped directly to
1576                         'ret' to ensure that the association was postponed until secrets
1577                         are available
1578
1579 2008-07-31  Dan Williams  <dcbw@redhat.com>
1580
1581         * system-settings/plugins/ifcfg-fedora/plugin.c
1582           system-settings/plugins/ifcfg-fedora/reader.c
1583                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1584                         valid NM connection
1585
1586 2008-07-29  Dan Williams  <dcbw@redhat.com>
1587
1588         * src/nm-gsm-device.c
1589                 - (automatic_registration_response, automatic_registration): recognize
1590                         denied registration and reorder responses
1591
1592 2008-07-29  Dan Williams  <dcbw@redhat.com>
1593
1594         * src/nm-serial-device.c
1595                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1596                         time(2) is used for current time, which returns seconds, we shouldn't
1597                         be multiplying by 1000.
1598
1599 2008-07-28  Dan Williams  <dcbw@redhat.com>
1600
1601         Patch from Fabrice Bellet <fabrice@bellet.info>
1602
1603         * src/NetworkManagerSystem.c
1604                 - (route_in_same_subnet): mask addresses and compare them so that the
1605                         function actually does what it says it's going to do (rh #456685)
1606
1607 2008-07-27  Dan Williams  <dcbw@redhat.com>
1608
1609         * libnm-util/nm-setting-ip6-config.c
1610                 - (set_property): add missing break that caused routes to be overwritten
1611                         with addresses
1612
1613         * libnm-util/nm-setting-ip6-config.c
1614                 - (verify): validate routes and return GError everywhere on invalid setting
1615                 - (finalize): don't leak routes
1616                 - (set_property): add missing break that caused routes to be overwritten
1617                         with addresses
1618
1619 2008-07-27  Dan Williams  <dcbw@redhat.com>
1620
1621         * libnm-util/*
1622                 - Relicense to LGPLv2+
1623
1624 2008-07-27  Dan Williams  <dcbw@redhat.com>
1625
1626         * system-settings/plugins/ifcfg-fedora/reader.c
1627                 - (make_ip4_setting): fix parsing automatic configs
1628
1629 2008-07-27  Dan Williams  <dcbw@redhat.com>
1630
1631         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1632           src/nm-device.c
1633           src/ppp-manager/nm-ppp-manager.c
1634                 - Ensure child process gets reaped.  The child watch function may be
1635                         removed from the mainloop before the child gets killed, so we have
1636                         to make sure the child is reaped when it's told to die intentionally
1637
1638 2008-07-27  Dan Williams  <dcbw@redhat.com>
1639
1640         Patch from Roy Marples <roy@marples.name>
1641
1642         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1643                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1644
1645 2008-07-27  Dan Williams  <dcbw@redhat.com>
1646
1647         * src/nm-gsm-device.c
1648                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1649                         Huawei devices turn echo back on after CPIN (rh #456770)
1650
1651 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1652
1653         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1654         format argument to g_set_error() call.
1655
1656         * src/backends/interface_parser.[ch]: Remove.
1657
1658         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1659
1660 2008-07-21  Dan Williams  <dcbw@redhat.com>
1661
1662         * src/ppp-manager/nm-ppp-manager.c
1663                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1664                         to prevent pppd from picking up some random local address from an
1665                         interface that doesn't have anything to do with the one we're
1666                         interested in (rh #455348)
1667
1668 2008-07-17  Dan Williams  <dcbw@redhat.com>
1669
1670         * libnm-util/nm-utils.c
1671                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1672                         by locale
1673                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1674                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1675
1676 2008-07-17  Dan Williams  <dcbw@redhat.com>
1677
1678         * introspection/Makefile.am
1679           introspection/nm-device.xml
1680           introspection/nm-dhcp4-config.xml
1681                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1682                         itself
1683         * src/nm-device-interface.c
1684           src/nm-device-interface.h
1685                 - Add the DHCP4Config property
1686
1687         * src/nm-device.c
1688                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1689                         D-Bus clients when it changes
1690
1691         * src/nm-dhcp4-config.c
1692           src/nm-dhcp4-config.h
1693                 - Simple object to store DHCP4 options, export them over D-Bus, and
1694                         notify when they change
1695
1696         * src/dhcp-manager/nm-dhcp-manager.c
1697           src/dhcp-manager/nm-dhcp-manager.h
1698                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1699                         filter server-returned DHCP options into an NMDHCP4Config object
1700
1701 2008-07-16  Dan Williams  <dcbw@redhat.com>
1702
1703         * introspection/nm-device.xml
1704                 - Add device state reasons
1705
1706 2008-07-16  Dan Williams  <dcbw@redhat.com>
1707
1708         Patch from Roy Marples <roy@marples.name>
1709
1710         * configure.in
1711                 - Add --with-dhcp-client option
1712
1713         * src/dhcp-manager/Makefile.am
1714                 - pass DHCP_CLIENT_PATH on compile line
1715
1716         * src/dhcp-manager/nm-dhcp-manager.c
1717           src/dhcp-manager/nm-dhcp-manager.h
1718                 - Genericize for both dhcpcd and dhclient
1719
1720         * src/dhcp-manager/nm-dhcp-dhclient.c
1721                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1722
1723         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1724                 - Implement support for dhcpcd too
1725
1726 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1727
1728         * system-settings/src/nm-system-config-interface.c 
1729         (nm_system_config_interface_supports_add): Implement.
1730         (nm_system_config_interface_add_connection): Return a boolean to notify
1731         of errors.
1732
1733         * system-settings/src/nm-polkit-helpers.c: 
1734         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1735         a separate file.
1736
1737         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1738         Return an error when none of the plugins support add or if addition
1739         failed for some reason.
1740
1741         * system-settings/src/nm-system-config-error.h: 
1742         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1743         here from nm-polkit-helpers.[ch].
1744
1745         * system-settings/src/Makefile.am: Build new files.
1746
1747         * system-settings/plugins/keyfile/reader.c 
1748         (read_array_of_array_of_uint): Make it more general so that it would
1749         work for routes as well.
1750
1751         * system-settings/plugins/keyfile/writer.c
1752         (write_array_of_array_of_uint): Ditto.
1753         Fix the netmask/prefix writing.
1754
1755         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1756         boolean to notify errors.
1757
1758         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1759         Return more specific error.
1760         (delete): Ditto.
1761
1762 2008-07-11  Dan Williams  <dcbw@redhat.com>
1763
1764         Modify the NMDevice::state-changed signal to include the previous state
1765         and reason. Enables the applet to provide more information why device
1766         activation failed.
1767
1768 2008-07-09  Dan Williams  <dcbw@redhat.com>
1769
1770         * callouts/Makefile.am
1771           callouts/nm-avahi-autoipd-action.c
1772           callouts/nm-avahi-autoipd.conf
1773                 - avahi-autoipd callout to send options back to NM
1774
1775         * src/autoip.c
1776           src/autoip.h
1777                 - remove
1778
1779         * src/nm-device.c
1780           src/nm-device-private.h
1781           src/nm-manager.c
1782                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1783                         old custom stuff
1784
1785 2008-07-07  Dan Williams  <dcbw@redhat.com>
1786
1787         * system-settings/plugins/ifcfg-fedora/reader.c
1788                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1789                         handle PREFIX too; clean up
1790
1791 2008-07-07  Dan Williams  <dcbw@redhat.com>
1792
1793         Convert to using IPv4 prefixes instead of netmasks.
1794
1795 2008-07-03  Dan Williams  <dcbw@redhat.com>
1796
1797         * libnm-util/nm-setting-ip4-config.c
1798           libnm-util/nm-setting-ip4-config.h
1799                 - Add properties for DHCP Client Identifier and DHCP Hostname
1800
1801         * src/dhcp-manager/nm-dhcp-manager.c
1802           src/dhcp-manager/nm-dhcp-manager.h
1803                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1804                         setting as an argument to pass on to the dhclient config file
1805                         creation function
1806                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1807                         DHCP is torn down
1808                 - (dhclient_run): punt config file handling to create_dhclient_config()
1809                 - (create_dhclient_config): create an interface-specific dhclient
1810                         config file since there may need to be interface-specific options
1811                         passed to dhclient
1812                 - (merge_dhclient_config): merge normal distro dhclient config file and
1813                         add options from the connection
1814                 - (nm_dhcp_device_new): generate the interface specific dhclient
1815                         config file path once
1816                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1817                         dhclient config file path
1818
1819         * src/nm-device.c
1820                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1821                         DHCP manager when starting DHCP
1822
1823 2008-07-02  Dan Williams  <dcbw@redhat.com>
1824
1825         * libnm-util/nm-setting-8021x.c
1826                 - (verify): allow forcing the PEAP label to 0
1827
1828 2008-07-02  Dan Williams  <dcbw@redhat.com>
1829
1830         * introspection/nm-active-connection.xml
1831           introspection/nm-vpn-connection.xml
1832           libnm-glib/nm-active-connection.c
1833           src/nm-activation-request.c
1834           src/nm-active-connection.h
1835           src/vpn-manager/nm-vpn-connection.c
1836                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1837                         and libnm-glib API since sharing didn't get implemented that way
1838
1839 2008-07-02  Dan Williams  <dcbw@redhat.com>
1840
1841         * src/nm-device-wifi.c
1842                 - (can_scan): don't scan when a shared connection is activated since
1843                         that makes drivers mad (causing disconnects); also NM doesn't need
1844                         to hedge against disconnects by keeping up-to-date network topology
1845                         because the connection originates from the local machine, and thus
1846                         there should be no disconnects
1847
1848 2008-07-01  Dan Williams  <dcbw@redhat.com>
1849
1850         Fix mobile broadband username/password issues.  NM was never requesting
1851         mobile broadband secrets, nor was it passing back the username and password
1852         if it had them.
1853
1854         * marshallers/nm-marshal.list
1855                 - Add some new types for activation request objects
1856
1857         * src/nm-activation-request.c
1858           src/nm-activation-request.h
1859                 - (get_secrets_cb): pass the caller type in the signal
1860                 - (nm_act_request_request_connection_secrets): take a caller type, so
1861                         that GetSecrets() reply handlers know who asked for the secrets in
1862                         the first place; use secret hints too so the settings service can
1863                         figure out exactly what NM wants (ie, PIN or the PPP password)
1864
1865         * src/ppp-manager/nm-ppp-manager.c
1866           src/ppp-manager/nm-ppp-manager.h
1867                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1868                         detect needed secrets when the secret could be blank, like GSM/CDMA
1869                         passwords.  So always ask for secrets, and send a hint as to what
1870                         secret we really want.
1871                 - (nm_ppp_manager_update_secrets): make function more generic by making
1872                         the device specific class figure out the username and password, and
1873                         accept an error argument to return back over D-Bus
1874
1875         * src/nm-device-wifi.c
1876                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1877                         nm_act_request_request_connection_secrets()
1878                 - (real_connection_secrets_updated): update for 'caller' changes
1879
1880         * src/nm-device.c
1881           src/nm-device.h
1882                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1883                         for 'caller' changes
1884
1885         * src/nm-device-ethernet.c
1886                 - (real_connection_secrets_updated): update for 'caller' changes and
1887                         move logic for getting PPPoE username and password here before
1888                         calling nm_ppp_manager_update_secrets()
1889                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1890                         nm_act_request_request_connection_secrets()
1891
1892         * src/nm-cdma-device.c
1893                 - (real_connection_secrets_updated): pass username and password back
1894                         to the PPP manager when required
1895
1896         * src/nm-gsm-device.c
1897                 - (enter_pin): send the required secret name to the settings service
1898                 - (real_connection_secrets_updated): pass username and password back
1899                         to the PPP manager when required
1900
1901 2008-06-30  Dan Williams  <dcbw@redhat.com>
1902
1903         * src/nm-device-wifi.c
1904                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1905
1906 2008-06-30  Dan Williams  <dcbw@redhat.com>
1907
1908         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1909         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1910         priv->supplicant.iface.  When either condition is false, the device should
1911         transition back to UNAVAILABLE because it cannot be used.
1912
1913         * src/nm-device-wifi.c
1914                 - (constructor): cleanup; connect to supplicant manager here since the
1915                         supplicant manager is always around
1916                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1917                         ensure the supplicant manager is in the IDLE state
1918                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1919                         cancel any pending scans too
1920                 - (real_bring_up): don't set up the supplicnat interface here, because
1921                         we need the supplicant interface at times when the device may not
1922                         be "up"
1923                 - (real_take_down): just remove the periodic source
1924                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1925                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1926                         do anything if there's no supplicant interface
1927                 - (cleanup_association_attempt): cleanup
1928                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1929                         the interface enters the READY state; transition to UNAVAILABLE
1930                         state when the interface goes down because the device can't be used
1931                         without a supplicant interface
1932                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1933                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1934                         acquire the supplicant interface and transition to DISCONNECTED
1935                         if the radio isn't killed
1936                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1937                 - (state_changed_cb): release any existing supplicant interface; if the
1938                         radio is enabled then try to acquire a new supplicant interface;
1939                         if the radio is enabled and a supplicant interface has been acquired,
1940                         we can transition to DISCONNECTED
1941                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1942                         don't enable the radio, because HAL probably lied to us about the
1943                         killswitch being off.  If bringing the hardware up worked, then
1944                         try to grab a supplicant interface, and if that was successful,
1945                         transition to DISCONNECTED
1946
1947 2008-06-30  Dan Williams  <dcbw@redhat.com>
1948
1949         * src/supplicant-manager/nm-supplicant-interface.c
1950                 - (request_scan_results, nm_supplicant_interface_dispose,
1951                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1952                         the id of the timeout, not a GSource
1953
1954 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1955
1956         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1957         bunch of typoes introduced by "Patch from David Cantrell 
1958         <dcantrell@redhat.com> and me".
1959
1960 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1961
1962         * src/nm-serial-device.c: 
1963         * src/nm-gsm-device.c: 
1964         * src/nm-cdma-device.c: Move the pending call handling to a common location
1965         in serial device. Handle setting device state to failed in one place as well.
1966
1967 2008-06-29  Dan Williams <dcbw@redhat.com>
1968
1969         * src/nm-hal-manager.c
1970                 - Rework killswitch handling to query killswitch status immediately
1971                         when the first killswitch is added, so that rfkill state is
1972                         known as early as possible
1973                 - Also treat failure of GetPower() as rfkill when the dbus method
1974                         call times out (but not when the HAL callout returns an error)
1975
1976 2008-06-26  Dan Williams <dcbw@redhat.com>
1977
1978         Patch from David Cantrell <dcantrell@redhat.com> and me
1979
1980         * include/nm-dbus-glib-types.h
1981                 - Add IP6 address types
1982
1983         * libnm-util/Makefile.am
1984           libnm-util/nm-setting-ip6-config.c
1985           libnm-util/nm-setting-ip6-config.h
1986                 - Add IP6 settings object
1987
1988         * libnm-util/nm-connection.c
1989                 - (register_default_settings): register ip6 settings object
1990
1991         * libnm-util/nm-utils.c
1992           libnm-util/nm-utils.h
1993                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
1994                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
1995                         ip6 address conversion functions
1996         
1997 2008-06-26  Dan Williams <dcbw@redhat.com>
1998
1999         Patch from David Cantrell <dcantrell@redhat.com>
2000         
2001         * Use inet_ntop() and inet_pton() everwhere and check for errors
2002
2003 2008-06-26  Dan Williams <dcbw@redhat.com>
2004
2005         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
2006
2007 2008-06-26  Dan Williams <dcbw@redhat.com>
2008
2009         Patch from Adel Gadllah <adel.gadllah@gmail.com>
2010
2011         * src/nm-device-wifi.c
2012                 - (link_timeout_cb): don't ignore disconnects due to scanning
2013                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2014                         a longer timeout when scanning; avoids case where supplicant can't
2015                         find the AP and just keeps scanning forever but isn't connected
2016
2017 2008-06-26  Dan Williams <dcbw@redhat.com>
2018
2019         Patch from Michael Biebl <biebl@debian.org>
2020
2021         * Clean up build system stuff
2022
2023 2008-06-23  Christian Persch  <chpe@gnome.org>
2024
2025         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2026         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2027         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2028         (impl_get_object):
2029         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2030         (impl_get_object):
2031         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2032         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2033         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2034         (impl_get_object):
2035         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2036         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2037         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2038         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2039         * vpn-daemons/pptp/properties/vpnui_opt.c:
2040         (vpnui_opt_connect_signals):
2041         * vpn-daemons/pptp/properties/vpnui_opt.h:
2042         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2043         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2044         deprecated gtk type macros. Bug #539325.
2045
2046 2008-06-20  Dan Williams  <dcbw@redhat.com>
2047
2048         * libnm-glib/nm-vpn-plugin-ui-interface.c
2049           libnm-glib/nm-vpn-plugin-ui-interface.h
2050                 - 'validity-changed' -> 'changed' to work better with the connection
2051                         editor.  Plugin UI widgets should emit 'changed' whenever their
2052                         UI values change in a meaningful way.
2053                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2054                         update_connection member now returns validity of the UI widget
2055
2056 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2057
2058         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2059
2060 2008-06-17  Dan Williams  <dcbw@redhat.com>
2061
2062         * libnm-glib/nm-vpn-plugin-ui-interface.c
2063           libnm-glib/nm-vpn-plugin-ui-interface.h
2064                 - Add "desc" property for longer descriptions of the VPN plugin
2065
2066 2008-06-16  Dan Williams  <dcbw@redhat.com>
2067
2068         * configure.in
2069           libnm-glib/libnm_glib_vpn.pc.in
2070                 - add a .pc file for libnm_glib_vpn
2071
2072         * libnm-glib/nm-vpn-plugin-ui-interface.c
2073           libnm-glib/nm-vpn-plugin-ui-interface.h
2074                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2075                         rework it substantially
2076
2077 2008-06-12  Dan Williams  <dcbw@redhat.com>
2078
2079         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2080         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2081         returns a descriptive GError when verification fails.
2082
2083 2008-06-11  Dan Williams  <dcbw@redhat.com>
2084
2085         Patch from Tambet Ingo <tambet@gmail.com>
2086
2087         * libnm-util/nm-setting-gsm.c
2088                 - (verify): validate APN
2089
2090         * src/nm-gsm-device.c
2091                 - (manual_registration_done): start setting APN if needed
2092                 - (set_apn, set_apn_done): set the APN
2093                 - (do_dial): use the APN when dialing
2094
2095 2008-06-11  Dan Williams  <dcbw@redhat.com>
2096
2097         * src/NetworkManagerSystem.c
2098                 - (nm_system_device_set_ip4_route,
2099                    nm_system_device_replace_default_ip4_route): check for the right
2100                         return value from rtnl_route_add() to know when to add a gateway
2101                         route (from Tambet)
2102
2103 2008-06-11  Dan Williams  <dcbw@redhat.com>
2104
2105         * src/NetworkManagerPolicy.c
2106                 - do_ipt_cmd -> do_cmd
2107                 - (sharing_init): use do_cmd() instead of system()
2108
2109 2008-06-10  Dan Williams  <dcbw@redhat.com>
2110
2111         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2112         and use "wifi" everwhere instead.
2113
2114 2008-06-10  Dan Williams  <dcbw@redhat.com>
2115
2116         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2117
2118 2008-06-10  Dan Williams  <dcbw@redhat.com>
2119
2120         Patch from Tambet Ingo <tambet@gmail.com>
2121
2122         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2123                 changes.
2124
2125         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2126                 a signal to emit these changes over dbus.
2127
2128         * src/Makefile.am: Genereate nm-serial-device-glue.
2129
2130         * libnm-glib/nm-serial-device.[ch]: Implement.
2131
2132         * libnm-glib/nm-cdma-device.[ch]
2133           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2134
2135         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2136
2137         * introspection/nm-device-serial.xml: Implement.
2138
2139         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2140
2141         * introspection/Makefile.am: Add nm-device-serial.xml.
2142
2143         * include/NetworkManager.h: Add a DBus interface for serial device.
2144
2145 2008-06-10  Dan Williams  <dcbw@redhat.com>
2146
2147         * configure.in
2148                 - Add TARGET_* define to config.h to distinguish distros
2149
2150         * src/dhcp-manager/nm-dhcp-manager.c
2151                 - (dhclient_run): use distro-specific path for dhclient config file
2152
2153 2008-06-09  Dan Williams  <dcbw@redhat.com>
2154
2155         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2156           src/dnsmasq-manager/nm-dnsmasq-manager.h
2157                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2158                         calculate the addresses passed to dnsmasq instead of hard-coding
2159                         them
2160
2161         * src/nm-device.c
2162                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2163                         IP addresses for shared connections to guard against shared
2164                         connection address collisions
2165                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2166                         error conditions
2167                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2168                         the dnsmasq manager
2169
2170 2008-06-09  Dan Williams  <dcbw@redhat.com>
2171
2172         * src/NetworkManagerPolicy.c
2173                 - (update_routing_and_dns): set the default connection _after_ unsetting
2174                         default on all non-default connections so that two connections can
2175                         never be default at the same time
2176                 - (device_state_changed): start and stop connection sharing when
2177                         needed
2178                 - (active_connection_default_changed): restart or stop sharing when
2179                         the default connection changes to keep shared connections always
2180                         NAT-ed through the default connection
2181                 - (check_sharing): handle activation/deactivation of shared connections
2182                 - (sharing_restart): atom-bomb approach to connection sharing until we
2183                         can use libnl; reinit all sharing when the default connection or
2184                         shared connections change
2185                 - (sharing_init, sharing_stop): evil functions that init and deinit
2186                         iptables
2187
2188 2008-06-09  Dan Williams  <dcbw@redhat.com>
2189
2190         * src/nm-activation-request.c
2191           src/nm-activation-request.h
2192                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2193                    nm_act_request_get_device): new functions to facilitate connection
2194                         sharing
2195
2196 2008-06-09  Dan Williams  <dcbw@redhat.com>
2197
2198         * src/nm-device.c
2199                 - (clear_act_request): unset the 'default' property of the activation
2200                         request when clearing it to ensure the property changed signal gets
2201                         delivered and handled
2202
2203 2008-06-09  Dan Williams  <dcbw@redhat.com>
2204
2205         * libnm-glib/nm-device-802-11-wireless.c
2206                 - (access_point_removed_proxy): actually unref the AP after removing
2207                         it from the device's AP list.  Fixes refcounting bug for APs that
2208                         caused them to get mixed up in the applet's menu.
2209
2210 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2211
2212         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2213         (nm_dhcp_device_destroy): Destroy the device options hash table.
2214
2215 2008-06-06  Dan Williams <dcbw@redhat.com>
2216
2217         * system-settings/src/nm-polkit-helpers.c
2218                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2219                         unref the context if the initialization fails; also avoid spew when
2220                         the error isn't set
2221
2222 2008-06-06  Dan Williams <dcbw@redhat.com>
2223
2224         Patch from Tambet Ingo  <tambet@gmail.com>
2225
2226         * src/NetworkManagerSystem.c
2227           src/NetworkManagerSystem.h
2228                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2229                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2230                 - (nm_system_device_set_ip4_route): clean up
2231                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2232
2233         * src/nm-device.c
2234                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2235
2236         * src/vpn-manager/nm-vpn-connection.c
2237                 - (ip_address_to_string): new function
2238                 - (print_vpn_config): use ip_address_to_string
2239                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2240                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2241
2242         * include/NetworkManagerVPN.h
2243                 - Add 'routes' key
2244
2245 2008-06-05  Dan Williams <dcbw@redhat.com>
2246
2247         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2248
2249         * test/nm-tool.c
2250                 - Show which device is the default device
2251
2252 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2253
2254         Fix memory leaks.
2255
2256         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2257         Free data returned from dbus method call.
2258
2259         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2260         dbus_g_method_get_sender() returns a duplicated string, free it 
2261         when done.
2262         (check_polkit_privileges): Looks like policykit sometimes returns
2263         error and non-null return value, don't leak errors in that case.
2264
2265         * system-settings/src/main.c (find_plugin): Don't leak existing 
2266         plugin names.
2267         (load_stuff): Don't leak device list and list items.
2268         (have_connection_for_device): Don't leak connection list.
2269
2270         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2271         Free the data received from g_keyfile_get_*.
2272
2273         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2274         the key when the security object is updated.
2275
2276         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2277         Free data returned from dbus method call.
2278         (iface_state_cb): Ditto.
2279         (add_network_cb): Ditto.
2280         (nm_supplicant_interface_add_cb): Don't make another copy of already
2281         duplicated object path.
2282         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2283         when done.
2284
2285         * src/supplicant-manager/nm-supplicant-config.c 
2286         (ADD_STRING_LIST_VAL): Fix a memory leak.
2287
2288         * src/nm-manager.c (free_get_settings_info): Free the allocated
2289         memory slice.
2290         (list_connections_cb): Free data returned from dbus method call.
2291         (system_settings_get_unmanaged_devices_cb): Ditto.
2292
2293         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2294
2295         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2296         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2297         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2298         of the GList.
2299
2300         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2301         arguments after the object is created.
2302
2303 2008-06-04  Dan Williams <dcbw@redhat.com>
2304
2305         * libnm-util/Makefile.am
2306                 - Don't distribute nm-param-spec-specialized.h
2307
2308 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2309
2310         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2311
2312         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2313         NMIP4Address, update the getters and setters.
2314
2315         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2316         Use the updated NMIP4Config routes api.
2317
2318         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2319         static routes as well.
2320
2321         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2322         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2323         routes api.
2324
2325 2008-05-30  Dan Williams <dcbw@redhat.com>
2326
2327         * src/named-manager/nm-named-manager.c
2328           src/named-manager/nm-named-manager.h
2329                 - Remove stale/obsolete bits for controlling bind over DBus
2330
2331 2008-05-29  Dan Williams <dcbw@redhat.com>
2332
2333         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2334           src/dnsmasq-manager/nm-dnsmasq-manager.h
2335                 - (nm_dnsmasq_manager_new): move iface argument here
2336                 - (constructor): remove, not needed
2337                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2338                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2339
2340         * src/nm-device.c
2341                 - (real_act_stage4_get_ip4_config,
2342                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2343                         changes
2344
2345 2008-05-29  Dan Williams <dcbw@redhat.com>
2346
2347         * src/nm-device.c
2348                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2349                         something happens to dnsmasq
2350                 - (nm_device_new_ip4_shared_config): new function; create a new
2351                         ip4-config for shared connections.  Shared connections always use a
2352                         fixed static IP address.
2353                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2354                         autoip connections by actually using the returned ip4-config and
2355                         not leaking it
2356                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2357                         connections
2358                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2359                         if its active
2360
2361 2008-05-29  Dan Williams <dcbw@redhat.com>
2362
2363         * src/nm-device-802-11-wireless.c
2364                 - (real_get_best_auto_connection): auto-activate 'shared' method
2365                         connections too
2366
2367 2008-05-29  Dan Williams <dcbw@redhat.com>
2368
2369         * libnm-util/nm-setting-ip4-config.c
2370           libnm-util/nm-setting-ip4-config.h
2371                 - Add a 'shared' method to indicate that this connection should be
2372                         brought up with a DHCP and proxy DNS server to facilitate
2373                         connection sharing.
2374                 - (verify): 'shared' method doesn't allow DNS or searches either
2375
2376 2008-05-29  Dan Williams <dcbw@redhat.com>
2377
2378         * configure.in
2379           src/Makefile.am
2380           src/dnsmasq-manager/Makefile.am
2381           src/dnsmasq-manager/nm-dnsmasq-manager.c
2382           src/dnsmasq-manager/nm-dnsmasq-manager.h
2383                 - Add a dnsmasq daemon manager to facilitate connection sharing
2384
2385 2008-05-29  Dan Williams <dcbw@redhat.com>
2386
2387         * src/nm-device-private.h
2388                 - Remove unused prototypes and clean up
2389
2390         * src/nm-device.c
2391                 - Remove anything related to system_config_data, which is no longer used
2392                 - (nm_device_new_ip4_autoip_config): make static
2393
2394 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2395
2396         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2397         (file_changed): Fix a bug where suse system settings plugin didn't
2398         update the connections automatically when the files changed.
2399
2400 2008-05-28  Dan Williams  <dcbw@redhat.com>
2401
2402         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2403
2404 2008-05-28  Dan Williams  <dcbw@redhat.com>
2405
2406         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2407
2408         * src/NetworkManagerSystem.c
2409                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2410                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2411                         was causing -EINVAL errors since the libnl code actually does flush
2412                         the routes on VPN interfaces now
2413
2414         * src/backends/NetworkManagerArch.c
2415           src/backends/NetworkManagerDebian.c
2416           src/backends/NetworkManagerFrugalware.c
2417           src/backends/NetworkManagerGeneric.c
2418           src/backends/NetworkManagerGentoo.c
2419           src/backends/NetworkManagerMandriva.c
2420           src/backends/NetworkManagerPaldo.c
2421           src/backends/NetworkManagerRedHat.c
2422           src/backends/NetworkManagerSlackware.c
2423           src/backends/NetworkManagerSuSE.c
2424                 - (nm_system_device_flush_ip4_routes,
2425                    nm_system_device_flush_ip4_routes_with_iface): remove
2426
2427 2008-05-28  Dan Williams  <dcbw@redhat.com>
2428
2429         * libnm-util/nm-setting-wireless.c
2430           libnm-util/nm-setting-wireless.h
2431                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2432                         'adhoc-create' property, which when TRUE indicates that NM should
2433                         create this connection as an adhoc wifi network if it's not found
2434                         as an adhoc network during scanning.  Can be used to auto-create
2435                         adhoc networks when used in combination with autoconnect.
2436
2437 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2438
2439         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2440
2441         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2442         checked, it doesn't work on some devices.
2443
2444 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2445
2446         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2447         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2448
2449         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2450         Use inet_aton() everywhere to improve error detection.
2451         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2452         provided.
2453
2454 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2455
2456         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2457         Fix a typo.
2458
2459 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2460
2461         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2462         reference counting issue.
2463
2464 2008-05-23  Dan Williams  <dcbw@redhat.com>
2465
2466         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2467
2468         * src/backends/NetworkManagerGeneric.c
2469                 - (nm_generic_enable_loopback): use libnl
2470
2471 2008-05-23  Dan Williams  <dcbw@redhat.com>
2472
2473         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2474
2475         * src/NetworkManagerSystem.h
2476           src/backends/NetworkManagerArch.c
2477           src/backends/NetworkManagerDebian.c
2478           src/backends/NetworkManagerFrugalware.c
2479           src/backends/NetworkManagerGentoo.c
2480           src/backends/NetworkManagerMandriva.c
2481           src/backends/NetworkManagerPaldo.c
2482           src/backends/NetworkManagerRedHat.c
2483           src/backends/NetworkManagerSlackware.c
2484           src/backends/NetworkManagerSuSE.c
2485                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2486                    nm_system_flush_arp_cache): remove, unused
2487
2488         * src/backends/NetworkManagerGeneric.c
2489           src/backends/NetworkManagerGeneric.h
2490                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2491                    nm_generic_flush_arp_cache): remove, unused
2492
2493 2008-05-23  Dan Williams  <dcbw@redhat.com>
2494
2495         * system-settings/plugins/ifcfg-fedora/reader.c
2496                 - (make_ip4_setting): honor PEERDNS setting
2497
2498 2008-05-23  Dan Williams  <dcbw@redhat.com>
2499
2500         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2501
2502         * src/NetworkManagerSystem.c
2503                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2504                         libnl
2505
2506         * src/backends/NetworkManagerArch.c
2507           src/backends/NetworkManagerDebian.c
2508           src/backends/NetworkManagerFrugalware.c
2509           src/backends/NetworkManagerGentoo.c
2510           src/backends/NetworkManagerMandriva.c
2511           src/backends/NetworkManagerPaldo.c
2512           src/backends/NetworkManagerRedHat.c
2513           src/backends/NetworkManagerSlackware.c
2514           src/backends/NetworkManagerSuSE.c
2515                 - (nm_system_device_flush_ip4_addresses,
2516                    nm_system_device_flush_ip4_addresses_with_iface): remove
2517
2518         * src/backends/NetworkManagerGeneric.c
2519                 - (nm_generic_device_flush_ip4_addresses,
2520                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2521
2522 2008-05-23  Dan Williams  <dcbw@redhat.com>
2523
2524         * src/supplicant-manager/nm-supplicant-settings-verify.c
2525                 - Switch 'bssid' from bytes to keyword type
2526                 - (validate_type_keyword): allow NULL keyword lists
2527
2528         * src/supplicant-manager/nm-supplicant-config.c
2529                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2530                         a byte array to string form, which is what the supplicant expects
2531
2532 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2533
2534         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2535         information received from DHCP.
2536
2537         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2538         to make it possible to ignore the DNS information (both servers and 
2539         searches) returned by DHCP server.
2540
2541         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2542         name servers and searches if "ignore_dhcp_dns" is set.
2543
2544         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2545         (nm_ip4_config_reset_searches): Implement.
2546
2547 2008-05-22  Dan Williams  <dcbw@redhat.com>
2548
2549         Remove anything mDNS related.  This is better done from a distro-specific
2550         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2551         avahi, since avahi can handle interface changes just fine using netlink.
2552
2553         * configure.in
2554                 - Remove --with-mdns-provider
2555
2556         * src/NetworkManagerPolicy.c
2557                 - (global_state_changed): don't restart the mdns provider
2558
2559         * src/NetworkManagerSystem.h
2560           src/backends/NetworkManagerArch.c
2561           src/backends/NetworkManagerDebian.c
2562           src/backends/NetworkManagerFrugalware.c
2563           src/backends/NetworkManagerGentoo.c
2564           src/backends/NetworkManagerMandriva.c
2565           src/backends/NetworkManagerPaldo.c
2566           src/backends/NetworkManagerRedHat.c
2567           src/backends/NetworkManagerSlackware.c
2568           src/backends/NetworkManagerSuSE.c
2569                 - (nm_system_restart_mdns_responder): remove
2570
2571         * src/backends/NetworkManagerGeneric.c
2572           src/backends/NetworkManagerGeneric.h
2573                 - (nm_generic_restart_mdns_responder): remove
2574
2575 2008-05-22  Dan Williams  <dcbw@redhat.com>
2576
2577         * configure.in
2578                 - clean up crypto options; just use --with-crypto=nss or
2579                         --with-crypto=gnutls
2580
2581 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2582
2583         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2584         anymore, do it right away.
2585
2586 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2587
2588         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2589         serial device open when we're not connecting or connected.
2590
2591         * src/nm-cdma-device.c (device_state_changed): Ditto.
2592
2593 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2594
2595         Don't remove all devices on waking up, sync with HAL.
2596
2597         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2598         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2599         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2600
2601 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2602
2603         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2604         If the default gateway is unreachable, add a route to gateway and try
2605         again.
2606
2607 2008-05-20  Dan Williams  <dcbw@redhat.com>
2608
2609         * system-settings/plugins/ifcfg-fedora/reader.c
2610                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2611
2612 2008-05-19  Dan Williams  <dcbw@redhat.com>
2613
2614         * system-settings/plugins/ifcfg-fedora/reader.c
2615                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2616                         if the ifcfg doesn't specify one (rh #446527)
2617
2618 2008-05-19  Dan Williams  <dcbw@redhat.com>
2619
2620         Make the system settings service exit when the bus goes away.  Since it's
2621         a bus-activated service, it's lifetime is limited to the bus that activated
2622         it (rh #444976).
2623
2624         * system-settings/src/Makefile.am
2625           system-settings/src/nm-system-config-hal-manager-private.h
2626                 - Remove nm-system-config-hal-manager-private.h
2627
2628         * system-settings/src/nm-system-config-hal-manager.c
2629                 - (nm_system_config_hal_manager_reinit_dbus,
2630                    nm_system_config_hal_manager_deinit_dbus): remove
2631
2632         * system-settings/src/main.c
2633                 - (dbus_reconnect): remove
2634                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2635                 - (destroy_cb): just quit when the bus goes away
2636                 - (start_dbus_service, dbus_init): simplify
2637                 - (main): destroy the wired devices hash table after destroying
2638                         the HAL manager so we don't have to disconnect signals from the
2639                         HAL manager
2640
2641 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2642
2643         Move crypto functions from nm-applet to libnm-util.
2644
2645         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2646         (nm_setting_802_1x_set_client_cert)
2647         (nm_setting_802_1x_set_phase2_ca_cert)
2648         (nm_setting_802_1x_set_phase2_client_cert)
2649         (nm_setting_802_1x_set_private_key)
2650         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2651         file (or private key and it's password), read the certificate data.
2652
2653         * libnm-util/crypto_nss.c: 
2654         * libnm-util/crypto_gnutls.c: 
2655         * libnm-util/crypto.[ch]: Move here from nm-applet.
2656
2657         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2658
2659         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2660         Imlement WPA-EAP configuration reading from sysconfig.
2661
2662 2008-05-16  Dan Williams  <dcbw@redhat.com>
2663
2664         * src/nm-device-802-11-wireless.c
2665                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2666                         wireless
2667
2668 2008-05-14  Dan Williams  <dcbw@redhat.com>
2669
2670         Fix Linus' bug in rh #134886
2671
2672         * src/nm-device-802-3-ethernet.c
2673                 - (constructor): request initial carrier state
2674
2675         * src/nm-netlink-monitor.c
2676                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2677                         signals after refilling the link cache.  Because the refill is a 
2678                         synchronous operation, the normal message hander won't get called
2679                         since libnl has already consumed the messages.
2680                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2681
2682 2008-05-14  Dan Williams  <dcbw@redhat.com>
2683
2684         * src/NetworkManagerSystem.c
2685                 - (nm_system_device_is_up_with_iface): clean up
2686
2687 2008-05-13  Dan Williams  <dcbw@redhat.com>
2688
2689         Fix refcounting issues over sleep/wake when a VPN connection was active that
2690         caused NM to try registering an object path for a device upon wake that was
2691         the same as an already registered object path.
2692
2693         * src/nm-device.c
2694                 - (nm_device_take_down): properly handle cases where the device is
2695                         no longer active but was just active, and therefore must be
2696                         deactivated.  When a device moves to unmanaged mode, this function
2697                         previously would not deactivate the device, because the state was
2698                         already unmanaged by the time this function was called.
2699
2700         * src/vpn-manager/nm-vpn-connection.c
2701                 - (device_state_changed): properly handle multiple devices states in
2702                         which the device is now deactivated.  Code previously didn't handle
2703                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2704                         UNMANAGED states.
2705
2706 2008-05-13  Dan Williams  <dcbw@redhat.com>
2707
2708         * src/nm-device-private.h
2709           src/nm-device.c
2710                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2711
2712         * src/nm-device-802-11-wireless.c
2713                 - (nm_device_802_11_wireless_set_enabled): take devices up
2714                         and down as appropriate for the rfkill state
2715
2716 2008-05-13  Dan Williams  <dcbw@redhat.com>
2717
2718         * marshallers/nm-marshal.list
2719                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2720
2721         * system-settings/plugins/ifcfg-fedora/Makefile.am
2722           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2723           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2724                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2725                         events.  Solely for use watching ifcfg files to pick up changes
2726                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2727
2728         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2729                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2730                         file contents change
2731                 - (finalize): clean up inotify watches
2732                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2733                         and the connection ifcfg for changes on their hardlinks
2734                 - (files_changed_cb): proxy the changed signal back out to listeners
2735
2736         * system-settings/plugins/ifcfg-fedora/plugin.c
2737                 - (dir_changed): 
2738                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2739                         changes
2740                 - (read_one_connection): connect to change signals on the new connection
2741                 - (dir_changed, connection_changed_handler,
2742                    handle_connection_remove_or_new): break out connection change
2743                         handling and connection new/remove handling so it can be used from
2744                         both the GFileMonitor callback and the NMIfcfgConnection changed
2745                         signals
2746
2747         * system-settings/plugins/ifcfg-fedora/reader.c
2748           system-settings/plugins/ifcfg-fedora/reader.h
2749                 - (connection_from_file): return the keyfile path the connection would use
2750
2751 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2752
2753         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2754         single PolKitContext which is shared by all. PolKitContext::unref leaks
2755         just about everything, including all open file descriptiors and results
2756         in 99% cpu usage when data arrives to any of the fds that don't belong
2757         to any context anymore.
2758
2759 2008-05-12  Dan Williams  <dcbw@redhat.com>
2760
2761         * gfilemonitor/glocaldirectorymonitor.c
2762           gfilemonitor/glocaldirectorymonitor.h
2763                 - (g_local_directory_monitor_constructor): actually subscribe to the
2764                         watch
2765                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2766
2767         * gfilemonitor/glocalfilemonitor.c
2768           gfilemonitor/glocalfilemonitor.h
2769                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2770                 - (_g_local_file_monitor_new): ensure that inotify is started up
2771
2772 2008-05-11  Dan Williams  <dcbw@redhat.com>
2773
2774         * configure.in
2775                 - record PolicyKit version
2776
2777         * system-settings/src/nm-polkit-helpers.c
2778                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2779                         with PolicyKit <= 0.6
2780
2781 2008-05-11  Dan Williams  <dcbw@redhat.com>
2782
2783         Update Fedora system-settings plugin to support latest API and use
2784         GFileMonitor rather than home-rolled inotify code.
2785
2786         * system-settings/plugins/ifcfg-fedora/Makefile.am
2787           system-settings/plugins/ifcfg-fedora/common.h
2788           system-settings/plugins/ifcfg-fedora/plugin.c
2789                 - Update to latest system settings plugin API; use GIO instead of
2790                         custom inotify code; use NMIfcfgConnection objects instead of
2791                         ConnectionData structures tacked onto NMConnection objects
2792
2793         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2794           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2795                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2796                         connections
2797
2798         * system-settings/plugins/ifcfg-fedora/reader.c
2799           system-settings/plugins/ifcfg-fedora/reader.h
2800                 - Move ifcfg parsing bits here from parser.c
2801
2802         * system-settings/plugins/ifcfg-fedora/parser.c
2803           system-settings/plugins/ifcfg-fedora/parser.h
2804                 - Remove; most code moved to reader.c
2805
2806 2008-05-11  Dan Williams  <dcbw@redhat.com>
2807
2808         * configure.in
2809           Makefile.am
2810           gfilemonitor/*
2811                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2812                         implementation, so that the same change monitoring code can be used
2813                         on systems without glib-2.14 (like Fedora 8)
2814
2815         * system-settings/plugins/keyfile/Makefile.am
2816           system-settings/plugins/keyfile/plugin.c
2817           system-settings/plugins/ifcfg-suse/Makefile.am
2818           system-settings/plugins/ifcfg-suse/plugin.c
2819                 - Use private gfilemonitor code if GIO is not present
2820
2821 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2822
2823         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2824         NMExportedConnection's 'update' and 'delete' and return error with
2825         descriptive message.
2826
2827 2008-05-08  Dan Williams  <dcbw@redhat.com>
2828
2829         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2830
2831         * src/nm-gsm-device.c
2832           src/nm-cdma-device.c
2833                 - (real_get_best_auto_connection): implement; allow autoconnection
2834                         to GSM & CDMA devices
2835
2836 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2837
2838         Use PolicyKit to authorize the system settings' AddConnection method
2839         and the system settings connections' Update and Delete methods.
2840         
2841         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2842         (impl_exported_connection_delete, nm_exported_connection_update)
2843         (nm_exported_connection_delete): Return boolean and fill GError
2844         to notify the callers of the reasons why it might have failed.
2845
2846         * libnm-glib/nm-dbus-settings-system.c
2847         (nm_dbus_settings_system_add_connection): Return the error from dbus
2848         call so that the callers can see why it failed.
2849
2850         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2851         signatures.
2852
2853         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2854
2855         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2856         abstract base class that checks PolicyKit permissions.
2857
2858         * system-settings/src/dbus-settings.c:
2859         (impl_settings_add_connection): Check the policy before carring out
2860         the request.
2861
2862         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2863         Inherit from NMSysconfigConnection, check the policies before
2864         allowing updating or removing.
2865
2866         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2867         Inherit from NMSysconfigConnection.
2868
2869         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2870         "Delete" methods with async flag so that the implementations can get
2871         access to DBusGMethodInvocation.
2872
2873         * system-settings/src/dbus-settings.c 
2874         (settings_add_connection_check_privileges): Implement.
2875         (impl_settings_add_connection): Check the privileges before adding a new
2876         connection. Improve error reporting.
2877
2878         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2879         async so that the implementation can access DBusGMethodInvocation.
2880
2881         * configure.in: Check for PolicyKit.
2882
2883         * policy/org.freedesktop.network-manager-settings.system.policy: 
2884         New file.
2885
2886         * policy/Makefile.am: Install the policy file.
2887
2888         * configure.in: Add 'policy' subdir.
2889
2890 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2891
2892         Rewrite the suse system settings plugin.
2893
2894         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2895
2896         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2897
2898         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2899
2900         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2901
2902         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2903
2904         * system-settings/src/main.c (load_plugins): Improve error reporting.
2905
2906         * system-settings/src/sha1.[ch] Add.
2907
2908         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2909
2910 2008-05-07  Dan Williams  <dcbw@redhat.com>
2911
2912         * system-settings/plugins/keyfile/reader.c
2913                 - (read_one_setting_value): handle IP address items separately
2914                 - (read_array_of_uint): read IPv4 DNS option as a string array
2915                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2916                         array
2917
2918         * system-settings/plugins/keyfile/writer.c
2919                 - (write_setting_value): handle IP address items separately
2920                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2921                         not an array of uint, so that it's user-editable
2922                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2923                         arrays, so they are user-editable
2924
2925 2008-05-07  Dan Williams  <dcbw@redhat.com>
2926
2927         * system-settings/plugins/keyfile/Makefile.am
2928                 - Change location of the keyfile plugin settings to
2929                         /etc/NetworkManager/system-connections
2930
2931 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2932
2933         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2934
2935         * system-settings/plugins/keyfile/plugin.c: Work with
2936         NMKeyfileConnections.
2937
2938         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2939         Plugins are supposed to return NMExportedConnections now and handle the
2940         updated(), removed(), and GetSecrets().
2941         Store the internal list of connections in hash table to make it easier
2942         to find duplicates.
2943
2944 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2945
2946         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2947         for multiple IP addresses.
2948
2949 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2950
2951         Patch from André Lemos.
2952
2953         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2954         corruption.
2955
2956 2008-05-06  Dan Williams  <dcbw@redhat.com>
2957
2958         * src/dhcp-manager/nm-dhcp-manager.c
2959                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2960                         NMIP4Config to support multiple IP addresses
2961
2962         * src/NetworkManagerUtils.c
2963                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2964
2965         * src/nm-ip4-config.c
2966           src/nm-ip4-config.h
2967                 - Store a list of IPv4 address/netmask/gateway tuples
2968                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2969                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2970                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2971                    nm_ip4_config_set_address): remove
2972                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
2973                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
2974                         new functions; handle multiple IPv4 addresses
2975
2976         * src/nm-device.c
2977           src/ppp-manager/nm-ppp-manager.c
2978           src/vpn-manager/nm-vpn-connection.c
2979           src/NetworkManagerPolicy.c
2980           test/nm-tool.c
2981           libnm-glib/libnm-glib-test.c
2982                 - update for changes to NMIP4Config for multiple IPv4 addresses
2983
2984         * src/NetworkManagerSystem.c
2985                 - (nm_system_device_set_ip4_route): don't add the route if any address
2986                         is on the same subnet as the destination
2987                 - (check_one_address): ignore the exact match, just match family and
2988                         interface index
2989                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
2990                         an interface
2991                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
2992                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
2993
2994         * introspection/nm-ip4-config.xml
2995                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
2996                 - Add 'addresses' property which is an array of (uuu) tuples of
2997                         address/netmask/gateway
2998
2999         * libnm-util/nm-setting-ip4-config.c
3000                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
3001
3002         * libnm-glib/nm-ip4-config.c
3003           libnm-glib/nm-ip4-config.h
3004                 - Handle D-Bus interface changes to support multiple IP addresses
3005
3006 2008-05-06  Dan Williams  <dcbw@redhat.com>
3007
3008         * libnm-util/nm-utils.c
3009           libnm-util/nm-utils.h
3010                 - (nm_utils_ip4_addresses_from_gvalue,
3011                    nm_utils_ip4_addresses_to_gvalue): new functions
3012
3013 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3014
3015         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3016         the returned connection paths.
3017
3018 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3019
3020         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3021         "PropertiesChanged" signal signature.
3022
3023         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3024         defined in nm-dbus-glib-types.h.
3025         Don't register the connection on dbus, we're a proxy class to 
3026         communicate with an already registered connection over dbus.
3027
3028 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3029
3030         Implement new subclasses of NMSettings and NMExportedConnection to make
3031         it easier for the applet to access and modify system settings.
3032
3033         * libnm-glib/nm-dbus-connection.[ch]:
3034         * libnm-glib/nm-dbus-settings.[ch]:
3035         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3036
3037         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3038         bindings and glue.
3039
3040         * include/NetworkManager.h: Define the system settings DBus interface.
3041
3042 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3043
3044         Implement additional C API for exported connections to make them identical
3045         with the DBus API. Change the (list_connections) virtual function to be
3046         more usable from C - instead of requiring implementers to return a GPtrArray
3047         of dbus paths, return a list of connections.
3048
3049         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3050         (nm_settings_list_connections):
3051         (nm_exported_connection_new):
3052         (nm_exported_connection_update):
3053         (nm_exported_connection_delete): Implement.
3054
3055         (impl_settings_list_connections):
3056         (impl_exported_connection_update):
3057         (impl_exported_connection_delete): Use the new public functions to make 
3058         sure the C and dbus interfaces stay in sync.
3059
3060         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3061         connections.
3062
3063 2008-05-02  Dan Williams  <dcbw@redhat.com>
3064
3065         * system-settings/plugins/ifcfg-fedora/plugin.c
3066                 - (dispose): use right unref call on the DBusGConnection
3067
3068 2008-05-02  Dan Williams  <dcbw@redhat.com>
3069
3070         * src/nm-serial-device.c
3071                 - (find_terminator): don't compare the whole line, just the size of the
3072                         terminator, since some modems put stuff after the terminator, like
3073                         "CONNECT 9600"
3074
3075 2008-05-01  Dan Williams  <dcbw@redhat.com>
3076
3077         Patch from Michael Biebl <biebl@debian.org>
3078
3079         * callouts/Makefile.am
3080           callouts/org.freedesktop.nm_dispatcher.service.in
3081           system-settings/src/Makefile.am
3082           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3083                 - use the right install location for dbus-activated stuff
3084
3085 2008-04-30  Dan Williams  <dcbw@redhat.com>
3086
3087         * src/nm-gsm-device.c
3088                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3089                         PIN or PUK
3090
3091 2008-04-30  Dan Williams  <dcbw@redhat.com>
3092
3093         * src/nm-manager.c
3094                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3095
3096 2008-04-30  Dan Williams  <dcbw@redhat.com>
3097
3098         * src/nm-device-802-3-ethernet.c
3099           src/nm-device-802-11-wireless.c
3100                 - (real_is_up): return true instead of chaining up to unimplemented
3101                         parent method
3102
3103 2008-04-30  Dan Williams  <dcbw@redhat.com>
3104
3105         * src/NetworkManagerSystem.c
3106           src/NetworkManagerSystem.h
3107                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3108                         functions to check device flags for IFF_UP
3109
3110         * src/nm-serial-device.c
3111                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3112                         implement is_up
3113
3114         * src/nm-device-802-3-ethernet.c
3115           src/nm-device-802-11-wireless.c
3116                 - (real_hw_is_up): call nm_system_device_is_up()
3117
3118         * src/nm-device.c
3119                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3120                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3121                         does not implement
3122
3123 2008-04-29  Dan Williams  <dcbw@redhat.com>
3124
3125         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3126
3127         * marshallers/nm-marshal.list
3128                 - Add marshaller
3129
3130         * src/NetworkManager.c
3131                 - (main): let the NMManager handle the NMHalManager
3132
3133         * src/nm-hal-manager.c
3134           src/nm-hal-manager.h
3135                 - convert to a GObject, and emit singals when stuff changes.  Let the
3136                         NMManager handle the signals, instead of the NMHalManager calling
3137                         into the NMManager.  
3138
3139         * src/nm-manager.c
3140           src/nm-manager.h
3141                 - (remove_one_device): consolidate device removals here
3142                 - (dispose): use remove_one_device()
3143                 - (nm_manager_get_device_by_udi): make static
3144                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3145                         manager for devices at startup or wakeup time
3146                 - (nm_manager_new): create and monitor the HAL manager
3147                 - (hal_manager_udi_added_cb): new function; do what
3148                         nm_manager_add_device() used to do when signalled by the hal manager
3149                 - (hal_manager_udi_removed_cb): new function; do what
3150                         nm_manager_remove_device() used to do when signalled by the hal
3151                         manager
3152                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3153                         hal manager
3154                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3155                         in our device list that aren't known to HAL
3156                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3157                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3158                         commits ago
3159                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3160                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3161                    nm_manager_wireless_hardware_enabled,
3162                    nm_manager_set_wireless_hardware_enabled): remove, unused
3163
3164 2008-04-28  Dan Williams  <dcbw@redhat.com>
3165
3166         Fix the device up/down ambiguities.  Up/down state used to be a
3167         conglomeration of hardware state (IFF_UP) and any device-specific things
3168         (supplicant, periodic timers, etc) that the device used to indicate
3169         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3170         reason, then the device specific stuff wouldn't get run, and the device
3171         would be stuck.
3172
3173         * src/nm-device.c
3174           src/nm-device.h
3175                 - Create hw_is_up, hw_bring_up, and hw_take_down
3176                 - Rename bring_down -> take_down
3177                 - (real_hw_is_up): check interface flags for IFF_UP
3178                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3179                 - (nm_device_is_up): make static; only used locally
3180                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3181                         if the device is already up; if the device isn't up, bring it up
3182                 - (nm_device_hw_take_down): just take down hardware
3183                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3184                 - (nm_device_take_down): always deactivate device when called; always
3185                         try to take hardware down too
3186                 - (nm_device_state_changed): take device down when entering unmanaged
3187                         state from a higher state
3188
3189         * src/nm-device-802-11-wireless.c
3190                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3191                         check IFF_UP really
3192                 - (real_take_down, supplicant_iface_state_cb_handler, 
3193                    supplicant_iface_connection_state_cb_handler,
3194                    supplicant_mgr_state_cb_handler): fix some messages
3195
3196         * src/nm-device-802-3-ethernet.c
3197                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3198                         check IFF_UP really
3199
3200 2008-04-28  Dan Williams  <dcbw@redhat.com>
3201
3202         * src/nm-manager.c
3203           src/nm-manager.h
3204                 - (nm_manager_error_get_type): add new error
3205                 - (nm_manager_remove_device): don't bother taking down the device here,
3206                         the state change from unmanaging the device will do it
3207                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3208                         uses it; when going to sleep, just unmanage the device instead of
3209                         taking it down, because stuff will cleaned up correctly when the
3210                         device gets unmanaged
3211
3212 2008-04-28  Dan Williams  <dcbw@redhat.com>
3213
3214         * src/nm-hal-manager.c
3215                 - (add_initial_devices): convert to a GSourceFunc prototype
3216                 - (nm_manager_state_changed): when coming out of sleep, punt the
3217                         device re-addition to an idle handler to let D-Bus events go out
3218                         first, fixing a potential dbus-glib assert if the old device was
3219                         not yet disposed (due to references held while emitting the D-Bus
3220                         signals) but the new device was found, because the mainloop didn't
3221                         run between signal emission and add_initial_devices()
3222
3223 2008-04-27  Dan Williams  <dcbw@redhat.com>
3224
3225         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3226
3227         * initscript/paldo/NetworkManager.in
3228           initscript/SUSE/networkmanager.in
3229                 - Remove last bits of dhcdbd
3230
3231 2008-04-27  Dan Williams  <dcbw@redhat.com>
3232
3233         * src/nm-device-802-11-wireless.c
3234                 - (link_timeout_cb): don't ask for secrets when disconnected during
3235                         association/authentication phase, drivers are still just too crappy
3236
3237 2008-04-27  Dan Williams  <dcbw@redhat.com>
3238
3239         * Makefile.am
3240           configure.in
3241           dispatcher-daemon/Makefile.am
3242           dispatcher-daemon/NetworkManagerDispatcher.c
3243           initscript/Arch/Makefile.am
3244           initscript/Arch/networkmanager-dispatcher.in
3245           initscript/Gentoo/Makefile.am
3246           initscript/Gentoo/NetworkManagerDispatcher.in
3247           initscript/Mandriva/Makefile.am
3248           initscript/Mandriva/networkmanagerdispatcher.in
3249           initscript/RedHat/Makefile.am
3250           initscript/RedHat/NetworkManagerDispatcher.in
3251           initscript/SUSE/Makefile.am
3252           initscript/SUSE/networkmanager-dispatcher.in
3253           initscript/Slackware/Makefile.am
3254           initscript/Slackware/rc.networkmanager-dispatcher.in
3255           initscript/paldo/Makefile.am
3256           initscript/paldo/NetworkManagerDispatcher.in
3257           man/Makefile.am
3258           man/NetworkManagerDispatcher.8.in
3259                 - Remove the dispatcher daemon
3260
3261 2008-04-27  Dan Williams  <dcbw@redhat.com>
3262
3263         * callouts/Makefile.am
3264           callouts/nm-dispatcher-action.c
3265           callouts/nm-dispatcher-action.h
3266           callouts/nm-dispatcher.conf
3267           callouts/nm-dispatcher.xml
3268           callouts/org.freedesktop.nm_dispatcher.service
3269                 - Re-implement the dispatcher as a system-bus activated service that
3270                         NM calls on-demand, rather than an always running daemon
3271
3272         * src/Makefile.am
3273                 - Add callouts dir to includes to pick up dispatcher defines
3274
3275         * src/nm-device.c
3276                 - (nm_device_state_changed): call dispatcher on device activated/
3277                         deactivated
3278
3279         * src/vpn-manager/nm-vpn-connection.c
3280                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3281                         go up and down
3282
3283         * src/NetworkManagerUtils.c
3284           src/NetworkManagerUtils.h
3285                 - (nm_utils_call_dispatcher): helper to call dispatcher
3286
3287 2008-04-27  Dan Williams  <dcbw@redhat.com>
3288
3289         * src/NetworkManagerUtils.c
3290           src/NetworkManagerUtils.h
3291                 - remove unneeded includes
3292                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3293                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3294                    nm_timeval_cmp, nm_timeval_add): remove, unused
3295                 - clean up formatting
3296                 - (nm_spawn_process): de-uglify
3297
3298         * src/nm-device-802-11-wireless.c
3299                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3300
3301 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3302
3303         * initscript/Gentoo/NetworkManager.in:
3304                 Fix for starting the daemon.
3305
3306 2008-04-25  Dan Williams  <dcbw@redhat.com>
3307
3308         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3309
3310         * src/NetworkManagerSystem.c
3311                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3312
3313 2008-04-25  Dan Williams  <dcbw@redhat.com>
3314
3315         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3316
3317         * src/NetworkManagerSystem.c
3318                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3319                         implementation of nm_system_device_replace_default_route()
3320
3321         * src/NetworkManagerPolicy.c
3322                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3323
3324         * src/backends/NetworkManagerArch.c
3325           src/backends/NetworkManagerDebian.c
3326           src/backends/NetworkManagerFrugalware.c
3327           src/backends/NetworkManagerGeneric.c
3328           src/backends/NetworkManagerGeneric.h
3329           src/backends/NetworkManagerGentoo.c
3330           src/backends/NetworkManagerMandriva.c
3331           src/backends/NetworkManagerPaldo.c
3332           src/backends/NetworkManagerRedHat.c
3333           src/backends/NetworkManagerSlackware.c
3334           src/backends/NetworkManagerSuSE.c
3335                 - (nm_system_device_replace_default_route): remove
3336
3337 2008-04-25  Dan Williams  <dcbw@redhat.com>
3338
3339         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3340
3341         * src/NetworkManagerSystem.c
3342                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3343                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3344                         replace nm_system_device_add_route_via_device_with_iface() in the
3345                         backends
3346
3347         * src/backends/NetworkManagerArch.c
3348           src/backends/NetworkManagerDebian.c
3349           src/backends/NetworkManagerFrugalware.c
3350           src/backends/NetworkManagerGeneric.c
3351           src/backends/NetworkManagerGeneric.h
3352           src/backends/NetworkManagerGentoo.c
3353           src/backends/NetworkManagerMandriva.c
3354           src/backends/NetworkManagerPaldo.c
3355           src/backends/NetworkManagerRedHat.c
3356           src/backends/NetworkManagerSlackware.c
3357           src/backends/NetworkManagerSuSE.c
3358                 - Remove nm_system_device_add_route_via_device_with_iface()
3359
3360 2008-04-25  Dan Williams  <dcbw@redhat.com>
3361
3362         * system-settings/plugins/ifcfg-fedora/parser.c
3363                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3364
3365 2008-04-24  Dan Williams  <dcbw@redhat.com>
3366
3367         * dispatcher-daemon/NetworkManagerDispatcher.c
3368                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3369
3370 2008-04-24  Dan Williams  <dcbw@redhat.com>
3371
3372         * initscript/RedHat/NetworkManager.in
3373           initscript/RedHat/NetworkManagerDispatcher.in
3374                 - Be active at runlevel 2
3375                 - Adjust priorities earlier
3376
3377 2008-04-22  Dan Williams  <dcbw@redhat.com>
3378
3379         * src/NetworkManagerPolicy.c
3380                 - (update_routing_and_dns): when checking for a gateway, look at the
3381                         composite IP4 config, not the connection's ip4-config setting, which
3382                         doesn't include DHCP-returned information
3383
3384 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3385
3386         Implement GKeyFile system settings plugin.
3387         Implement writing system settings (currently supported only by GKeyFile plugin).
3388
3389         * system-settings/src/main.c: 
3390         * system-settings/src/dbus-settings.c: Move the communication with plugins
3391         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3392         plugins for adding/updating/removing connections.
3393
3394         * system-settings/src/nm-system-config-interface.c
3395         (nm_system_config_interface_add_connection): Implement
3396         (nm_system_config_interface_update_connection): Implement.
3397         (nm_system_config_interface_remove_connection): Implement.
3398
3399         * system-settings/plugins/keyfile/Makefile.am:
3400         * system-settings/plugins/keyfile/plugin.[ch]:
3401         * system-settings/plugins/keyfile/writer.[ch]:
3402         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3403
3404         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3405
3406         * configure.in: Generate GKeyFile Makefile.
3407
3408         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3409         corruption, need to duplicate the returned string.
3410         (impl_exported_connection_update): Implement.
3411         (impl_exported_connection_delete): Implement.
3412
3413         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3414
3415         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3416
3417 2008-04-22  Dan Williams  <dcbw@redhat.com>
3418
3419         Patch from Charles R. Anderson (cra@wpi.edu)
3420
3421         * src/NetworkManagerPolicy.c
3422                 - (update_routing_and_dns): don't select devices without a gateway
3423                         as having the default route (rh #437338)
3424
3425 2008-04-21  Dan Williams  <dcbw@redhat.com>
3426
3427         * src/nm-activation-request.c
3428           src/nm-activation-request.h
3429                 - (dispose): ensure to disconnect from the device's state-changed signal
3430                         when appropriate so the signal doesn't get handled by an already
3431                         disposed NMActRequest
3432                 - (device_state_changed): update is_default here too just to make sure
3433                         default is only True when the child device is activated
3434                 - (nm_act_request_set_default): new function
3435
3436         * src/NetworkManagerPolicy.c
3437                 - (update_routing_and_dns): set 'default' on the active connection which
3438                         has the default route and DNS
3439
3440 2008-04-21  Dan Williams  <dcbw@redhat.com>
3441
3442         * src/NetworkManagerPolicy.c
3443                 - (device_state_changed): update routing and DNS when a device goes
3444                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3445
3446 2008-04-21  Dan Williams  <dcbw@redhat.com>
3447
3448         * include/NetworkManager.h
3449                 - Add NMActiveConnectionState enum
3450
3451         * introspection/nm-active-connection.xml
3452           introspection/nm-vpn-connection.xml
3453                 - Add 'State' property for overall active connection state
3454                 - Add 'Default' property, when True means this active connection
3455                         has the default route
3456                 - Add PropertyChanged signals so changes actually go out over the bus
3457
3458         * src/nm-active-connection.h
3459                 - Add defines for State & Default properties
3460
3461         * src/nm-activation-request.c
3462                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3463                         signal to determine active connection state
3464
3465         * src/vpn-manager/nm-vpn-connection.c
3466           src/vpn-manager/nm-vpn-connection.h
3467           src/vpn-manager/nm-vpn-manager.c
3468           src/vpn-manager/nm-vpn-service.c
3469                 - Rename old 'state' to 'vpn-state'
3470                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3471                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3472                         'vpn-state-changed' signal
3473
3474         * libnm-glib/nm-active-connection.c
3475           libnm-glib/nm-active-connection.h
3476                 - Add new 'state' and 'default' properties and accessors
3477
3478         * libnm-glib/nm-vpn-connection.c
3479           libnm-glib/nm-vpn-connection.h
3480                 - Rename old 'state' property to 'vpn-state'
3481                 - Add new 'state' and 'default' properties and accessors
3482
3483 2008-04-21  Dan Williams  <dcbw@redhat.com>
3484
3485         * src/nm-ip4-config.c
3486                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3487                         not specified (rh #443474)
3488
3489 2008-04-20  Dan Williams  <dcbw@redhat.com>
3490
3491         * src/NetworkManagerUtils.c
3492           src/NetworkManagerUtils.h
3493                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3494                         NMSettingIP4Config to an NMIP4Config object
3495
3496         * src/nm-device.c
3497                 - (merge_ip4_config): move to NetworkManagerUtils.c
3498
3499         * src/vpn-manager/nm-vpn-connection.c
3500                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3501                         too
3502
3503 2008-04-18  Dan Williams  <dcbw@redhat.com>
3504
3505         * libnm-util/nm-setting-ppp.c
3506           libnm-util/nm-setting-ppp.h
3507                 - Add 'no-vj-comp' option for TCP header compression
3508                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3509                         uint32
3510
3511 2008-04-18  Dan Williams  <dcbw@redhat.com>
3512
3513         * libnm-util/nm-setting-ppp.c
3514           libnm-util/nm-setting-ppp.h
3515           src/ppp-manager/nm-ppp-manager.c
3516                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3517
3518 2008-04-18  Dan Williams  <dcbw@redhat.com>
3519
3520         * libnm-util/nm-setting-ppp.c
3521           libnm-util/nm-setting-ppp.h
3522           src/ppp-manager/nm-ppp-manager.c
3523                 - Remove the 'usepeerdns' option and always request DNS servers from
3524                         the PPP server; the connection chooses to use/override/ignore the
3525                         DNS servers returned from the PPP server
3526
3527 2008-04-18  Dan Williams  <dcbw@redhat.com>
3528
3529         * libnm-util/nm-setting-ppp.c
3530           libnm-util/nm-setting-ppp.h
3531           src/ppp-manager/nm-ppp-manager.c
3532                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3533                         it seems to have been an erroneous addition to the PPTP plugin in
3534                         the first place (from which the ppp-manager is derived)
3535
3536 2008-04-17  Dan Williams  <dcbw@redhat.com>
3537
3538         * libnm-util/nm-setting-pppoe.c
3539                 - (verify): require a PPP setting too
3540
3541         * src/ppp-manager/nm-ppp-manager.c
3542                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3543                         segfaulting
3544
3545 2008-04-17  Dan Williams  <dcbw@redhat.com>
3546
3547         * src/nm-device.c
3548                 - (nm_device_state_changed): do deactivation and and promotion to
3549                         unavailable here, so that the device gets cleaned up before the
3550                         manager runs and starts emitting signals; do the
3551                         FAILED->DISCONNECTED transition from an idle handler rather than
3552                         immediately to guard against recursion
3553                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3554                         FAILED->DISCONNECTED handler if it's scheduled
3555
3556 2008-04-17  Dan Williams  <dcbw@redhat.com>
3557
3558         * src/nm-device-802-11-wireless.c
3559                 - (state_changed_cb): clear AP list when device transitions to
3560                         unavailable or unmanaged
3561                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3562                         since this is already done in device_cleanup()
3563                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3564                         isn't available or managed
3565                 - (device_cleanup): use remove_all_aps()
3566                 - (remove_all_aps): consolidate code removing all APs
3567
3568 2008-04-17  Dan Williams  <dcbw@redhat.com>
3569
3570         * src/nm-serial-device.c
3571           src/nm-serial-device.h
3572                 - (wait_for_reply_got_data): break input into lines, and search each
3573                         line for responses _and_ terminator strings; also make sure that
3574                         the read loop doesn't continue after the timeout is supposed to fire
3575                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3576
3577         * src/nm-gsm-device.c
3578           src/nm-cdma-device.c
3579                 - Send terminators to nm_serial_device_wait_for_reply()
3580
3581 2008-04-16  Dan Williams  <dcbw@redhat.com>
3582
3583         Patch from 陈鑫 <znscnchen@gmail.com>
3584
3585         * src/ppp-manager/nm-pppd-plugin.c
3586                 - (get_credentials): return correct value for success; handle case where
3587                         pppd just does some checking but doesn't want a password
3588                 - (plugin_init): make CHAP work too
3589
3590 2008-04-16  Dan Williams  <dcbw@redhat.com>
3591
3592         Patch from 陈鑫 <znscnchen@gmail.com>
3593
3594         * src/ppp-manager/nm-ppp-manager.c
3595                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3596
3597 2008-04-16  Dan Williams  <dcbw@redhat.com>
3598
3599         Patch from 陈鑫 <znscnchen@gmail.com>
3600
3601         * src/nm-device-802-3-ethernet.c
3602                 - (real_deactivate_quickly): clear the IP interface name on
3603                         deactivation, otherwise the wrong interface might get used later
3604                         for routing and IP management
3605
3606 2008-04-15  Dan Williams  <dcbw@redhat.com>
3607
3608         * libnm-glib/nm-device.c
3609                 - (get_product_and_vendor): handle serial devices correctly
3610                 - (nm_device_update_description): pass device to get_product_and_vendor()
3611
3612 2008-04-15  Dan Williams  <dcbw@redhat.com>
3613
3614         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3615
3616         * src/NetworkManagerSystem.h
3617           src/backends/NetworkManagerArch.c
3618           src/backends/NetworkManagerDebian.c
3619           src/backends/NetworkManagerFrugalware.c
3620           src/backends/NetworkManagerGeneric.c
3621           src/backends/NetworkManagerGeneric.h
3622           src/backends/NetworkManagerGentoo.c
3623           src/backends/NetworkManagerMandriva.c
3624           src/backends/NetworkManagerPaldo.c
3625           src/backends/NetworkManagerRedHat.c
3626           src/backends/NetworkManagerSlackware.c
3627           src/backends/NetworkManagerSuSE.c
3628           src/nm-device.c
3629                 - (nm_generic_device_add_ip6_link_address,
3630                    nm_system_device_add_ip6_link_address): remove
3631
3632 2008-04-15  Dan Williams  <dcbw@redhat.com>
3633
3634         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3635
3636         * src/backends/NetworkManagerArch.c
3637           src/backends/NetworkManagerDebian.c
3638           src/backends/NetworkManagerFrugalware.c
3639           src/backends/NetworkManagerGeneric.c
3640           src/backends/NetworkManagerGeneric.h
3641           src/backends/NetworkManagerGentoo.c
3642           src/backends/NetworkManagerMandriva.c
3643           src/backends/NetworkManagerPaldo.c
3644           src/backends/NetworkManagerRedHat.c
3645           src/backends/NetworkManagerSlackware.c
3646           src/backends/NetworkManagerSuSE.c
3647           src/NetworkManagerSystem.h
3648                 - flush_routes -> flush_ip4_routes
3649                 - flush_addresses -> flush_ip4_addresses
3650
3651         * src/NetworkManagerSystem.c
3652           src/nm-device.c
3653           src/vpn-manager/nm-vpn-connection.c
3654                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3655
3656 2008-04-15  Dan Williams  <dcbw@redhat.com>
3657
3658         Remove exposure of wireless-tools mode types in the API.
3659
3660         * include/NetworkManager.h
3661                 - Define NM80211Mode enum
3662
3663         * introspection/generic-types.xml
3664                 - Describe NM_802_11_MODE enum
3665                 - Remove IW_MODE_* enum
3666
3667         * introspection/nm-access-point.xml
3668           libnm-glib/nm-access-point.c
3669           libnm-glib/nm-access-point.h
3670                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3671
3672         * introspection/nm-device-802-11-wireless.xml
3673           libnm-glib/nm-device-802-11-wireless.c
3674           libnm-glib/nm-device-802-11-wireless.h
3675                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3676
3677         * libnm-util/nm-setting-wireless.c
3678           src/NetworkManagerAP.c
3679           src/NetworkManagerAP.h
3680           src/nm-device-802-11-wireless.c
3681           src/nm-device-802-11-wireless.h
3682           test/nm-tool.c
3683                 - Use NM80211Mode not IW_MODE_*
3684
3685 2008-04-15  Dan Williams  <dcbw@redhat.com>
3686
3687         Enhance nm-online based on a patch from Bill Nottingham.
3688
3689         * test/nm-online.c
3690                 - Add a '-q' option
3691                 - Add help messages and option summary
3692                 - Add long-format options
3693                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3694
3695 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3696
3697         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3698
3699         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3700
3701 2008-04-15  Dan Williams  <dcbw@redhat.com>
3702
3703         * nm-setting-ip4-config.c
3704                 - (ip4_addresses_from_gvalue): handle NULL address array
3705
3706         * nm-setting-8021x.c
3707                 - (verify_tls, verify_ttls): warn on failed verification
3708
3709 2008-04-10  Dan Williams  <dcbw@redhat.com>
3710
3711         * src/nm-gsm-device.c
3712                 - (automatic_registration): accept "+CREG: 0,0"
3713                 - (automatic_registration_response): fail on "+CREG: 0,0"
3714
3715 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3716
3717         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3718
3719 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3720
3721         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3722         Make it compile again by commenting out broken code that at first didn't work and
3723         now didn't compile either.
3724
3725 2008-04-08  Dan Williams  <dcbw@redhat.com>
3726
3727         * libnm-glib/nm-object-cache.c
3728           libnm-glib/nm-settings.c
3729           src/dhcp-manager/nm-dhcp-manager.c
3730           system-settings/plugins/ifcfg-fedora/plugin.c
3731           system-settings/plugins/ifcfg-suse/plugin.c
3732           system-settings/src/nm-system-config-hal-manager.c
3733           libnm-util/nm-utils.c
3734                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3735                         not threadsafe anyway
3736
3737 2008-04-08  Dan Williams  <dcbw@redhat.com>
3738
3739         * system-settings/src/main.c
3740                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3741                         callbacks take a device type too
3742
3743 2008-04-08  Dan Williams  <dcbw@redhat.com>
3744
3745         The system settings service will now create a new default DHCP connection
3746         for wired devices that have no existing applicable connection.
3747
3748         * system-settings/src/nm-system-config-hal-manager.c
3749           system-settings/src/nm-system-config-hal-manager.h
3750                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3751
3752         * system-settings/src/dbus-settings.c
3753           system-settings/src/dbus-settings.h
3754                 - (nm_sysconfig_settings_get_connections): new function
3755                 - (nm_sysconfig_settings_is_device_managed): new function
3756
3757         * system-settings/src/main.c
3758                 - (load_stuff): check for wired devices that need a default connection
3759                 - (get_details_for_udi): get interface and MAC address from HAL
3760                 - (add_default_dhcp_connection): add a default connection for a wired
3761                         device if needed
3762                 - (device_added_cb, device_removed_cb): do the right thing with
3763                         wired devices and their default connections on HAL device events
3764
3765 2008-04-07  Dan Williams  <dcbw@redhat.com>
3766
3767         * libnm-glib/nm-device.c
3768           libnm-glib/nm-device.h
3769                 - Proxy the 'managed' property
3770
3771 2008-04-07  Dan Williams  <dcbw@redhat.com>
3772
3773         * src/nm-gsm-device.c
3774           src/nm-cdma-device.c
3775                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3776                         handler to transition to DISCONNECTED
3777
3778 2008-04-07  Dan Williams  <dcbw@redhat.com>
3779
3780         Patch from Bill Nottingham
3781
3782         * dispatcher-daemon/NetworkManagerDispatcher.c
3783                 - ignore backup/packaging crufy (rh #440143)
3784
3785 2008-04-07  Dan Williams  <dcbw@redhat.com>
3786
3787         * include/NetworkManager.h
3788                 - Remove the DOWN and CANCELLED device states
3789                 - Add UNMANAGED and UNAVAILABLE device states
3790                 - Document the device states
3791
3792         * introspection/nm-device.xml
3793           src/nm-device-interface.c
3794           src/nm-device-interface.h
3795                 - Add the 'managed' property
3796
3797         * test/nm-tool.c
3798                 - (detail_device): print out device state
3799
3800         * src/NetworkManagerSystem.h
3801           src/backends/NetworkManagerArch.c
3802           src/backends/NetworkManagerDebian.c
3803           src/backends/NetworkManagerFrugalware.c
3804           src/backends/NetworkManagerGentoo.c
3805           src/backends/NetworkManagerMandriva.c
3806           src/backends/NetworkManagerPaldo.c
3807           src/backends/NetworkManagerRedHat.c
3808           src/backends/NetworkManagerSlackware.c
3809           src/backends/NetworkManagerSuSE.c
3810                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3811                    nm_system_device_free_system_config): remove; they were unused and
3812                         their functionality should be re-implemented in each distro's
3813                         system settings service plugin 
3814
3815         * src/nm-gsm-device.c
3816           src/nm-gsm-device.h
3817           src/nm-cdma-device.c
3818           src/nm-cdma-device.h
3819                 - (*_new): take the 'managed' argument
3820
3821         * src/nm-device.c
3822                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3823                 - (nm_device_init): start in unmanaged state, not disconnected
3824                 - (constructor): don't start device until the system settings service
3825                         has had a chance to figure out if the device is managed or not
3826                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3827                         don't set device state here, let callers handle that as appropriate
3828                 - (nm_device_dispose): don't touch the device if it's not managed
3829                 - (set_property, get_property, nm_device_class_init): implement the
3830                         'managed' property
3831                 - (nm_device_state_changed): bring the device up if its now managed,
3832                         and deactivate it if it used to be active
3833                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3834                         with the managed state
3835
3836         * src/nm-hal-manager.c
3837                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3838                         take initial managed state and pass it along to device constructors
3839                 - (create_device_and_add_to_list): get managed state and pass to
3840                         type creators
3841
3842         * src/nm-device-802-11-wireless.c
3843                 - (real_can_activate): fold in most of
3844                         nm_device_802_11_wireless_can_activate()
3845                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3846                 - (link_timeout_cb): instead of deactivating, change device state and
3847                         let the device state handler to it
3848                 - (real_update_hw_address): clean up
3849                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3850                         handler to transition to DISCONNECTED if the device isn't rfkilled
3851
3852         * src/nm-device-802-3-ethernet.c
3853                 - (set_carrier): move above callers and get rid of prototype
3854                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3855                         idle handler to transition to DISCONNECTED if the device has a
3856                         carrier
3857                 - (real_update_hw_address): clean up
3858                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3859                         deactivation directly as deactivation doesn't change state anymore
3860
3861         * src/NetworkManagerPolicy.c
3862                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3863                         the NMManager and wireless devices work that out themselves now
3864                 - (device_state_changed): change to a switch and update for new device
3865                         states
3866                 - (device_carrier_changed): remove; device handles this now through
3867                         state changes
3868                 - (device_added): don't care about carrier any more; the initial
3869                         activation check will happen when the device transitions to
3870                         DISCONNECTED
3871
3872         * src/nm-manager.c
3873                 - (dispose): clear unmanaged devices
3874                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3875                         the managed property on each device when needed
3876                 - (system_settings_properties_changed_cb): handle signals from the
3877                         system settings service
3878                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3879                         getting the unmanaged device list method call
3880                 - (query_unmanaged_devices): ask the system settings service for its
3881                         list of unmanaged devices
3882                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3883                         devices
3884                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3885                         devices directly and let them handle the necessary state transitions
3886                 - (manager_device_state_changed): update for new device states
3887                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3888                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3889                 - (nm_manager_activate_connection): return error if the device is
3890                         unmanaged
3891                 - (nm_manager_sleep): handle new device states correctly; don't change
3892                         the state of unavailable/unmanaged devices
3893
3894         * libnm-glib/nm-device-802-11-wireless.c
3895                 - (state_changed_cb): update for new device states
3896
3897 2008-04-07  Dan Williams  <dcbw@redhat.com>
3898
3899         * marshallers/nm-marshal.list
3900                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3901
3902 2008-04-07  Dan Williams  <dcbw@redhat.com>
3903
3904         * system-settings/src/main.c
3905                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3906                         plugins to the dbus settings object
3907                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3908                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3909                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3910                 - (main): switch default logging to syslog with a 'debug' option to
3911                         output to console; start up the HAL manager
3912
3913 2008-04-07  Dan Williams  <dcbw@redhat.com>
3914
3915         * introspection/nm-settings-system.xml
3916           introspection/Makefile.am
3917                 - Define the unmanaged devices interface for the system settings service
3918
3919         * system-settings/src/nm-system-config-hal-manager.c
3920           system-settings/src/nm-system-config-hal-manager.h
3921           system-settings/src/nm-system-config-hal-manager-private.h
3922           system-settings/src/Makefile.am
3923                 - Add a lightweight HAL manager object for tracking network devices for
3924                         the purpose of determining unmanaged devices and which devices need
3925                         the default DHCP connections
3926
3927         * system-settings/src/nm-system-config-interface.c
3928           system-settings/src/nm-system-config-interface.h
3929                 - (nm_system_config_interface_init): add the HAL manager as an argument
3930                 - (nm_system_config_interface_get_unmanaged_devices): implement
3931                 - Define 'unmanaged-devices-changed' signal
3932
3933         * system-settings/src/dbus-settings.c
3934           system-settings/src/dbus-settings.h
3935                 - Implement the unmanaged devices interface; some cleanups
3936
3937         * system-settings/plugins/ifcfg-suse/plugin.c
3938                 - Fixup for plugin interface changes
3939
3940         * system-settings/plugins/ifcfg-fedora/plugin.c
3941                 - (get_ether_device_udi): new function; find the device that has
3942                         a specified MAC address and return its UDI
3943                 - (get_udi_for_connection): new function; try to find the specific
3944                         device a connection is locked to, if any
3945                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3946                         response to HAL events
3947                 - (get_unmanaged_devices): new function; return unmanaged device list
3948                 - (build_one_connection): set the connection's locked device, if any
3949                 - (write_auto_wired_connection): remove
3950                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3951                 - (handle_connection_changed): alert listeners that the unmanaged device
3952                         list has changed
3953                 - (init): fixup for plugin interface changes, implement unmanaged devices
3954
3955         * system-settings/plugins/ifcfg-fedora/parser.c
3956           system-settings/plugins/ifcfg-fedora/parser.h
3957                 - (connection_data_free): clean up connection UDI
3958
3959 2008-04-07  Dan Williams  <dcbw@redhat.com>
3960
3961         * system-settings/plugins/ifcfg-fedora/parser.c
3962                 - (make_ip4_setting): fix parsing of DNS servers
3963
3964 2008-04-05  Dan Williams  <dcbw@redhat.com>
3965
3966         * Makefile.am
3967           configure.in
3968           marshallers/Makefile.am
3969           marshallers/nm-marshal-main.c
3970           marshallers/nm-marshal.list
3971                 - Consolidate marshallers
3972
3973         * libnm-glib/nm-marshal-main.c
3974           libnm-glib/nm-marshal.list
3975           src/marshallers/Makefile.am
3976           src/marshallers/nm-marshal-main.c
3977           src/marshallers/nm-marshal.list
3978                 - Remove
3979
3980         * libnm-glib/Makefile.am
3981           src/Makefile.am
3982           src/dhcp-manager/Makefile.am
3983           src/ppp-manager/Makefile.am
3984           src/supplicant-manager/Makefile.am
3985           src/vpn-manager/Makefile.am
3986                 - Use consolidated marshallers
3987
3988 2008-04-04  Dan Williams  <dcbw@redhat.com>
3989
3990         * src/nm-hal-manager.c
3991           src/nm-hal-manager.h
3992                 - (hal_init): don't look for hardware here
3993                 - (nm_hal_manager_start): new function; look for hardware here instead,
3994                         which can be done at a later time than hal_init()
3995
3996         * src/NetworkManager.c
3997                 - (main): start HAL manager after entering the main loop
3998
3999 2008-04-03  Dan Williams  <dcbw@redhat.com>
4000
4001         * libnm-glib/nm-settings.c
4002           libnm-glib/nm-settings.h
4003             - (nm_exported_connection_get_id): new function
4004                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
4005
4006 2008-04-02  Dan Williams  <dcbw@redhat.com>
4007
4008         * src/nm-device-interface.c
4009           src/nm-device-interface.h
4010           src/nm-device.c
4011           src/nm-device.h
4012                 - Rename check_connection_conflicts() to check_connection_compatible()
4013
4014         * src/nm-device-802-11-wireless.c
4015                 - (real_check_connection_conflicts): remove
4016                 - (real_check_connection_compatible): implement; match MAC address
4017
4018         * src/nm-device-802-3-ethernet.c
4019                 - (real_check_connection_conflicts): remove
4020                 - (real_check_connection_compatible): implement; match MAC address
4021                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4022
4023         * src/nm-manager.c
4024                 - (check_connection_allowed): remove; unused until PolicyKit integration
4025                 - (internal_activate_device): check whether the connection is compatible
4026                         with the device before trying to activate it
4027
4028 2008-04-02  Dan Williams  <dcbw@redhat.com>
4029
4030         * system-settings/plugins/ifcfg-fedora/parser.c
4031                 - (read_mac_address): new function; read in MAC address and stuff it
4032                         into the connection
4033                 - (add_one_wep_key): remove debug spew
4034                 - (make_wireless_security_setting): validate the default TX key; don't
4035                         add the wireless-security setting if the connection doesn't need
4036                         security; don't leak the keys shvarFile on error cases
4037                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4038                         address
4039
4040 2008-04-02  Dan Williams  <dcbw@redhat.com>
4041
4042         * libnm-util/nm-setting-connection.c
4043           libnm-util/nm-setting-connection.h
4044                 - (set_property, get_property, nm_setting_connection_class_init): remove
4045                         the 'lockdown' property; it's functionality will be replaced by
4046                         PolicyKit instead
4047
4048 2008-04-01  Dan Williams  <dcbw@redhat.com>
4049
4050         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4051
4052         * configure.in
4053           initscript/Makefile.am
4054           initscript/Mandriva/Makefile.am
4055           initscript/Mandriva/networkmanager.in
4056           initscript/Mandriva/networkmanagerdispatcher.in
4057           src/backends/Makefile.am
4058           src/backends/NetworkManagerMandriva.c
4059           system-settings/plugins/Makefile.am
4060                 - Add Mandriva support
4061
4062 2008-03-31  Dan Williams  <dcbw@redhat.com>
4063
4064         * src/vpn-manager/nm-vpn-service.c
4065                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4066                         errors can be passed back to the caller; also no longer scheduled
4067                         as an idle handler, but called directly; and bump up VPN service
4068                         spawn timeout, 2s is really short
4069                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4070                         but call it directly so that errors are reported on return from
4071                         ActivateConnection() and don't get lost.  If scheduled as an idle
4072                         handler, clients don't have the time to query NM for the new VPN
4073                         connection's properties before the VPN connection is torn down again
4074                         if the service couldn't be launched, and therefore launch errors
4075                         get lost.
4076
4077 2008-03-31  Dan Williams  <dcbw@redhat.com>
4078
4079         * src/vpn-manager/nm-vpn-connection.c
4080                 - (device_state_changed): send correct state on device failure too
4081                 - (plugin_state_changed): failed state means unexpected disconnection,
4082                         thus if the service goes away while the VPN connection is activated
4083                         that's a failure too
4084
4085 2008-03-31  Dan Williams  <dcbw@redhat.com>
4086
4087         * src/vpn-manager/nm-vpn-manager.c
4088           src/vpn-manager/nm-vpn-manager.h
4089                 - Make VPNManager errors more available; add a service-start-failed error
4090
4091 2008-03-31  Dan Williams  <dcbw@redhat.com>
4092
4093         * libnm-glib/nm-client.c
4094           libnm-glib/nm-client.h
4095                 - (activate_cb): pass the new active connection to callback; fix
4096                         message when no callback is specified
4097
4098 2008-03-30  Dan Williams  <dcbw@redhat.com>
4099
4100         * libnm-util/nm-setting-wireless-security.c
4101                 - (need_secrets): only require key0 if the transmit key index is also
4102                         0
4103                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4104
4105 2008-03-29  Dan Williams  <dcbw@redhat.com>
4106
4107         * libnm-util/nm-setting-8021x.c
4108           libnm-util/nm-setting-ip4-config.c
4109           libnm-util/nm-setting-vpn-properties.c
4110           libnm-util/nm-setting-vpn.c
4111           libnm-util/nm-setting-wireless-security.c
4112           libnm-util/nm-setting-wireless.c
4113           libnm-util/nm-utils.c
4114           src/dhcp-manager/nm-dhcp-manager.c
4115           src/nm-activation-request.c
4116           src/nm-ip4-config.c
4117           src/nm-manager.c
4118           src/nm-properties-changed-signal.c
4119           src/ppp-manager/nm-pppd-plugin.c
4120           src/supplicant-manager/nm-supplicant-interface.c
4121           src/vpn-manager/nm-vpn-connection.c
4122                 - consistently use nm-dbus-glib-types.h
4123
4124 2008-03-29  Dan Williams  <dcbw@redhat.com>
4125
4126         * src/vpn-manager/nm-vpn-connection.c
4127                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4128                         not string
4129
4130         * src/nm-activation-request.c
4131                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4132                         not string
4133
4134 2008-03-29  Dan Williams  <dcbw@redhat.com>
4135
4136         * libnm-glib/nm-device-802-11-wireless.c
4137                 - (access_point_added_proxy): create new APs if not found
4138
4139 2008-03-29  Dan Williams  <dcbw@redhat.com>
4140
4141         * libnm-glib/nm-client.c
4142                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4143                         before freeing them
4144
4145 2008-03-29  Dan Williams  <dcbw@redhat.com>
4146
4147         * system-settings/plugins/ifcfg-fedora/parser.c
4148                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4149                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4150
4151 2008-03-29  Dan Williams  <dcbw@redhat.com>
4152
4153         * system-settings/plugins/ifcfg-fedora/parser.c
4154                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4155
4156 2008-03-27  Dan Williams  <dcbw@redhat.com>
4157
4158         * nm-object.c
4159                 - (nm_object_queue_notify): don't notify multiple times for the same
4160                         property
4161
4162         * nm-object-private.h
4163                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4164                         if it has zero elements
4165
4166         * nm-ip4-config.c
4167                 - (finalize): use g_ptr_array_foreach() when freeing domains
4168                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4169
4170         * nm-active-connection.c
4171                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4172
4173         * nm-device-802-11-wireless.c
4174           nm-device-802-11-wireless.h
4175                 - (nm_device_802_11_wireless_get_access_points): return const; use
4176                         handle_ptr_array_return()
4177
4178         * nm-types.c
4179                 - (nm_object_array_demarshal): always create an array, even of length
4180                         zero, to distinguish between "NM returned no items" and "haven't
4181                         asked NM yet"
4182
4183         * nm-client.c
4184                 - (dispose): free active connections too
4185                 - (proxy_name_owner_changed): free active connections too when NM goes
4186                         away
4187                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4188                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4189
4190 2008-03-26  Dan Williams  <dcbw@redhat.com>
4191
4192         Rework VPN connection handling for a more consistent D-Bus API.  The
4193         VPNManager object has been removed, and active VPN connections are now the
4194         same as any other active connection.  The Manager object's ActivateConnection
4195         and DeactivateConnection methods are used to start and stop a VPN connection,
4196         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4197         When activating a VPN connection, pass the path of the active connection
4198         to which the VPN connection is tied in the 'specific_object' argument.
4199
4200         Consequently, the libnm-glib API has been reworked to match this arrangement,
4201         with the VPNManager object removed, and the NMVPNConnection objects now
4202         being subclasses of NMActiveConnection.
4203
4204 2008-03-25  Dan Williams  <dcbw@redhat.com>
4205
4206         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4207
4208         * initscript/Arch/networkmanager.in
4209           initscript/Arch/networkmanager-dispatcher.in
4210                 - Updates for Arch Linux (gnome.org #523701)
4211
4212 2008-03-25  Dan Williams  <dcbw@redhat.com>
4213
4214         * libnm-glib/nm-ip4-config.c
4215           libnm-glib/nm-active-connection.c
4216           libnm-glib/nm-access-point.c
4217                 - Use nm_object_queue_notify() instead of g_object_notify()
4218
4219         * libnm-glib/nm-device.c
4220                 - (demarshal_ip4_config): distinguish between successful but missing
4221                         ip4-config request, and unsuccessful and missing ip4-config request
4222                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4223                         path
4224                 - Use nm_object_queue_notify() instead of g_object_notify()
4225
4226         * libnm-glib/nm-device-802-11-wireless.c
4227                 - (demarshal_active_ap): distinguish between successfull but missing
4228                         active-ap request, and unsuccessful and missing active-ap request
4229                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4230                         code
4231                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4232                         for the NMClient to notify the device that wireless is disabled,
4233                         and therefore to clear the AP list and active AP
4234                 - Use nm_object_queue_notify() instead of g_object_notify()
4235
4236         * libnm-glib/nm-client.c
4237                 - (poke_wireless_devices_with_rf_status): new function
4238                 - (update_wireless_status): notify wireless devices of the rfkill status
4239                         so they can clean up if needed
4240                 - Use nm_object_queue_notify() instead of g_object_notify()
4241
4242 2008-03-25  Dan Williams  <dcbw@redhat.com>
4243
4244         * libnm-glib/nm-object.c
4245           libnm-glib/nm-object-private.h
4246                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4247                         signals to an idle handler
4248                 - (nm_object_get_property): add a timeout to the D-Bus method call
4249
4250 2008-03-25  Dan Williams  <dcbw@redhat.com>
4251
4252         * introspection/nm-device-cdma.xml
4253           introspection/nm-device-gsm.xml
4254           introspection/Makefile.am
4255           introspection/all.xml
4256                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4257
4258         * src/nm-gsm-device.h
4259           src/nm-gsm-device.c
4260           src/nm-cdma-device.h
4261           src/nm-cdma-device.c
4262           src/Makefile.am
4263                 - Implement PropertiesChanged signals
4264
4265         * libnm-glib/nm-cdma-device.c
4266           libnm-glib/nm-cdma-device.c
4267                 - Attach to PropertiesChanged signals
4268
4269 2008-03-24  Dan Williams  <dcbw@redhat.com>
4270
4271         * libnm-glib/nm-client.c
4272                 - (client_device_added_proxy): add new devices to the internal device
4273                         list so they appear to clients
4274
4275 2008-03-24  Dan Williams  <dcbw@redhat.com>
4276
4277         Massive fixup of libnm-glib to:
4278         a) have all objects (with the exception of VPN) cache their properties and
4279                 update them asynchronously on PropertiesChanged signals from NM
4280         b) return internal const data for most attributes/properties instead of
4281                 allocated values that the caller must free
4282         c) cache wrapped objects such that a given D-Bus path will always map to the
4283                 same GObject returned by libnm-glib
4284         d) remove a few signals and move them to GObject property notifications
4285         e) match recent NM D-Bus API changes for activation/deactivation
4286         f) remove some private functions from libnm-glib headers
4287
4288 2008-03-20  Dan Williams  <dcbw@redhat.com>
4289
4290         * src/nm-manager.c
4291                 - (nm_manager_update_state, manager_device_state_changed,
4292                    nm_manager_activate_device, connection_added_default_handler,
4293                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4294                         queue PropertyChanged singals when the active connections change
4295
4296 2008-03-20  Dan Williams  <dcbw@redhat.com>
4297
4298         * introspection/nm-manager.xml
4299           introspection/nm-manager-client.xml
4300                 - (ActivateConnection): return the object path of the active connection
4301                         on success
4302                 - (GetActiveConnections): remove
4303                 - (DeactivateConnection): new function; deactivate a currently active
4304                         connection
4305                 - Add an ActiveConnections property which returns an array of
4306                         active connection object paths
4307
4308         * introspection/nm-device.xml
4309                 - (Deactivate): remove
4310
4311         * introspection/all.xml
4312                 - Add ActiveConnection introspection
4313
4314         * introspection/nm-active-connection.xml
4315                 - Add the ActiveConnection object
4316
4317         * include/NetworkManager.h
4318                 - Add the Connection.Active D-Bus interface
4319
4320         * src/nm-device-interface.c
4321                 - (impl_device_deactivate): remove
4322
4323         * src/nm-activation-request.c
4324           src/nm-activation-request.c
4325           src/Makefile.am
4326                 - Implement the Connection.Active D-Bus interface
4327
4328         * src/nm-manager.c
4329                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4330                 - (nm_manager_activate_device): return the active connection path
4331                 - (connection_added_default_handler, impl_manager_activate_connection):
4332                         return the active connection to the caller
4333                 - (add_one_connection_element, impl_manager_get_active_connections):
4334                         remove
4335                 - (impl_manager_deactivate_connection): new function; deactivate an
4336                         active connection
4337
4338         * libnm-glib/nm-device.c
4339           libnm-glib/nm-device.h
4340                 - Remove Deactivate() function
4341
4342 2008-03-19  Dan Williams  <dcbw@redhat.com>
4343
4344         * introspection/nm-manager.xml
4345           introspection/nm-manager-client.xml
4346                 - Rename the ActivateDevice method to ActivateConnection to better
4347                         reflect it's usage; it's arguments get reordered a bit too
4348                 - Convert GetActiveConnections method return from a struct to a dict
4349
4350         * include/NetworkManager.h
4351                 - Define the dict keys for return value of GetActiveConnections
4352
4353         * src/nm-manager.c
4354                 - impl_manager_activate_device -> impl_manager_activate_connection
4355                 - (add_one_connection_element): return a populated hash table, not
4356                         a structure
4357
4358         * libnm-glib/nm-client.c
4359           libnm-glib/nm-client.h
4360                 - nm_client_activate_device -> nm_client_activate_connection
4361                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4362                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4363                         instead of the custom structures.  Each element of the returned list
4364                         must be freed with nm_client_free_active_connections_element()
4365
4366 2008-03-18  Dan Williams  <dcbw@redhat.com>
4367
4368         * system-settings/plugins/ifcfg-fedora/parser.c
4369           system-settings/plugins/ifcfg-fedora/parser.h
4370           system-settings/plugins/ifcfg-fedora/plugin.c
4371                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4372                         profiles.  DNS servers and searches must now be stored in the ifcfg
4373                         files themselves
4374
4375 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4376
4377         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4378         print out username and password, it's supposed to be a secret.
4379
4380         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4381         request and set the device state accordingly.
4382
4383 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4384
4385         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4386
4387         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4388
4389 2008-03-18  Dan Williams  <dcbw@redhat.com>
4390
4391         * src/vpn-manager/nm-vpn-connection.c
4392                 - (get_secrets_cb): handle new GetSecrets return format
4393
4394 2008-03-18  Dan Williams  <dcbw@redhat.com>
4395
4396         Adapt system settings service for split 802.1x.
4397
4398         * system-settings/src/nm-system-config-interface.h
4399                 - clarify return value of get_secrets()
4400
4401         * system-settings/src/dbus-settings.c
4402                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4403                 - (check_for_secrets): check if there actually secrets returned by a
4404                         plugin
4405                 - (exported_connection_get_secrets): just return the plugin-returned
4406                         hash of settings' secrets if it looks valid
4407
4408         * system-settings/plugins/ifcfg-fedora/plugin.c
4409                 - (get_secrets): add split secrets with correct format to reply hash
4410
4411         * system-settings/plugins/ifcfg-fedora/parser.c
4412           system-settings/plugins/ifcfg-fedora/parser.h
4413                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4414                    connection_data_free, connection_data_add): keep secrets for
4415                         different settings in different hashes
4416
4417 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4418
4419         Clean up activating device deactivation.
4420
4421         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4422         should be done whether the device activation gets cancelled or the device
4423         is just getting deactivated.
4424         (nm_device_activation_cancel): Remove.
4425         (nm_device_deactivate_quickly): Handle the case where device is activating.
4426
4427         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4428         It does the exact same thing as real_deactivate_quickly().
4429
4430 2008-03-17  Dan Williams  <dcbw@redhat.com>
4431
4432         Split the 802.1x bits out of the wireless-security setting so they are
4433         generalized enough for wired 802.1x to use too.
4434
4435         * introspection/nm-exported-connection.xml
4436                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4437                         of just a hash of the secrets for one setting
4438
4439         * libnm-util/nm-setting-wireless-security.c
4440           libnm-util/nm-setting-wireless-security.h
4441                 - Remove 802.1x-specific stuff
4442                 - Added leap-username and leap-password properties for old-school LEAP
4443
4444         * src/nm-device.c
4445           src/nm-device.h
4446                 - (connection_secrets_updated_cb): take a list of updated settings names,
4447                         not just one
4448
4449         * src/supplicant-manager/nm-supplicant-config.c
4450           src/supplicant-manager/nm-supplicant-config.h
4451                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4452                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4453                         to nm_supplicant_config_add_setting_8021x()
4454                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4455                         the supplicant config
4456
4457         * src/nm-device-802-11-wireless.c
4458                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4459                 - (real_connection_secrets_updated): take a list of updated settings
4460                         names, not just one
4461
4462         * src/nm-device-802-3-ethernet.c
4463           src/nm-cdma-device.c
4464           src/nm-gsm-device.c
4465                 - (real_connection_secrets_updated_cb): take a list of updated settings
4466                         names, not just one
4467
4468         * src/nm-activation-request.c
4469           src/nm-activation-request.h
4470                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4471                         now passes a list of updated settings names, not just one
4472                 - (update_one_setting): new function; handle one updated setting
4473                 - (get_secrets_cb): handle multiple settings returned from the
4474                         settings service; have to be careful of ordering here as there are
4475                         some dependencies between settings (ex. wireless-security and 802.1x
4476                         in some cases)
4477
4478         * src/marshallers/nm-marshal.list
4479                 - new marshaller for connection-secrets-updated signal
4480
4481         * libnm-util/nm-setting-8021x.c
4482                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4483                         methods
4484                 - (verify): a valid 'eap' property is now required
4485
4486         * libnm-util/nm-connection.c
4487                 - (register_default_settings): add priorities to settings; there are
4488                         some dependencies between settings, and during the need_secrets
4489                         calls this priority needs to be respected.  For example, only the
4490                         wireless-security setting knows whether or not the connection is
4491                         going to use 802.1x or now, so it must be asked for secrets before
4492                         any existing 802.1x setting is
4493                 - (nm_connection_lookup_setting_type): expose
4494
4495         * libnm-util/nm-setting-wireless.c
4496                 - (verify): should verify even if all_settings is NULL; otherwise won't
4497                         catch the case where there is missing security
4498
4499         * libnm-util/nm-setting-wireless-security.c
4500                 - Remove everything to do with 802.1x
4501                 - Add old-school LEAP specific properties for username and password
4502                 - (need_secrets): rework LEAP secrets checking
4503                 - (verify): rework for LEAP and 802.1x verification
4504
4505 2008-03-17  Dan Williams  <dcbw@redhat.com>
4506
4507         * src/NetworkManagerPolicy.c
4508                 - (auto_activate_device): always remove the current activation check
4509                         from the pending activation list, otherwise when the policy gets
4510                         destroyed on NM exit it will attempt to free the already freed
4511                         activation check
4512
4513 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4514
4515         * src/backends/NetworkManagerSlackware.c 
4516         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4517
4518         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4519
4520 2008-03-14  Dan Williams  <dcbw@redhat.com>
4521
4522         * src/nm-manager.c
4523                 - (nm_device_interface_get_iface): g_object_get() will return an
4524                         allocated value, so this function must not return const
4525                 - (nm_device_interface_activate): free returned iface
4526
4527 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4528
4529         * libnm-util/Makefile.am: Add new files to build.
4530
4531         * libnm-util/nm-connection.c: Register NMSetting8021x.
4532
4533         * libnm-util/nm-setting-8021x.c
4534         * libnm-util/nm-setting-8021x.h: Implement.
4535
4536 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4537
4538         * libnm-util/Makefile.am: Add new files to build.
4539
4540         * libnm-util/nm-connection.c: Register NMSetting8021x.
4541
4542         * libnm-util/nm-setting-8021x.c
4543         * libnm-util/nm-setting-8021x.h: Implement.
4544
4545 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4546
4547         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4548         data.
4549
4550 2008-03-14  Dan Williams  <dcbw@redhat.com>
4551
4552         * include/wireless-helper.h
4553           include/Makefile.am
4554                 - One place for all the junk needed for #including wireless.h
4555
4556         * test/nm-tool.c
4557           src/NetworkManagerAP.c
4558           src/wpa.c
4559           src/Makefile.am
4560           libnm-util/nm-utils.c
4561           libnm-util/nm-setting-wireless.c
4562           libnm-glib/nm-device-802-11-wireless.c
4563           libnm-glib/nm-access-point.c
4564           libnm-glib/libnm-glib-test.c
4565                 - include wireless-helper.h, not iwlib.h
4566
4567         * configure.in
4568                 - Don't need libiw really, just need to check for wireless.h
4569
4570         * src/kernel-types.h
4571                 - Remove; used types moved into wpa.c
4572
4573         * src/nm-device-802-11-wireless.c
4574                 - (nm_device_802_11_wireless_update_signal_strength,
4575                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4576                    nm_device_802_11_wireless_set_mode,
4577                    nm_device_802_11_wireless_get_frequency,
4578                    nm_device_802_11_wireless_get_ssid,
4579                    nm_device_802_11_wireless_set_ssid,
4580                    nm_device_802_11_wireless_get_bitrate,
4581                    nm_device_802_11_wireless_get_bssid,
4582                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4583                         instead of iwlib functions
4584
4585 2008-03-14  Dan Williams  <dcbw@redhat.com>
4586
4587         * src/ppp-manager/nm-ppp-manager.c
4588                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4589                         should only take the DBusGMethodInvocation argument, not user/pass
4590                         too.  With dbus-glib, async functions only take 2 C arguments since
4591                         the real dbus method arguments get passed back with
4592                         dbus_g_method_return()
4593
4594 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4595
4596         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4597         Adapt the changes of NMSettingIP4Config.
4598
4599 2008-03-13  Dan Williams  <dcbw@redhat.com>
4600
4601         * src/NetworkManagerUtils.c
4602           src/NetworkManagerUtils.h
4603                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4604
4605         * src/NetworkManagerAP.c
4606           src/nm-device-802-11-wireless.c
4607           src/nm-device-802-3-ethernet.c
4608                 - s/iw_ether_ntop/nm_ether_ntop/g
4609
4610 2008-03-13  Dan Williams  <dcbw@redhat.com>
4611
4612         * src/NetworkManagerPolicy.c
4613                 - (update_routing_and_dns): never set the default route through an
4614                         IPv4LL addressed device
4615
4616 2008-03-13  Dan Williams  <dcbw@redhat.com>
4617
4618         * NetworkManagerUtils.c
4619           NetworkManagerUtils.h
4620                 - Remove NMSock stuff
4621                 - Remove the completion stuff
4622
4623         * nm-device.c
4624           nm-device.h
4625           NetworkManager.c
4626           NetworkManagerSystem.c
4627           autoip.c
4628           nm-device-802-11-wireless.c
4629           nm-device-802-3-ethernet.c
4630                 - Remove NMSock and completion stuff
4631                 - Remove nm_ioctl_info()
4632
4633 2008-03-12  Dan Williams  <dcbw@redhat.com>
4634
4635         * src/nm-device.c
4636                 - (merge_ip4_config): avoid duplicates
4637
4638 2008-03-12  Dan Williams  <dcbw@redhat.com>
4639
4640         * libnm-util/nm-setting-ip4-config.c
4641           libnm-util/nm-setting-ip4-config.h
4642                 - Remove 'manual' and 'autoip' properties
4643                 - Add 'method' property
4644                 - (verify): fix verification with 'method'
4645                 - (finalize): free 'method'
4646                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4647                         up for 'method'
4648
4649         * src/nm-device.c
4650                 - (real_act_stage3_ip_config_start): check IP4Config method
4651                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4652                         the future
4653                 - (merge_ip4_config): IP settings are valid with DHCP too
4654                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4655                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4656
4657         * src/nm-device-802-11-wireless.c
4658                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4659                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4660                         only on demand
4661
4662         * system-settings/plugins/ifcfg-fedora/parser.c
4663           system-settings/plugins/ifcfg-suse/parser.c
4664                 - (make_ip4_setting): fix up for 'method'
4665
4666 2008-03-12  Dan Williams  <dcbw@redhat.com>
4667
4668         * system-settings/plugins/ifcfg-fedora/parser.c
4669           system-settings/plugins/ifcfg-fedora/parser.h
4670                 - (get_ifcfg_name): ignore more file suffixes
4671                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4672
4673 2008-03-12  Dan Williams  <dcbw@redhat.com>
4674
4675         * configure.in
4676                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4677
4678 2008-03-12  Dan Williams  <dcbw@redhat.com>
4679
4680         * system-settings/plugins/ifcfg-fedora/plugin.c
4681                 - (write_auto_wired_connection): new function; write out an auto
4682                         wired connection file since the applet isn't doing it any more
4683                 - (reload_all_connections): write out the auto wired connection file
4684                         if there aren't any wired connections already
4685                 - (init): don't leak a GError
4686
4687 2008-03-12  Dan Williams  <dcbw@redhat.com>
4688
4689         * src/nm-device-interface.c
4690                 - (nm_device_interface_activate): print the ID of the connection
4691                         that's about to be activated
4692
4693 2008-03-12  Dan Williams  <dcbw@redhat.com>
4694
4695         Harmonize the 802.11 bitrate API
4696
4697         * introspection/nm-access-point.xml
4698                 - 'Rate' -> 'MaxBitrate'; clarify units
4699
4700         * introspection/nm-device-802-11-wireless.xml
4701                 - Clarify units of 'Bitrate'
4702
4703         * src/NetworkManagerAP.c
4704           src/NetworkManagerAP.h
4705                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4706                         property to 'max-bitrate'
4707                 - (foreach_property_cb): convert rate to Kb/s
4708
4709         * src/nm-device-802-11-wireless.c
4710                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4711
4712         * libnm-glib/nm-access-point.c
4713           libnm-glib/nm-access-point.h
4714                 - 'rate' -> 'max-bitrate'
4715
4716         * test/nm-tool.c
4717           libnm-glib/libnm-glib-test.c
4718                 - Fix up for these changes
4719
4720 2008-03-12  Dan Williams  <dcbw@redhat.com>
4721
4722         * src/nm-device.c
4723                 - (nm_device_set_ip4_config): don't send property notifications when
4724                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4725                         which dbus-glib can't parse because the value is NULL, which isn't
4726                         a legal object path.  Setting the IP4 config to NULL is only
4727                         valid when deactivating a device anyway, so the device state change
4728                         will alert listeners that the ip4 config is invalid.
4729
4730 2008-03-12  Dan Williams  <dcbw@redhat.com>
4731
4732         * src/nm-properties-changed-signal.c
4733                 - (add_to_string): better handling of NULL objects
4734
4735 2008-03-12  Dan Williams  <dcbw@redhat.com>
4736
4737         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4738         convert the libnm-glib NMDevice8023Ethernet to cached properties
4739
4740         * introspection/nm-device-802-3-ethernet.xml
4741                 - New 'Carrier' property
4742                 - New 'PropertiesChanged' signal
4743
4744         * introspection/nm-device.xml
4745                 - Remove 'Carrier' property
4746                 - Remove 'CarrierChanged' signal
4747
4748         * src/nm-device-interface.c
4749           src/nm-device-interface.h
4750                 - (nm_device_interface_init): remove 'carrier' property and
4751                         'carrier-changed' signal
4752
4753         * src/nm-device.c
4754           src/nm-device.h
4755                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4756                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4757                         the link here; wired device will handle that
4758                 - (handle_dhcp_lease_change): don't bother updating link here
4759                 - (get_property, nm_device_class_init): remove carrier property
4760
4761         * src/nm-device-802-11-wireless.c
4762                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4763                         real_update_link(); wireless devices don't use carrier at all
4764                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4765                    supplicant_iface_connection_state_cb_handler,
4766                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4767
4768         * src/nm-device-802-3-ethernet.c
4769           src/nm-device-802-3-ethernet.h
4770                 - (nm_device_802_3_ethernet_carrier_on,
4771                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4772                         instead of nm_device_set_carrier()
4773                 - (device_state_changed): update link from sysfs on activation;
4774                         replaces real_update_link()
4775                 - (real_update_link): remove, replaced by device_state_changed()
4776                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4777                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4778                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4779                         new get_carrier function
4780                 - (get_property): add 'carrier' property
4781                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4782                         hook into property-changed signal helper
4783
4784         * src/NetworkManagerPolicy.c
4785                 - (device_carrier_changed): will only ever be called with a wired device
4786                 - (device_added): only hook up to carrier-changed for wired devices
4787
4788         * libnm-glib/nm-device.c
4789           libnm-glib/nm-device.h
4790                 - (constructor, nm_device_class_init): remove carrier-changed signal
4791                 - (device_carrier_changed_proxy): remove; unused
4792                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4793
4794         * libnm-glib/nm-device-802-3-ethernet.c
4795           libnm-glib/nm-device-802-3-ethernet.h
4796                 - Convert to cached properties like AP and Wireless objects
4797                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4798                         instead of a 'char *', return value should not be freed
4799                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4800                 - (constructor): hook into properties-changed helper
4801                 - (set_property, get_property): new functions
4802                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4803
4804         * test/nm-tool.c
4805                 - (detail_device): strdup the wired hardware address too since it's
4806                         cached now
4807
4808         * libnm-glib/libnm-glib-test.c
4809                 - (dump_wired): strdup the wired hardware address too since it's
4810                         cached now
4811
4812 2008-03-12  Dan Williams  <dcbw@redhat.com>
4813
4814         * libnm-util/nm-setting-ip4-config.c
4815           libnm-util/nm-setting-ip4-config.h
4816                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4817                         the 'autoip' property from the spec
4818
4819 2008-03-11  Dan Williams  <dcbw@redhat.com>
4820
4821         * src/backends/NetworkManagerGeneric.c
4822           src/backends/NetworkManagerGeneric.h
4823                 - (nm_generic_device_get_use_dhcp): remove
4824
4825 2008-03-11  Dan Williams  <dcbw@redhat.com>
4826
4827         * src/nm-device.c
4828                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4829                         already in nm_device_set_ip4_config()
4830                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4831                         due to a DHCP rebind fails
4832                 - (nm_device_set_ip4_config): send property notifications when the
4833                         ip4 config changes
4834                 - (get_property): only report IP4Config property during valid states
4835
4836         * src/NetworkManagerPolicy.c
4837                 - (update_routing_and_dns): ignore devices that don't have an ip4
4838                         config; add parameter 'force_update' to allow callers to specify
4839                         that changes should be made even if the default device doesn't change
4840                 - (device_ip4_config_changed): update DNS and routing when the device's
4841                         IP4Config changes, like for DHCP updates
4842                 - (device_added): listen for ip4-config property changes
4843
4844 2008-03-11  Dan Williams  <dcbw@redhat.com>
4845
4846         Fix address handling as a result of DHCP rebind/renew/reboot.
4847
4848         * src/NetworkManagerSystem.c
4849                 - (check_one_address): delete an address if it doesn't match a given
4850                         one for the same interface
4851                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4852                         be smarter about flushing addresses (only flush ones that don't
4853                         match the one we're about to apply)
4854
4855         * src/backends/NetworkManagerDebian.c
4856           src/backends/NetworkManagerSuSE.c
4857           src/backends/NetworkManagerArch.c
4858           src/backends/NetworkManagerSlackware.c
4859           src/backends/NetworkManagerRedHat.c
4860           src/backends/NetworkManagerPaldo.c
4861           src/backends/NetworkManagerFrugalware.c
4862           src/backends/NetworkManagerGentoo.c
4863                 - (nm_system_delete_default_route): remove
4864
4865         * src/backends/NetworkManagerGeneric.c
4866           src/backends/NetworkManagerGeneric.h
4867                 - (nm_generic_enable_loopback): fix the loopback device label
4868                 - (nm_generic_delete_default_route): remove; no longer used
4869
4870 2008-03-11  Dan Williams  <dcbw@redhat.com>
4871
4872         * src/nm-device-interface.h
4873                 - Delimit property name words with '-', otherwise g_object_notify()
4874                         doesn't work the way we expect
4875
4876 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4877
4878         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4879
4880 2008-03-11  Dan Williams  <dcbw@redhat.com>
4881
4882         * src/NetworkManagerPolicy.c
4883                 - (update_routing_and_dns): don't change anything if the default device
4884                         hasn't changed; print something out when switching the default route
4885                         and DNS
4886
4887 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4888
4889         Implement PPPoE.
4890
4891         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4892         setting. Use "nic-$eth".
4893
4894         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4895         the device is activating here to fix a race condition.
4896
4897         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4898
4899         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4900         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4901         (nm_ppp_manager_start): Take activation request instead of connection, we might
4902         need it for asking secrets.
4903         (nm_ppp_manager_update_secrets): Implement.
4904
4905         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4906         ppp manager start. It might be needed for asking secrets.
4907
4908         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4909         (ppp_state_changed): Handle pppd daemon disappearing.
4910         (pppoe_stage2_config): Send activation request to ppp manager start.
4911
4912         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4913
4914         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4915         username and password.
4916         
4917 2008-03-10  Dan Williams  <dcbw@redhat.com>
4918
4919         * src/nm-device.c
4920                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4921                         response to a DHCP lease change
4922                 - (dhcp_state_changed): handle DHCP lease changes while activated
4923                 - (nm_device_set_ip4_config): remove a previously set named config
4924                         when setting an ip4 config
4925
4926 2008-03-10  Dan Williams  <dcbw@redhat.com>
4927
4928         * src/nm-serial-device.c
4929                 - (nm_serial_device_send_command): report errno on error
4930                 - (get_reply_got_data): limit the size of the overall buffer
4931                 - (wait_for_reply_info_destroy): destroy result string
4932                 - (wait_for_reply_got_data): append received data to an overall buffer
4933                         until timeout, filled buffer, or error instead of keeping a per-call
4934                         buffer.  Some devices send data slowly enough that this function
4935                         gets called multiple times for the same command stream.
4936                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4937                         wait_for_reply_got_data() here
4938
4939 2008-03-10  Dan Williams  <dcbw@redhat.com>
4940
4941         * src/nm-cdma-device.c
4942                 - (do_dial, init_modem): handle errors from
4943                         nm_serial_device_send_command_string()
4944
4945         * src/nm-gsm-device.c
4946                 - (do_dial, manual_registration, automatic_registration_get_network,
4947                    automatic_registration, enter_pin, check_pin, init_modem): handle
4948                         errors from nm_serial_device_send_command_string()
4949
4950 2008-03-10  Dan Williams  <dcbw@redhat.com>
4951
4952         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4953
4954         * src/named-manager/nm-named-manager.c
4955                 - (compute_searches): prefer searches before domains
4956                 - (compute_domain): new function
4957                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4958                 - (merge_one_ip4_config): if there are no searches in the source config,
4959                         merge domains of the source config into the target config
4960                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4961
4962 2008-03-10  Dan Williams  <dcbw@redhat.com>
4963
4964         * src/nm-serial-device.c
4965                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4966                 - (wait_for_reply_got_data): try to handle slower serial devices where
4967                         the reply is broken up into multiple reads by concatenating replies
4968                         together until either an error is received or the search string is
4969                         found
4970
4971 2008-03-10  Dan Williams  <dcbw@redhat.com>
4972
4973         * src/nm-device.c
4974                 - (nm_device_bring_down): deactivate the device if it's activating too,
4975                         not just if it's already activated.  This makes sure that everything
4976                         from an association attempt is cleaned up (like DHCP for example)
4977
4978 2008-03-10  Dan Williams  <dcbw@redhat.com>
4979
4980         * src/nm-serial-device.c
4981                 - (config_fd): report error from TCSETA
4982                 - (nm_serial_device_open): fail when config_fd() fails
4983
4984 2008-03-10  Dan Williams  <dcbw@redhat.com>
4985
4986         * src/nm-ip4-config.c
4987                 - (nm_ip4_config_init): allocate searches list
4988                 - (finalize): free searches list
4989
4990 2008-03-09  Dan Williams  <dcbw@redhat.com>
4991
4992         Patch from Bas Zoetekouw <bas@debian.org>
4993
4994         * src/dhcp-manager/nm-dhcp-manager.c
4995                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
4996
4997 2008-03-09  Dan Williams  <dcbw@redhat.com>
4998
4999         Patch from Bas Zoetekouw <bas@debian.org>
5000
5001         * src/nm-ip4-config.c
5002           src/nm-ip4-config.h
5003                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
5004                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
5005                         domains.  'searches' is the correct way to store multiple search
5006                         domains, whereas 'domains' is really just supposed to store one
5007                         domain.  Some sites abuse the DHCP 'domain-name' option to push
5008                         search domains to the client.
5009                 - (nm_ip4_config_add_domain): group with related functions (my patch)
5010
5011 2008-03-09  Dan Williams  <dcbw@redhat.com>
5012
5013         * src/dhcp-manager/nm-dhcp-manager.c
5014                 - (dhclient_run): send interface-specific config files to dhclient
5015
5016 2008-03-07  Dan Williams  <dcbw@redhat.com>
5017
5018         * system-settings/plugins/ifcfg-fedora/parser.c
5019                 - (is_wireless_device): new function; test a device for wireless
5020                         extensions
5021                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5022                         test the device for wireless extensions to determine the type
5023
5024 2008-03-07  Dan Williams  <dcbw@redhat.com>
5025
5026         Change manager's StateChange signal to StateChanged for consistency.
5027
5028         * introspection/nm-manager.xml
5029                 - Add 'StateChanged' signal
5030                 - Move 'StateChange' down to the deprecated section
5031
5032         * src/nm-hal-manager.c
5033                 - (nm_hal_manager_new): connect to 'state-changed' instead
5034
5035         * src/NetworkManagerPolicy.c
5036                 - (nm_policy_new): connect to 'state-changed' instead
5037
5038         * src/nm-manager.c
5039           src/nm-manager.h
5040                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5041                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5042                         of 'state-change'
5043
5044         * libnm-glib/nm-client.c
5045           libnm-glib/nm-client.h
5046                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5047                         track and proxy 'state-changed' instead of 'state-change'
5048
5049 2008-03-07  Dan Williams  <dcbw@redhat.com>
5050
5051         First pass of multiple active device support.  Expect bugs.
5052
5053         * src/nm-ip4-config.c
5054           src/nm-ip4-config.h
5055                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5056                         there are better ways to do this in the named manager
5057
5058         * src/nm-device.c
5059           src/nm-device.h
5060                 - (nm_device_can_activate): return whether the device can activate a
5061                         connection right now; taking into account things like carrier state
5062                         and rfkill state
5063                 - (nm_device_get_best_auto_connection): renamed from
5064                         nm_device_get_best_connection
5065                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5066                         device subclasses themselves, so that each device can override the
5067                         MTU from it's NMSetting subclass if needed
5068                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5069                         in NetworkManagerSystem.c, not here
5070
5071         * src/named-manager/nm-named-manager.c
5072           src/named-manager/nm-named-manager.h
5073                 - (nm_named_manager_name_owner_changed,
5074                    nm_named_manager_dbus_connection_changed): fix for changes to
5075                         rewrite_resolv_conf()
5076                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5077                         from parameter list
5078                 - (merge_one_ip4_config): new function; merge ip4 configs together
5079                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5080                         ip4 configs; the VPN config takes precedence, then the best
5081                         device config, then the rest of the configs
5082                 - (get_domain_for_config): take the NMNamedManager as an argument
5083                         to check whether the config is the VPN config
5084                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5085                         attribute from ip4 configs
5086                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5087                 - (remove_ip4_config_from_named): fix for changes to
5088                         get_domain_for_config()
5089                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5090                         based on its type; callers must pass in the type now
5091                 - (get_last_default_domain): remove, unused
5092                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5093
5094         * src/nm-device-802-11-wireless.c
5095                 - (real_can_activate): new function
5096                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5097                 - (real_act_stage4_get_ip4_config): handle MTU override
5098
5099         * src/nm-device-802-3-ethernet.c
5100                 - (real_can_activate): new function
5101                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5102                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5103
5104         * src/vpn-manager/nm-vpn-connection.c
5105                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5106                         attribute on the ip4 config
5107
5108         * src/NetworkManagerPolicy.c
5109                 - (nm_policy_auto_get_best_device): remove
5110                 - (nm_policy_device_change_check): remove
5111                 - (update_default_route): new function; set the default route via
5112                         the specified device
5113                 - (get_device_priority): new function; return the priority number of
5114                         a device type WRT which one should have the default route.  Order is
5115                         (highest to lowest)  wired, wireless, GSM, CDMA.
5116                 - (update_routing_and_dns): new function; determine which device should
5117                         have the default route, then update the routing table and DNS
5118                 - (maybe_auto_activate_device): new function; if a device is now
5119                         available for activation, find out what connection it would like to
5120                         activate and do it
5121                 - (schedule_activate_check): new function; if a device can be activated
5122                         now, schedule the activation.  Each device may have only one
5123                         pending activation at a given time.
5124                 - (device_state_changed): if activation was canceled, try again,
5125                         possibly with another connection; if the device was activated,
5126                         update routing and DNS; if the device was deactivated, try again
5127                         with another connection
5128                 - (device_carrier_changed): if there is no carrier, deactivate the
5129                         device; otherwise schedule an activation check for the device
5130                 - (wireless_networks_changed): schedule an activation check for the
5131                         device
5132                 - (device_added): keep track of the signal handler IDs so they can
5133                         be removed when the device goes away
5134                 - (device_removed): remove any signal handlers that might be attached
5135                         to the device; update routing and DNS
5136                 - (schedule_activate_all): new function
5137                 - (connections_added, connection_added, connection_updated): when
5138                         connections change, schedule all devices for an activation check
5139                 - (connection_removed): when a device is deactivated because its
5140                         connection was removed, schedule another activation check for it
5141                 - (nm_policy_destroy): destroy pending activations and disconnect
5142                         all device signal handlers
5143
5144         * src/nm-manager.c
5145                 - (nm_manager_activate_device): if the device was already actived,
5146                         deactivate it
5147                 - (deactivate_old_device): remove
5148                 - (connection_added_default_handler, impl_manager_activate_device):
5149                         don't deactivate other devices when activating this one
5150
5151         * src/backends/NetworkManagerGentoo.c
5152           src/backends/NetworkManagerFrugalware.c
5153           src/backends/NetworkManagerPaldo.c
5154           src/backends/NetworkManagerRedHat.c
5155           src/backends/NetworkManagerSlackware.c
5156           src/backends/NetworkManagerArch.c
5157           src/backends/NetworkManagerSuSE.c
5158           src/backends/NetworkManagerDebian.c
5159                 - (nm_system_get_mtu): remove; MTU should be provided through the
5160                         distro's system settings service plugin instead
5161                 - (nm_system_device_add_default_route_via_device): remove
5162                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5163                 - (nm_system_device_replace_default_route): new function; call
5164                         generic implementation
5165
5166         * src/backends/NetworkManagerGeneric.c
5167           src/backends/NetworkManagerGeneric.h
5168                 - (nm_generic_device_add_default_route_via_device,
5169                    nm_generic_device_add_default_route_via_device_with_iface): remove
5170                 - (nm_generic_device_replace_default_route): replace the default route
5171                         with the given route via some gateway
5172
5173         * src/NetworkManagerSystem.c
5174           src/NetworkManagerSystem.h
5175                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5176                         to routing and DNS; but set the MTU here
5177                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5178                         ip_iface of the active device; use the standard MTU setting function
5179                 - (nm_system_set_mtu): remove
5180                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5181
5182 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5183
5184         Rework the interaction between ppp manager and pppd plugin. Register a well
5185         known DBUS service in manager and let the plugin call it's methods instead
5186         of listening plugin's signals.
5187
5188         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5189         of emitting signals.
5190
5191         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5192
5193         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5194
5195         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5196         nm_ppp_manager_start().
5197
5198         * introspection/nm-ppp-manager.xml: New file.
5199
5200         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5201         the case correctly where driver is trying to send -1 for the speed, which gets
5202         casted to u16 and thus is always > 0.
5203
5204 2008-03-07  Dan Williams  <dcbw@redhat.com>
5205
5206         * src/nm-hal-manager.c
5207                 - (nm_get_device_driver_name): use net.originating_device first, fall
5208                         back to physical device.  HAL has deprecated physical_device.
5209
5210         * libnm-glib/nm-device.c
5211                 - (get_product_and_vendor): use net.originating_device first, fall
5212                         back to physical device.  HAL has deprecated physical_device.
5213                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5214
5215 2008-03-07  Dan Williams  <dcbw@redhat.com>
5216
5217         * src/nm-netlink.c
5218                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5219                         last commit; fix that
5220                 - (get_link_cache): print error string
5221
5222 2008-03-07  Dan Williams  <dcbw@redhat.com>
5223
5224         * src/nm-netlink.c
5225                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5226                         don't need this hack any more (Benoit Boissinot)
5227
5228 2008-03-06  Dan Williams  <dcbw@redhat.com>
5229
5230         * autogen.sh
5231                 - Die gnome-common, die
5232
5233 2008-03-04  Dan Williams  <dcbw@redhat.com>
5234
5235         Patch from Michael Biebl <biebl@debian.org>
5236
5237         * NetworkManager.pc.in
5238                 - doesn't actually depend on dbus-1
5239
5240         * libnm-util/nm-utils.h
5241                 - remove unused #include <dbus/dbus.h>
5242
5243         * libnm-glib/libnm_glib.pc.in
5244                 - depends on glib and dbus-glib
5245
5246 2008-03-02  Dan Williams  <dcbw@redhat.com>
5247
5248         * src/NetworkManagerPolicy.c
5249                 - s/device_state_changed_idle_id/update_state_id/
5250
5251 2008-03-02  Dan Williams  <dcbw@redhat.com>
5252
5253         * src/nm-device.c
5254           src/nm-device.h
5255           src/nm-device-802-11-wireless.c
5256           src/nm-device-802-3-ethernet.c
5257           src/NetworkManagerPolicy.c
5258                 - s/link_active/carrier
5259                 - nm_device_set_active_link() -> nm_device_set_carrier()
5260                 - nm_device_has_active_link() -> nm_device_get_carrier()
5261
5262 2008-03-02  Dan Williams  <dcbw@redhat.com>
5263
5264         * system-settings/plugins/ifcfg-fedora/parser.c
5265                 - (make_wireless_setting): fail connection creation on missing SSID
5266
5267 2008-02-29  Dan Williams  <dcbw@redhat.com>
5268
5269         * src/NetworkManagerPolicy.c
5270                 - (nm_policy_device_change_check): ensure that a previously active
5271                         device with a system connection has a link before denying a switch
5272                         to a user connection
5273
5274 2008-02-29  Dan Williams  <dcbw@redhat.com>
5275
5276         * src/nm-device-802-11-wireless.c
5277                 - (link_timeout_cb): try again if scanning; deactivate the device when
5278                         activated if the link dies
5279                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5280                         15 seconds
5281
5282 2008-02-29  Dan Williams  <dcbw@redhat.com>
5283
5284         * src/nm-device-802-11-wireless.c
5285           src/nm-device-802-11-wireless.h
5286                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5287                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5288                 - (device_cleanup): reset the scan interval lower when the device
5289                         deactivates
5290                 - (can_scan): base decision mostly off device state, not supplicant
5291                         interface state since the supplicant interface state isn't a
5292                         great indicator of whether the device is active or not
5293                 - (request_wireless_scan): clean up; schedule the next scan here
5294                 - (schedule_scan): only back the scan interval off if a new scan
5295                         actually gets scheduled; and make scan intervals tighter when the
5296                         device is disconnected
5297                 - (supplicant_iface_state_cb_handler): fold in the bits of
5298                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5299                         interval to minimum
5300                 - (activation_success_handler): reset scan interval to something
5301                         reasonable 
5302
5303 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5304
5305         reviewed by: Steev <steev@steev.net>
5306
5307         * configure.in:
5308         * src/backends/NetworkManagerGentoo.c:
5309         (nm_system_restart_mdns_responder):
5310                 Howl is no longer a supported mDNS provider
5311
5312 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5313
5314         Get rid of a bunch of unused distro specific functions.
5315
5316 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5317
5318         Implement suse plugin for system settings daemon.
5319
5320         * system-settings/plugins/ifcfg-suse/*: Implement.
5321
5322         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5323         suse.
5324
5325         * configure.in: Check (without failing) for gio.
5326         Create ifcfg-suse plugin's Makefile.
5327
5328 2008-02-20  Dan Williams  <dcbw@redhat.com>
5329
5330         * libnm-util/nm-connection.c
5331           libnm-util/nm-connection.h
5332                 - (nm_connection_compare): accept compare flags and pass them to the
5333                         setting compare function
5334
5335         * libnm-util/nm-setting.c
5336           libnm-util/nm-setting.h
5337                 - (nm_setting_compare): accept compare flags; ignore properties that are
5338                         marked fuzzy
5339
5340         * libnm-util/nm-setting-connection.c
5341           libnm-util/nm-setting-wireless.c
5342           libnm-util/nm-setting-ppp.c
5343           libnm-util/nm-setting-wired.c
5344                 - Mark some setting properties as ignorable when doing a fuzzy compare
5345
5346         * src/nm-device.c
5347                 - (device_activation_precheck): use exact compare
5348
5349 2008-02-20  Dan Williams  <dcbw@redhat.com>
5350
5351         * src/NetworkManagerPolicy.c
5352                 - (nm_policy_device_change_check): get scope off the connection, not
5353                         using the manager helper
5354
5355         * src/nm-manager.c
5356           src/nm-manager.h
5357                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5358                 - (connection_get_settings_cb): set scope and path on connection, not
5359                         using GObject data items
5360                 - (get_connection_for_proxy): don't need to return path, since that
5361                         can be gotten from the connection
5362                 - (get_connection_for_proxy): get path off the connection, not from
5363                         parameters
5364                 - (connection_removed_cb, connection_updated_cb): don't need to get
5365                         path from get_connection_for_proxy(); get scope off the connection
5366                         instead of using GObject data items
5367                 - (connection_added_default_handler, add_one_connection_element): use
5368                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5369                 - (nm_manager_get_connection_dbus_path): remove
5370                 - (nm_manager_get_connection_scope): remove
5371
5372 2008-02-20  Dan Williams  <dcbw@redhat.com>
5373
5374         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5375                 on confusing names
5376
5377         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5378                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5379                 NMExportedConnection
5380
5381         * Internally rename NMConnectionType -> NMConnectionScope
5382
5383         * Provide default implementations of the 'get_id' and 'get_settings' methods
5384                 of NMExportedConnection
5385
5386 2008-02-15  Dan Williams  <dcbw@redhat.com>
5387
5388         * src/nm-device-802-11-wireless.c
5389                 - (device_cleanup): release the AP list here too so that the AP list
5390                         doesn't survive across suspend/resume and up/down.  There is some
5391                         room for optimization, for example blow the list away when the card
5392                         brought back up, but only if the device has only been down for a
5393                         minute or more.
5394
5395 2008-02-15  Dan Williams  <dcbw@redhat.com>
5396
5397         * src/nm-hal-manager.c
5398                 - (modem_device_creator): recognize new HAL modem capabilities
5399
5400 2008-02-12  Dan Williams  <dcbw@redhat.com>
5401
5402         * system-settings/plugins/ifcfg-fedora/plugin.c
5403                 - (watch_path): handle IN_DELETE_SELF too
5404                 - (handle_connection_changed): notify when removing a connection
5405                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5406                         case of a file moving out of the profile directory
5407
5408 2008-02-12  Dan Williams  <dcbw@redhat.com>
5409
5410         * system-settings/plugins/ifcfg-fedora/parser.c
5411                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5412
5413 2008-02-12  Dan Williams  <dcbw@redhat.com>
5414
5415         * libnm-util/nm-utils.c
5416                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5417                         just any empty array
5418
5419 2008-02-12  Dan Williams  <dcbw@redhat.com>
5420
5421         * system-settings/src/nm-system-config-interface.c
5422           system-settings/src/nm-system-config-interface.h
5423                 - (load_connections): get_connections() should now return an allocated
5424                         GSList that the system settings service will free
5425
5426         * system-settings/plugins/ifcfg-fedora/plugin.c
5427           system-settings/plugins/ifcfg-fedora/parser.h
5428           system-settings/plugins/ifcfg-fedora/parser.c
5429                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5430                         in the profile directory, handle resolv.conf file changes
5431
5432 2008-02-10  Dan Williams  <dcbw@redhat.com>
5433
5434         * src/nm-device-802-3-ethernet.c
5435                 - (real_bring_up): save the supplicant interface state signal id
5436                 - (real_bring_down): disconnect from the supplicant interface state
5437                         signal
5438
5439 2008-02-07  Dan Williams  <dcbw@redhat.com>
5440
5441         * initscript/RedHat/NetworkManager.in
5442           initscript/RedHat/NetworkManagerDispatcher.in
5443                 - Add new-style LSB init headers
5444
5445 2008-02-07  Dan Williams  <dcbw@redhat.com>
5446
5447         * system-settings/src/dbus-settings.c
5448           system-settings/src/dbus-settings.h
5449                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5450                         table of secrets
5451                 - (connection_settings_get_secrets): consolidate error returns into
5452                         one place; use the new get_secrets() plugin interface function to
5453                         get secrets from the plugin itself rather than using GObject data
5454                         magic
5455
5456         * system-settings/src/main.c
5457                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5458                    load_connections): keep a private list of the plugin-returned
5459                         connections, don't use the plugin's GSList
5460
5461         * system-settings/plugins/ifcfg-fedora/plugin.c
5462                 - (watch_path): watch the path, not the filename (duh)
5463                 - (reload_all_connections): use the direct hash/equal functions; the
5464                         ones for int aren't appropriate here
5465                 - (get_secrets, system_config_interface_init): implement the
5466                         get_secrets() function
5467                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5468                         now in the connection's ConnectionData instead of being a GObject
5469                         data property
5470                 - (handle_profile_item_changed): ifcfg file path is now in the
5471                         connection's ConnectionData instead of being a GObject data property;
5472                         be sure to copy secrets over from the new connection to the existing
5473                         connection when updating the connection's settings
5474                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5475                         file descriptor
5476
5477         * system-settings/plugins/ifcfg-fedora/parser.c
5478           system-settings/plugins/ifcfg-fedora/parser.h
5479                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5480                    connection_data_copy_secrets, connection_data_free,
5481                    connection_data_add): new functions; connection data manipulation
5482                 - (make_wireless_security_setting): stuff secrets into the
5483                         connection data, not as GObject data items; make sure to close
5484                         the keys ifcfg file
5485                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5486                         connection data to the connection
5487
5488 2008-02-07  Dan Williams  <dcbw@redhat.com>
5489
5490         * system-settings/src/nm-system-config-interface.c
5491           system-settings/src/nm-system-config-interface.h
5492                 - Add a get_secrets() interface function to retrieve secrets for a
5493                         specific setting of a specific connection.  Document the interface
5494                         a bit more too.
5495
5496 2008-02-07  Dan Williams  <dcbw@redhat.com>
5497
5498         * src/nm-device-802-11-wireless.c
5499                 - (handle_auth_or_fail): new function; consolidate device activation
5500                         failure check after a certain number of failures getting secrets
5501                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5502                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5503                         the connection if secrets were requested more than a few times
5504                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5505                         tries here; otherwise they are cleared before the IP configure
5506                         timeout, which happens with open system WEP when key is wrong
5507                 - (activation_success_handler): clear wireless secrets tries here too
5508
5509 2008-02-07  Dan Williams  <dcbw@redhat.com>
5510
5511         * src/NetworkManagerPolicy.c
5512                 - (connection_updated): clear invalid tag when connection gets updated
5513                         to allow that connection to be tried again
5514                 - (nm_policy_new): save signal ids so they can be disconnected when
5515                         the policy is destroyed
5516                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5517                         and disconnect all signals from the manager object so that none
5518                         of the policy functions gets called after the policy is destroyed
5519
5520 2008-02-06  Dan Williams  <dcbw@redhat.com>
5521
5522         * src/nm-manager.c
5523                 - (finalize): remove devices a bit earlier; clean up system settings
5524                         poke
5525                 - (nm_manager_name_owner_changed): clean up system settings poke when
5526                         the service appears, and try to restart it if it fails
5527                 - (poke_system_settings_daemon_cb): try to get the system settings
5528                         service started through D-Bus service activation
5529                 - (initial_get_connections): start the system settings daemon if it's
5530                         not already running
5531
5532 2008-02-05  Dan Williams  <dcbw@redhat.com>
5533
5534         * src/supplicant-manager/nm-supplicant-config.c
5535                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5536                         broadcast networks too
5537
5538 2008-02-04  Dan Williams  <dcbw@redhat.com>
5539
5540         * system-settings/plugins/ifcfg-fedora/parser.c
5541                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5542                         need key_mgmt set too
5543                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5544                         .bak files; ensure that an error is set whenever NULL gets returned
5545
5546 2008-02-04  Dan Williams  <dcbw@redhat.com>
5547
5548         * system-settings/src/Makefile.am
5549                 - Install D-Bus service activation file for the system settings
5550                         service
5551
5552         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5553                 - D-Bus service activation file for system settings service
5554
5555 2008-02-04  Dan Williams  <dcbw@redhat.com>
5556
5557         * system-settings/src/main.c
5558                 - (parse_config_file): parse a config file
5559                 - (main): accept --config option and read plugins from config file
5560
5561 2008-02-04  Dan Williams  <dcbw@redhat.com>
5562
5563         * system-settings/plugins/ifcfg-fedora/plugin.c
5564                 - Change reported name to 'ifcfg-fedora'
5565                 - Use IFCFG_PLUGIN_NAME
5566
5567         * system-settings/plugins/ifcfg-fedora/plugin.c
5568                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5569
5570 2008-02-04  Dan Williams  <dcbw@redhat.com>
5571
5572         * system-settings/plugins/ifcfg-fedora/parser.c
5573                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5574                 - (make_connection_setting): use get_ifcfg_name()
5575                 - (make_wireless_security_setting): handle shadow key files
5576                 - (get_one_wep_key): treat empty string as NULL
5577
5578 2008-02-04  Dan Williams  <dcbw@redhat.com>
5579
5580         * src/supplicant-manager/nm-supplicant-manager.c
5581                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5582                         glib automatically reschedule
5583                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5584                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5585                         the supplicant
5586
5587 2008-02-01  Dan Williams  <dcbw@redhat.com>
5588
5589         * src/NetworkManagerPolicy.c
5590                 - (device_state_changed): schedule a change check when a device gets
5591                         deactivated so something happens if you disconnect GSM/CDMA
5592
5593 2008-01-31  Dan Williams  <dcbw@redhat.com>
5594
5595         * src/nm-device-802-11-wireless.h
5596           src/nm-device-802-11-wireless.c
5597                 - (ap_list_get_ap_by_ssid, is_associated,
5598                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5599                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5600                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5601                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5602                         function
5603
5604 2008-01-30  Dan Williams  <dcbw@redhat.com>
5605
5606         * system-settings/plugins/ifcfg
5607         * system-settings/plugins/ifcfg-fedora
5608                 - Move the ifcfg plugin to ifcfg-fedora
5609
5610 2008-01-24  Dan Williams  <dcbw@redhat.com>
5611
5612         * libnm-glib/nm-device-802-11-wireless.c
5613                 - (get_access_point): move the "/" check here; check for invalid path
5614                         too
5615                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5616                         to get_access_point()
5617                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5618                         to send signals for non-existent access points
5619
5620 2008-01-24  Dan Williams  <dcbw@redhat.com>
5621
5622         * libnm-glib/nm-device-802-11-wireless.c
5623                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5624
5625 2008-01-23  Dan Williams  <dcbw@redhat.com>
5626
5627         * libnm-glib/libnm_glib.c
5628                 - (libnm_glib_init): make thread joinable
5629                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5630
5631 2008-01-23  Dan Williams  <dcbw@redhat.com>
5632
5633         * test/libnm_glib_test.c
5634                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5635                 - (main): set up signal handlers; call libnm_glib_shutdown
5636
5637 2008-01-21  Dan Williams  <dcbw@redhat.com>
5638
5639         * include/NetworkManager.h
5640                 - Add CDMA mobile broadband card device type
5641
5642         * src/nm-hal-manager.c
5643                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5644                         must now be tagged with 'cdma' or 'gsm' capability
5645
5646         * src/nm-cdma-device.c
5647           src/nm-cdma-device.h
5648           src/Makefile.am
5649                 - Add the CDMA mobile broadband card device class
5650
5651         * libnm-util/nm-connection.c
5652                 - (register_default_settings): add NMSettingCdma
5653
5654         * libnm-util/nm-setting-cdma.c
5655           libnm-util/nm-setting-cdma.h
5656           libnm-util/Makefile.am
5657                 - Add the CDMA mobile broadband card setting class
5658
5659         * libnm-glib/nm-cdma-device.c
5660           libnm-glib/nm-cdma-device.h
5661           libnm-glib/Makefile.am
5662                 - Add the CDMA mobile broadband card GLib proxy class
5663
5664         * libnm-glib/nm-client.c
5665                 - (get_device): handle CDMA devices too
5666
5667 2008-01-21  Dan Williams  <dcbw@redhat.com>
5668
5669         * src/ppp-manager/nm-ppp-manager.c
5670                 - (ip4_config_get): set peer address too
5671
5672         * src/ppp-manager/nm-pppd-plugin.c
5673                 - (nm_ip_up): try harder to get the peer's address
5674
5675         * src/NetworkManagerSystem.c
5676                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5677                         address, use that too.  Otherwise, some PPP connections won't work.
5678
5679 2008-01-19  Dan Williams  <dcbw@redhat.com>
5680
5681         * src/NetworkManagerPolicy.c
5682                 - (nm_policy_device_change_check): system connections override user
5683                         connections; don't activate a user connection if there's a currently
5684                         active system connection, and new, better system connections always
5685                         interrupt user connections
5686
5687 2008-01-19  Dan Williams  <dcbw@redhat.com>
5688
5689         * src/nm-manager.h
5690                 - (nm_manager_get_connection_type): new function
5691
5692 2008-01-19  Dan Williams  <dcbw@redhat.com>
5693
5694         * src/nm-device-802-11-wireless.c
5695                 - (real_get_best_connection): collapse find_best_connection() into this
5696                         function
5697
5698 2008-01-19  Dan Williams  <dcbw@redhat.com>
5699
5700         * src/nm-device-802-3-ethernet.c
5701                 - (real_get_best_connection): collapse find_best_connection() into this
5702                         function
5703
5704 2008-01-18  Dan Williams  <dcbw@redhat.com>
5705
5706         * src/nm-device-802-3-ethernet.c
5707                 - (find_best_connection): check MAC address too
5708                 - (real_get_best_connection): let autoconnect=True connections activate
5709                         for devices that don't have carrier detection
5710
5711         * src/nm-device-802-11-wireless.c
5712                 - (find_best_connection): check MAC address too
5713
5714 2008-01-18  Dan Williams  <dcbw@redhat.com>
5715
5716         * system-settings/plugins/ifcfg/parser.c
5717                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5718
5719 2008-01-17  Dan Williams  <dcbw@redhat.com>
5720
5721         * src/nm-device-802-3-ethernet.c
5722                 - (nm_device_802_3_ethernet_carrier_on,
5723                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5724                         carrier events that might come in for devices that don't support
5725                         carrier detect
5726
5727 2008-01-17  Dan Williams  <dcbw@redhat.com>
5728
5729         * src/nm-device-interface.c
5730                 - (nm_device_interface_check_connection_conflicts): need to actually
5731                         get the interface, not cast to the object
5732
5733         * src/nm-device.c
5734                 - (nm_device_check_connection_conflicts): need to get the device class,
5735                         not cast the device to the device class
5736
5737 2008-01-17  Dan Williams  <dcbw@redhat.com>
5738
5739         * src/nm-device-802-11-wireless.c
5740                 - (real_check_connection_conflicts): ignore connections that aren't
5741                         wireless connections
5742
5743 2008-01-17  Dan Williams  <dcbw@redhat.com>
5744
5745         * src/NetworkManagerPolicy.c
5746                 - (nm_policy_device_change_check): clear change check idle here
5747                 - (device_change_check_done): remove
5748                 - (schedule_change_check): simplify
5749
5750 2008-01-17  Dan Williams  <dcbw@redhat.com>
5751
5752         * src/nm-manager.c
5753                 - (check_connection_allowed): take an NMDeviceInterface instead of
5754                         an NMDevice object as an argument
5755                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5756                         check_connection_allowed()
5757
5758 2008-01-13  Dan Williams  <dcbw@redhat.com>
5759
5760         * libnm-glib/nm-device-802-11-wireless.c
5761                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5762
5763 2008-01-12  Dan Williams  <dcbw@redhat.com>
5764
5765         * src/nm-device-802-11-wireless.c
5766                 - (activation_success_handler): if a match was found in the scan list
5767                         and that match is a hidden AP, update that AP's SSID
5768
5769 2008-01-11  Dan Williams  <dcbw@redhat.com>
5770
5771         * src/NetworkManagerAP.c
5772                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5773
5774         * src/nm-device-802-11-wireless.c
5775                 - (get_active_ap): do two passes over the scan list if the caller
5776                         requests that hidden APs get matched too; during the second pass
5777                         when matching hidden APs, ignore the SSID since hidden APs in the
5778                         scan list don't have an SSID yet
5779                 - (periodic_update): move some checks to
5780                         nm_device_802_11_periodic_update() because not all callers need them
5781                 - (nm_device_802_11_periodic_update): move some checks here from
5782                         perodic_update()
5783                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5784                         matching on incoming scan results, because the fake AP's flags
5785                         might be slightly different (yet still compatible) with the incoming
5786                         scan result's flags and they might actually be the same AP; update
5787                         the rate on merged APs too
5788                 - (activation_success_handler): update the frequency of the fake AP
5789                         on successful connection; match hidden APs too since if the
5790                         current AP is fake, there might already be a scan result in the
5791                         scan list for the desired AP, just without it's SSID filled in yet
5792
5793 2008-01-10  Dan Williams  <dcbw@redhat.com>
5794
5795         * src/NetworkManagerAP.c
5796                 - (foreach_property_cb): catch more hidden SSID formats
5797
5798 2008-01-10  Dan Williams  <dcbw@redhat.com>
5799
5800         Fix gnome.org #464215.  Requires the kernel patch titled
5801         "Introduce WEXT scan capabilities" but will handle the patch not being
5802         present, you'll just continue to have problems with hidden SSIDs when
5803         using mac80211-based drivers.
5804
5805         * src/supplicant-manager/nm-supplicant-config.h
5806           src/supplicant-manager/nm-supplicant-config.c
5807                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5808                         whether the driver supports SSID scans or not.  If it does, and if
5809                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5810
5811         * src/nm-device-802-11-wireless.c
5812                 - (constructor): check whether or not the driver supports SSID scans
5813                 - (build_supplicant_config): pass driver SSID scan capability when
5814                         building the wireless bits of the supplicant config
5815
5816 2008-01-09  Dan Williams  <dcbw@redhat.com>
5817
5818         * src/nm-device.c
5819           src/nm-device.h
5820                 - (device_activation_precheck, check_connection_complete): remove this
5821                         virtual function; incomplete connections should be invalid by
5822                         definition, complete-ness should be checked in the setting's
5823                         verify function
5824
5825         * src/nm-serial-device.c
5826           src/nm-gsm-device.c
5827                 - (real_check_connection_complete): remove
5828
5829         * libnm-util/nm-setting-serial.c
5830                 - (verify): new function; ensure there is a PPP setting too
5831
5832         * libnm-util/nm-setting-gsm.c
5833                 - (verify): ensure there is a serial setting too
5834
5835 2008-01-06  Dan Williams  <dcbw@redhat.com>
5836
5837         * src/dhcp-manager/nm-dhcp-manager.c
5838                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5839                         (gnome.org #332953)
5840
5841 2008-01-04  Dan Williams  <dcbw@redhat.com>
5842
5843         * src/named-manager/nm-named-manager.c
5844                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5845                         nameservers if the secondary config doesn't have any
5846                         (gnome.org #346833)
5847
5848 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5849
5850         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5851         with G_PARAM_CONSTRUCT so that they get the default values.
5852
5853         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5854         the monitoring device and prints out the output for now. Or more precicely, doesn't
5855         do absolutely anything right now since the montoring device argument is never set.
5856
5857         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5858         requires it's own knob to turn it on.
5859         (config_fd): Add NMSettingSerial to the arguments list.
5860         (nm_serial_device_open): Ditto.
5861         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5862         (nm_serial_device_get_io_channel): Implement.
5863
5864         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5865         a new reference every time (and forgetting to release it sometimes) is a pain and
5866         it's not like NMManager could work without dbus.
5867         (nm_manager_add_device): Register the added device on dbus here.
5868
5869         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5870         device.
5871
5872         * src/nm-device.c (constructor): Don't export the device here, instead export
5873         it when it's added to the NMManager's device list.
5874
5875 2007-12-31  Dan Williams  <dcbw@redhat.com>
5876
5877         * src/nm-device-interface.c
5878           src/nm-device-interface.h
5879                 - (nm_device_interface_check_connection_conflicts): new function
5880
5881         * src/nm-device.c
5882           src/nm-device.h
5883                 - (nm_device_check_connection_conflicts): new function
5884                 - (device_activation_precheck): don't require subclasses to implement
5885                         check_connection_complete()
5886                 - check_connection() -> check_connection_complete()
5887
5888         * src/nm-device-802-11-wireless.c
5889                 - (real_check_connection): remove; unused
5890                 - (real_check_connection_conflicts): implement, handle lockdown for
5891                         system connections
5892
5893         * src/nm-device-802-3-ethernet.c
5894                 - (real_check_connection): remove; unused
5895
5896         * src/nm-manager.c
5897                 - (check_connection_allowed): new function
5898                 - (nm_manager_activate_device): ensure the connection being requested
5899                         is allowed to be activated
5900
5901         * src/nm-serial-device.c
5902           src/nm-gsm-device.c
5903                 - real_check_connection() -> real_check_connection_complete()
5904
5905 2007-12-27  Dan Williams  <dcbw@redhat.com>
5906
5907         * src/nm-device-interface.c
5908           src/nm-device-interface.h
5909                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5910                         normalize and expand errors
5911                 - (nm_device_interface_init): register errors so they can be marshalled
5912                         through dbus-glib
5913                 - (nm_device_interface_activate): ensure that failure of activation
5914                         returns an error
5915
5916         * src/nm-device.c
5917           src/nm-device.h
5918                 - (device_activation_precheck): implementations of check_connection()
5919                         now take a GError and must fill it in if the check fails.  Return
5920                         more descriptive error if the requested connection is already
5921                         activating
5922                 - (nm_device_activate): actually try to return descriptive errors on
5923                         failures
5924
5925         * src/nm-device-802-11-wireless.c
5926           src/nm-device-802-3-ethernet.c
5927           src/nm-serial-device.c
5928           src/nm-gsm-device.c
5929                 - (real_check_connection): return more descriptive errors on failure
5930
5931         * src/NetworkManagerPolicy.c
5932                 - (nm_policy_device_change_check): print activation errors in the logs
5933
5934         * src/nm-manager.c
5935                 - (nm_manager_error_quark, nm_manager_error_get_type,
5936                    nm_manager_class_init): new errors
5937                 - (nm_manager_activate_device): handle errors
5938                 - (nm_manager_error_new): removed
5939                 - (wait_for_connection_expired, connection_added_default_handler,
5940                    impl_manager_activate_device): better error handling
5941
5942 2007-12-27  Dan Williams  <dcbw@redhat.com>
5943
5944         Fixes gnome.org #466954
5945
5946         * src/supplicant-manager/nm-supplicant-settings-verify.c
5947                 - Allow 'frequency' network property
5948
5949         * src/supplicant-manager/nm-supplicant-config.c
5950           src/supplicant-manager/nm-supplicant-config.h
5951                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5952                         for callers to specify the frequency an Ad-Hoc network should operate
5953                         on.  Some drivers require this to successfully create an Ad-Hoc
5954                         network.
5955
5956         * src/nm-device-802-11-wireless.c
5957                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5958                         guint32 value in MHz
5959                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5960                         iw_freq_to_uint32()
5961                 - (find_supported_frequency): new function; find a free supported
5962                         frequency for a user-created Ad-Hoc network
5963                 - (build_supplicant_config): if no frequency was specified for a user-
5964                         created Ad-Hoc network, find a free one to use
5965                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5966                         a specific object as user-created
5967
5968 2007-12-27  Dan Williams  <dcbw@redhat.com>
5969
5970         * libnm-util/nm-utils.c
5971           libnm-util/nm-utils.h
5972                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
5973                         for adhoc networks
5974
5975 2007-12-24  Dan Williams  <dcbw@redhat.com>
5976
5977         * libnm-util/nm-setting-wireless.c
5978                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
5979                         185, 187, 188, 192, and 196
5980
5981 2007-12-24  Dan Williams  <dcbw@redhat.com>
5982
5983         * src/nm-device-802-11-wireless.c
5984                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
5985                         a channel # instead of a frequency
5986
5987 2007-12-24  Dan Williams  <dcbw@redhat.com>
5988
5989         * src/NetworkManagerAP.c
5990           src/NetworkManagerAP.h
5991                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
5992                 - (freq_to_channel): handle split band tables
5993                 - (channel_to_freq): handle split band tables, take a band argument
5994
5995 2007-12-24  Dan Williams  <dcbw@redhat.com>
5996
5997         * libnm-util/nm-setting-connection.h
5998           libnm-util/nm-setting-connection.c
5999                 - Add 'lockdown' member
6000
6001 2007-12-22  Dan Williams  <dcbw@redhat.com>
6002
6003         * libnm-util/nm-setting-wireless.c
6004                 - (nm_setting_wireless_class_init): add missing 'rate' property
6005                         specification
6006
6007 2007-12-18  Dan Williams  <dcbw@redhat.com>
6008
6009         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
6010
6011         * src/nm-netlink-monitor.c
6012           src/nm-netlink-monitor.h
6013                 - Remove handrolled netlink, use libnl instead
6014
6015         * src/nm-device-802-3-ethernet.c
6016                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6017                    nm_device_802_3_ethernet_carrier_on): use new names
6018
6019 2007-12-17  Dan Williams  <dcbw@redhat.com>
6020
6021         * configure.in
6022                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6023                         and fixes memory leaks)
6024
6025         * src/nm-netlink.c
6026                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6027                         automatically handle the netlink PID
6028
6029 2007-12-17  Dan Williams  <dcbw@redhat.com>
6030
6031         Patch from Michael Biebl <biebl@debian.org>
6032
6033         * configure.in
6034           src/ppp-manager/Makefile.am
6035                 - fix up install dir of pppd plugin
6036                 - clean up configure.in a bit
6037
6038 2007-12-12  Dan Williams  <dcbw@redhat.com>
6039
6040         * system-settings/src/nm-system-settings.conf
6041                 - Allow non-root clients (like the applet) to read settings
6042
6043 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6044
6045         * Replace all occurences of 'UMTS' with 'GSM'.
6046
6047 2007-12-07  Dan Williams  <dcbw@redhat.com>
6048
6049         * src/nm-serial-device.c
6050                 - (real_is_up): serial devices are always "up"
6051
6052 2007-12-07  Dan Williams  <dcbw@redhat.com>
6053
6054         * src/nm-netlink.c
6055           src/NetworkManagerSystem.c
6056                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6057                         twice (gnome.org #491047)
6058                 - Make more robust against allocation-related failures should they occur
6059
6060 2007-12-07  Dan Williams  <dcbw@redhat.com>
6061
6062         Noticed by Christian Persch <chpe@gnome.org>
6063
6064         Always chain up to parent object in dispose and finalize handlers.
6065                 (gnome.org #433112)
6066
6067 2007-12-07  Dan Williams  <dcbw@redhat.com>
6068
6069         * src/nm-device-802-11-wireless.c
6070                 - Wrap #include of linux/mii.h to fix redefined structures due to
6071                         incorrect kernel headers (gnome.org #350061)
6072
6073 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6074
6075         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6076         before doing anything else.
6077         (init_modem): Move modem initialization here.
6078
6079         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6080         (nm_serial_device_flash): Implement.
6081
6082         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6083         changes signal is "StateChanged" and not "Status".
6084         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6085
6086 2007-12-06  Dan Williams  <dcbw@redhat.com>
6087
6088         * src/supplicant-manager/nm-supplicant-config.c
6089                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6090                         to only send some options when they make sense; also send phase2
6091                         option to the supplicant (possible fix for rh #399631)
6092
6093 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6094
6095         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6096         arguments: This whole file shouldn't really know anything about NMDevices, it
6097         should deal only with device interfaces. Devices might have different ifaces for
6098         different stuff and this place shouldn't know anything about it.
6099
6100         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6101         (global_state_changed): Implement. In the current NM it's not really important,
6102         but will be required in the case of multiple active devices. (Or even better,
6103         if stuff like that gets moved out from NM).
6104
6105         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6106         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6107         instead.
6108
6109         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6110         devices like serial devices (ttyS0 and ppp0 for example).
6111         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6112         set.
6113         (nm_device_set_ip_iface): Implement.
6114         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6115         after setting ip4_config from here ...
6116         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6117         than this function should call nm_system_device_set_from_ip4_config() because no
6118         other code has enough information on which arguments to use. So instead, other code
6119         could just set the new ip4 config using this function and everyone is happy.
6120
6121         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6122         if we happen to get deactivated while something is pending.
6123         (automatic_registration): Handle the response that indicates pending network
6124         registration and wait until the pending registration is done.
6125         (real_deactivate_quickly): If there's a pending operation, cancel it.
6126
6127         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6128         (real_deactivate_quickly): ... and remove it when it's down.
6129         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6130         it if needed.
6131         (nm_serial_device_wait_for_reply): Ditto.
6132
6133 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6134
6135         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6136         (get_network_done): Remove newline, nm_info() does it already.
6137         (real_act_stage1_prepare): Turn the modem echo off.
6138
6139         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6140         device, set the route to the device interface. This is a hack.
6141
6142         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6143         return, no need for a new-line.
6144         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6145         Change the device iface here (ugh).
6146         (real_act_stage4_get_ip4_config): Implement.
6147         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6148         Restore the device iface.
6149
6150         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6151         device is not wired or wireless (eg, automatically upped) device.
6152
6153         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6154         it isn't.
6155         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6156
6157         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6158         before calling it's is_device_fn().
6159
6160 2007-12-05  Dan Williams  <dcbw@redhat.com>
6161
6162         * libnm-util/nm-utils.c
6163                 - (nm_utils_register_value_transformations,
6164                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6165                         GHashTables of GValues too
6166
6167 2007-12-04  Dan Williams  <dcbw@redhat.com>
6168
6169         * initscript/RedHat/NetworkManager.in
6170                 - No longer start named; it's D-Bus interface is going away
6171
6172 2007-12-04  Dan Williams  <dcbw@redhat.com>
6173
6174         Patch from Michael Biebl <biebl@debian.org>
6175
6176         * system-settings/plugins/ifcfg/Makefile.am
6177           system-settings/src/main.c
6178           system-settings/src/Makefile.am
6179                 - Put system settings plugins in NM plugins dir
6180
6181         * src/ppp-manager/Makefile.am
6182           src/ppp-manager/nm-ppp-manager.c
6183                 - Move pppd plugin to NM plugins dir
6184
6185 2007-12-04  Dan Williams  <dcbw@redhat.com>
6186
6187         * libnm-util/nm-setting-vpn-properties.h
6188                 - Clarify usage of the 'data' member of the setting
6189
6190         * libnm-util/nm-setting-vpn-properties.c
6191                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6192                 - (set_property): just remove all the settings; don't recreate the has
6193                 - (update_one_secret): don't need to create the hash table here since
6194                         it should always be present
6195
6196 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6197
6198         Implement PIN and PUK requesting.
6199
6200         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6201         (enter_pin): Handle PIN and PUK requests.
6202         (real_act_stage1_prepare): Clear the secret type.
6203         (real_connection_secrets_updated): Implement this class method to get
6204         notified when new secrets arrive.
6205         (nm_umts_device_class_init): Add private data back to the umts device class
6206         to store the required secret type.
6207
6208 2007-12-01  Dan Williams  <dcbw@redhat.com>
6209
6210         * system-settings/plugins/ifcfg/parser.c
6211                 - (parser_parse_file): don't try to verify NULL connections
6212
6213 2007-12-01  Dan Williams  <dcbw@redhat.com>
6214
6215         * system-settings/src/main.c
6216                 - (load_connections, add_connection_to_settings): actually export
6217                         plugin-provided connections over D-Bus so NM can get them
6218
6219 2007-12-01  Dan Williams  <dcbw@redhat.com>
6220
6221         * system-settings/plugins/ifcfg/parser.c
6222           system-settings/plugins/ifcfg/parser.h
6223           system-settings/plugins/ifcfg/plugin.c
6224                 - Hook up more inotify bits (untested)
6225
6226 2007-11-29  Dan Williams  <dcbw@redhat.com>
6227
6228         * system-settings/src/nm-system-config-interface.h
6229           system-settings/src/nm-system-config-interface.c
6230                 - (nm_system_config_interface_init,
6231                    nm_system_config_interface_get_connections): add
6232
6233         * system-settings/src/main.c
6234                 - (load_plugins, load_connections, main): use a GSList for plugins
6235                         to ensure priority ordering
6236
6237         * system-settings/plugins/ifcfg/parser.c
6238                 - (ifcfg_error_quark): move to plugin.c, and rename
6239
6240         * system-settings/plugins/ifcfg/plugin.h
6241           system-settings/plugins/ifcfg/plugin.c
6242                 - (ifcfg_plugin_error_quark): move here from parser.c
6243                 - rework connection loading and initialization
6244                 - Add preliminary inotify support for network profile config file
6245
6246 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6247
6248         Merge the beginnings of the new GSM card support.
6249
6250         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6251         ppp watch source before killing pppd - If this happens from g_object_unref()
6252         then the ppp manager is already destroyed by the time the watch callback runs.
6253
6254         * src/nm-hal-manager.c: Add a device_type_name string to the device
6255         creators, so that we can print a nice human readable string when a
6256         device is added.
6257
6258         * src/nm-umts-device.c (automatic_registration_get_network): Query
6259         for the activated network, not much is done with the result thought.
6260
6261         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6262         (ppp_ip4_config): Change the device state to activated here for now.
6263         (real_check_connection): Make sure the connection includes ppp setting.
6264
6265         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6266
6267         * libnm-glib/Makefile.am: Add the new files to build.
6268
6269         * libnm-glib/nm-umts-device.c: 
6270         * libnm-glib/nm-umts-device.h: Implement.
6271
6272 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6273
6274         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6275         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6276
6277         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6278         the timeout source - this function is only called when the timeout source has
6279         been removed.
6280         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6281         to be big enough to contain the terminating zero element as well.
6282         The timeout argument is meant to be in seconds now.
6283         (real_deactivate_quickly): Implement.
6284
6285         * src/NetworkManager.conf: Allow root to own 
6286         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6287
6288         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6289         (not unsigned ints).
6290
6291         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6292         small issue with parity bounds - capital letters have lower ascii codes
6293         than lower case letters.
6294
6295         * libnm-util/nm-connection.c (register_default_settings): Register serial
6296         and umts settings.
6297
6298 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6299
6300         Remove the "index" property from devices as not all device types have this.
6301
6302         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6303
6304         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6305         (wired_device_creator): Get the device interface from hal to create the device.
6306         (wireless_device_creator): Ditto.
6307
6308         * src/nm-device.c (nm_device_init): Remove the index member.
6309         (constructor): Remove the checks for index property, make interface property
6310         a require constructor property.
6311         Use the HAL udi for DBus path for devices.
6312         (nm_device_get_index): Remove.
6313         (set_property): Remove index handling.
6314         (get_property): Ditto.
6315         (nm_device_get_dbus_path): Remove.
6316
6317         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6318         property.
6319
6320         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6321         Access the device index through it's interface.
6322         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6323         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6324         index argument. Add interface argument.
6325
6326         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6327         the useless test_dev argument. Remove index argument. Add interface arugment.
6328
6329         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6330         device index through interface.
6331         (nm_system_set_mtu): Ditto.
6332
6333         * introspection/nm-device.xml: Remove the "Index" property.
6334
6335 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6336
6337         * src/nm-serial-device.c: 
6338         * src/nm-serial-device.c: 
6339         * src/nm-umts-device.c:
6340         * src/nm-umts-device.h: Implement.
6341
6342         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6343         allocated by libhal.
6344         (modem_device_creator): Implement.
6345         (register_built_in_creators): Register the modem creator.
6346
6347         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6348         Remove the unused test_dev argument.
6349
6350         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6351
6352         * src/Makefile.am: Add new files to build.
6353         Link in ppp-manager.
6354
6355         * libnm-util/nm-setting-umts.c: 
6356         * libnm-util/nm-setting-umts.h: 
6357         * libnm-util/nm-setting-serial.c: 
6358         * libnm-util/nm-setting-serial.h: Implement.
6359
6360         * libnm-util/Makefile.am: Add new files to build.
6361
6362 2007-11-28  Dan Williams  <dcbw@redhat.com>
6363
6364         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6365
6366         Support DHCP-provided static routes.
6367
6368         * src/nm-ip4-config.h
6369           src/nm-ip4-config.c
6370                 - Add get/set functions for static routes
6371
6372         * src/dhcp-manager/nm-dhcp-manager.c
6373                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6374                         DHCP response
6375
6376         * src/NetworkManagerSystem.c
6377                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6378                         interface when applying the IP4Config
6379
6380 2007-11-28  Dan Williams  <dcbw@redhat.com>
6381
6382         * src/nm-device-802-11-wireless.c
6383                 - (real_act_stage1_prepare): mark APs created for hidden networks
6384                         as non-broadcasting
6385
6386 2007-11-27  Dan Williams  <dcbw@redhat.com>
6387
6388         * system-settings/src/nm-system-config-interface.h
6389                 - Note how to store secrets on NMSetting objects
6390
6391         * system-settings/src/dbus-settings.c
6392                 - (connection_settings_get_secrets): implement
6393
6394 2007-11-27  Dan Williams  <dcbw@redhat.com>
6395
6396         * system-settings/plugins/ifcfg/Makefile.am
6397           system-settings/plugins/ifcfg/parser.c
6398           system-settings/plugins/ifcfg/parser.h
6399           system-settings/plugins/ifcfg/plugin.c
6400                 - Parse wireless connections too
6401
6402         * system-settings/src/dbus-settings.c
6403           system-settings/src/dbus-settings.h
6404           system-settings/src/main.c
6405                 - Handle connection update/removal if the plugin supports it
6406
6407 2007-11-27  Dan Williams  <dcbw@redhat.com>
6408
6409         * src/nm-dbus-manager.h
6410           src/nm-hal-manager.c
6411                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6412                         do it for them
6413
6414         * src/Makefile.am
6415           src/NetworkManagerDbusUtils.c
6416           src/NetworkManagerDbusUtils.h
6417                 - Remove these two source files; they are unused
6418
6419 2007-11-27  Dan Williams  <dcbw@redhat.com>
6420
6421         * src/vpn-manager/nm-vpn-manager.c
6422                 - (impl_vpn_manager_connect): fix system settings check (found by
6423                         James M. Leddy)
6424
6425 2007-11-26  Dan Williams  <dcbw@redhat.com>
6426
6427         * Fix warnings so everything compiles with --enable-more-warnings
6428
6429 2007-11-25  Dan Williams  <dcbw@redhat.com>
6430
6431         * system-settings/*
6432                 - Rework structure and code to use GModule-loaded plugins and a plugin
6433                         interface that plugins export to the system settings service
6434
6435 2007-11-21  Dan Williams  <dcbw@redhat.com>
6436
6437         * system-settings/*
6438                 - Add Soren's system settings service.  Needs work for distros other
6439                         than Fedora; the backends from NM should mostly migrate to here
6440                         and be converted to GObjects
6441
6442 2007-11-21  Dan Williams  <dcbw@redhat.com>
6443
6444         * libnm-util/nm-setting-vpn-properties.c
6445                 - (set_property): must deep-copy the given settings hash, otherwise
6446                         double-free errors occur when the setting is disposed of
6447
6448 2007-11-21  Dan Williams  <dcbw@redhat.com>
6449
6450         * src/vpn-manager/nm-vpn-act-request.h
6451           src/vpn-manager/nm-vpn-act-request.c
6452                 - Remove; unused
6453
6454 2007-11-20  Dan Williams  <dcbw@redhat.com>
6455
6456         * libnm-util/nm-utils.c
6457                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6458                    nm_utils_convert_ip4_addr_struct_array_to_string,
6459                    nm_utils_register_value_transformations): print out the readable
6460                         values of more types of properties of NMSettings subclasses
6461
6462 2007-11-20  Dan Williams  <dcbw@redhat.com>
6463
6464         * libnm-util/nm-setting-ip4-config.c
6465                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6466                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6467                         marshal GValueArrays inside collections, so switch to types that it
6468                         can actually marshal/demarshal
6469
6470 2007-11-16  Dan Williams  <dcbw@redhat.com>
6471
6472         * libnm-util/nm-setting-wireless-security.c
6473                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6474                         minimal verification of EAP methods too
6475                 - (verify): verify phase1 eap methods too
6476
6477 2007-11-15  Dan Williams  <dcbw@redhat.com>
6478
6479         * libnm-glib/nm-device.h
6480           libnm-glib/nm-device.c
6481                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6482                         const char *
6483
6484 2007-11-15  Dan Williams  <dcbw@redhat.com>
6485
6486         * libnm-glib/nm-device.c
6487                 - (get_product_and_vendor): don't try to free things that should be
6488                         freed
6489
6490 2007-11-15  Dan Williams  <dcbw@redhat.com>
6491
6492         * src/NetworkManagerUtils.c
6493                 - (nm_ethernet_address_is_valid): unbreak previous fix
6494
6495 2007-11-15  Dan Williams  <dcbw@redhat.com>
6496
6497         * src/supplicant-manager/nm-supplicant-config.c
6498                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6499                         options
6500
6501 2007-11-15  Dan Williams  <dcbw@redhat.com>
6502
6503         * src/NetworkManagerUtils.c
6504                 - (nm_ethernet_address_is_valid): fix style, clarify
6505                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6506
6507         * src/nm-device-802-11-wireless.c
6508                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6509                 - (nm_device_802_11_wireless_get_ssid,
6510                    nm_device_802_11_wireless_get_bssid,
6511                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6512                         before calling the ioctl; fixes valgrind-reported jump depends on
6513                         uninitialized value errors
6514
6515 2007-11-15  Dan Williams  <dcbw@redhat.com>
6516
6517         * libnm-util/nm-setting.c
6518                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6519                         unecessary to serialize 'name'
6520
6521         * src/nm-activation-request.c
6522                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6523                         the GetSecrets call
6524
6525 2007-11-15  Dan Williams  <dcbw@redhat.com>
6526
6527         * libnm-util/nm-setting-connection.h
6528           libnm-util/nm-setting-connection.c
6529                 - Rename the 'name' property to 'id', because it conflicted with the
6530                         NMSetting superclass' 'name' property.
6531
6532         * libnm-util/nm-setting.c
6533                 - (nm_setting_to_hash): serialize the 'name' property
6534                 - (one_property_cb): ignore 'name' on deserialization of a connection
6535
6536         * src/nm-device-802-11-wireless.c
6537           src/vpn-manager/nm-vpn-connection.c
6538           src/NetworkManagerPolicy.c
6539                 - Fix up for NMSettingConnection 'name'->'id' changes
6540
6541 2007-11-13  Dan Williams  <dcbw@redhat.com>
6542
6543         * libnm-glib/nm-device-802-11-wireless.h
6544           libnm-glib/nm-device-802-11-wireless.c
6545                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6546
6547         * test/nm-tool.c
6548           libnm-glib/libnm-glib-test.c
6549                 - Fixes for above change
6550
6551 2007-11-12  Dan Williams  <dcbw@redhat.com>
6552
6553         * src/supplicant-manager/nm-supplicant-settings-verify.c
6554                 - Allow fragment_size option
6555
6556         * src/supplicant-manager/nm-supplicant-settings-verify.c
6557                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6558                         EAP fragment size than the default to help some TLS connections
6559
6560 2007-11-12  Dan Williams  <dcbw@redhat.com>
6561
6562         Make certs actually work.  The private key is now a secret, and should be
6563         decrypted when requested by NM.  The private key and phase2 private key
6564         passwords are no longer interesting to NM because they should be used by
6565         the settings service to decrypt the private key itself before passing it
6566         to NM, and hence have been removed as fields.
6567
6568         * libnm-util/nm-setting-wireless-security.h
6569           libnm-util/nm-setting-wireless-security.c
6570                 - Remove private-key-passwd and phase2-private-key-passwd from
6571                         properties
6572                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6573                    need_secrets): use property #defines instead strings to keep things
6574                         consistent
6575                 - (need_secrets_tls): if a client certificate is present but no
6576                         private key, request the private key
6577                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6578                         remove private key password stuff, mark private keys as secret
6579
6580         * src/supplicant-manager/nm-supplicant-settings-verify.c
6581                 - Remove private_key_passwd and private_key2_passwd from opt_table
6582
6583 2007-11-09  Dan Williams  <dcbw@redhat.com>
6584
6585         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6586         Since the vpn-properties are managed and known by the VPN daemons themselves,
6587         libnm-util doesn't know what's secret and what's in the setting's 'data'
6588         member.
6589
6590         * libnm-util/nm-setting.h
6591           libnm-util/nm-setting.c
6592                 - Add the ability for subclasses to override update_one_secret
6593
6594         * libnm-util/nm-setting-vpn-properties.c
6595                 - Override update_one_secret and just copy the values into the
6596                         internal table
6597
6598 2007-11-09  Dan Williams  <dcbw@redhat.com>
6599
6600         * libnm-glib/nm-settings.h
6601           libnm-glib/nm-settings.c
6602                 - (nm_settings_new_error): remove
6603                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6604                         clients should use g_set_error() with NM_SETTINGS_ERROR
6605
6606 2007-11-09  Dan Williams  <dcbw@redhat.com>
6607
6608         * src/supplicant-manager/nm-supplicant-config.c
6609                 - (nm_supplicant_config_add_setting_wireless_security): private key
6610                         passwords are never sent to wpa_supplicant, because the supplicant
6611                         should never be reading random files from the disk.  Clients like
6612                         the applet are required to decrypt the private keys and send NM
6613                         the decrypted blobs.
6614
6615 2007-11-08  Dan Williams  <dcbw@redhat.com>
6616
6617         * libnm-util/nm-setting-wireless-security.h
6618           libnm-util/nm-setting-wireless-security.c
6619                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6620                         members to 802-11-wireless-security structure.  This should be used
6621                         to indicate that the values in private-key and phase2-private-key
6622                         are already decrypted by the user agent, and that no
6623                         private-key-passwd or phase2-private-key-passwd should be expected.
6624                         It is not meant to be a stored configuration value, but meant to
6625                         be set when the conneciton is sent to NM over dbus.
6626
6627 2007-11-08  Dan Williams  <dcbw@redhat.com>
6628
6629         * libnm-util/nm-connection.h
6630           libnm-util/nm-connection.c
6631                 - (nm_connection_need_secrets): add argument to return hints
6632
6633         * src/nm-device-802-11-wireless.c
6634                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6635                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6636                         nm_connection_need_secrets() change
6637
6638 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6639
6640         Rework NMSetting structures: Move each setting to it's own file.
6641         Convert to GObject. Remove home grown setting types and use GTypes.
6642         Use GObject property introspection for hash conversion, enumerating
6643         properties, etc.
6644
6645         * libnm-util/nm-setting-connection.[ch]
6646         * libnm-util/nm-setting-ip4-config.[ch]
6647         * libnm-util/nm-setting-ppp.[ch]
6648         * libnm-util/nm-setting-vpn.[ch]
6649         * libnm-util/nm-setting-vpn-properties.[ch]
6650         * libnm-util/nm-setting-wired.[ch]
6651         * libnm-util/nm-setting-wireless.[ch]
6652         * libnm-util/nm-setting-wireless-security.[ch]
6653
6654         New files, each containing a setting.
6655
6656         * libnm-util/nm-setting-template.[ch]: A template for creating new
6657         settings. To use it, just replace 'template' with the new setting
6658         name, and you're half-way done.
6659
6660         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6661         introspection instead of internal types and tables.
6662
6663         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6664
6665         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6666         GValue types defined by dbus-glib for composed types like collections,
6667         structures and maps.
6668
6669         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6670         a setting from connection takes the setting type now. Also, since
6671         the settings are in multiple files, include relevant settings.
6672
6673 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6674
6675         * configure.in:
6676         * src/backends/NetworkManagerGentoo.c:
6677         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6678         providers in Gentoo.
6679
6680 2007-10-31  Dan Williams  <dcbw@redhat.com>
6681
6682         * libnm-util/nm-connection.c
6683                 - (gvalue_to_string): handle UINT32 arrays
6684
6685 2007-10-31  Dan Williams  <dcbw@redhat.com>
6686
6687         * libnm-glib/nm-device.h
6688           libnm-glib/nm-device.c
6689                 - (nm_device_get_description): remove
6690                 - (nm_device_get_product, nm_device_get_vendor): add
6691                 - (nm_device_update_description): new function (private); walk HAL
6692                         devices to get product and vendor IDs for a specific device
6693
6694 2007-10-31  Dan Williams  <dcbw@redhat.com>
6695
6696         * src/nm-device-802-11-wireless.c
6697                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6698
6699 2007-10-29  Dan Williams  <dcbw@redhat.com>
6700
6701         * src/nm-hal-manager.c
6702                 - (device_added, device_new_capability): ignore device additions while
6703                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6704                         kernel module is unloaded and reloaded and recognized by NM again.
6705
6706 2007-10-26  Dan Williams  <dcbw@redhat.com>
6707
6708         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6709
6710         * src/NetworkManagerAP.c
6711           src/NetworkManagerAP.h
6712           libnm-glib/nm-access-point.c
6713           libnm-glib/nm-access-point.h
6714                 - Make 'rate' property a guint32 to better match with WEXT and
6715                         wpa_supplicant and to allow representation of higher bitrates
6716
6717         * src/nm-device-802-11-wireless.c
6718           introspection/nm-device-802-11-wireless.xml
6719           libnm-glib/nm-device-802-11-wireless.c
6720           libnm-glib/nm-device-802-11-wireless.h
6721                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6722
6723         * src/nm-device-802-3-ethernet.c
6724           src/nm-device-802-3-ethernet.h
6725           introspection/nm-device-802-3-ethernet.xml
6726           libnm-glib/nm-device-802-3-ethernet.c
6727           libnm-glib/nm-device-802-3-ethernet.h
6728                 - Make 'speed' property a guint32 to match other speed/rate types
6729                 - Make nm_device_802_3_ethernet_get_speed() static
6730
6731         * test/nm-tool.c
6732                 - Update for the changes above
6733
6734 2007-10-26  Dan Williams  <dcbw@redhat.com>
6735
6736         * src/named-manager/nm-named-manager.c
6737                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6738                     not calling fclose() twice on some error conditions
6739
6740 2007-10-26  Dan Williams  <dcbw@redhat.com>
6741
6742         * src/nm-activation-request.c
6743                 - (dispose): clean up indentation; get the right DBusGProxy object to
6744                         cancel the GetSecrets pending call on.  Need to use the Secrets
6745                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6746                         pending call doesn't get canceled, and pressing Cancel in the
6747                         applet's password dialog could cause get_secrets_cb() to be called
6748                         after the activation request has already been destroyed
6749
6750 2007-10-24  Dan Williams  <dcbw@redhat.com>
6751
6752         * src/supplicant-manager/nm-supplicant-config.c
6753                 - (nm_supplicant_config_add_blob): pass blob data and length for
6754                         verification
6755                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6756
6757 2007-10-24  Dan Williams  <dcbw@redhat.com>
6758
6759         * src/supplicant-manager/nm-supplicant-settings-verify.c
6760                 - (opt_table): max length for certificates should be 65536
6761
6762 2007-10-24  Dan Williams  <dcbw@redhat.com>
6763
6764         * src/supplicant-manager/nm-supplicant-interface.c
6765                 - (blob_free): correctly free blob data after use
6766                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6767
6768 2007-10-24  Dan Williams  <dcbw@redhat.com>
6769
6770         * libnm-util/nm-setting.c
6771                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6772                         EAP method need secrets
6773
6774 2007-10-24  Dan Williams  <dcbw@redhat.com>
6775
6776         * src/backends/NetworkManagerRedHat.c
6777                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6778
6779 2007-10-23  Dan Williams  <dcbw@redhat.com>
6780
6781         * libnm-util/nm-setting.c
6782           libnm-util/nm-setting.c
6783                 - (nm_setting_compare): implement
6784                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6785                    compare_one_hash_gvalue): compare the contents of a setting
6786
6787         * libnm-util/nm-connection.c
6788                 - (nm_connection_compare): implement
6789
6790 2007-10-23  Dan Williams  <dcbw@redhat.com>
6791
6792         * src/nm-activation-request.c
6793                 - (get_secrets_cb): handle getting a setting back that is more than
6794                         just secrets (ie, user changed auth or EAP method or something)
6795
6796 2007-10-23  Dan Williams  <dcbw@redhat.com>
6797
6798         * libnm-util/nm-setting.c
6799           libnm-util/nm-setting.h
6800                 - (nm_setting_verify): new function; verify one setting
6801                 - (nm_settings_verify_all): rename from nm_settings_verify()
6802                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6803                         all_settings
6804
6805         * libnm-util/nm-connection.c
6806                 - (nm_connection_replace_settings, nm_connection_verify,
6807                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6808
6809 2007-10-23  Dan Williams  <dcbw@redhat.com>
6810
6811         * src/nm-device-802-11-wireless.c
6812                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6813                         desired behavior
6814
6815 2007-10-23  Dan Williams  <dcbw@redhat.com>
6816
6817         * src/supplicant-manager/nm-supplicant-settings-verify.c
6818                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6819                         nm-settings.c
6820
6821 2007-10-23  Dan Williams  <dcbw@redhat.com>
6822
6823         * src/nm-device-802-11-wireless.c
6824                 - (real_act_stage2_config): after the first association failure,
6825                         if the connection still needs secrets ask the user for them
6826                         explicitly.  After the fourth association failure due to bad
6827                         secrets, fail the connection entirely.  Handles the GetSecrets
6828                         loop that NM gets into when the provided secrets don't match up
6829                         with the connection details.
6830
6831 2007-10-23  Dan Williams  <dcbw@redhat.com>
6832
6833         * src/supplicant-manager/nm-supplicant-config.c
6834                 - (nm_supplicant_config_add_setting_wireless_security): only add
6835                         WPA-specific options when WPA is in use
6836
6837 2007-10-23  Dan Williams  <dcbw@redhat.com>
6838
6839         * src/supplicant-manager/nm-supplicant-config.c
6840                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6841                         secret doesn't need to be unhexified
6842
6843 2007-10-23  Dan Williams  <dcbw@redhat.com>
6844
6845         * libnm-util/nm-setting.c
6846                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6847                         before trying to do something with it
6848
6849 2007-10-23  Dan Williams  <dcbw@redhat.com>
6850
6851         * src/nm-device-802-11-wireless.c
6852                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6853
6854 2007-10-23  Dan Williams  <dcbw@redhat.com>
6855
6856         * src/nm-device-802-11-wireless.c
6857                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6858                         non-SSID-broadcasting APs
6859
6860 2007-10-23  Dan Williams  <dcbw@redhat.com>
6861
6862         * src/NetworkManagerAP.c
6863                 - (match_cipher, security_compatible): remove
6864                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6865                         libnm-util instead
6866
6867 2007-10-23  Dan Williams  <dcbw@redhat.com>
6868
6869         * libnm-util/nm-utils.c
6870           libnm-util/nm-utils.h
6871                 - (nm_utils_ap_security_compatible): common function for checking
6872                         whether a specific AP is compatible with an NMConnection
6873
6874 2007-10-23  Dan Williams  <dcbw@redhat.com>
6875
6876         * libnm-util/nm-setting.c
6877                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6878                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6879                    need_secrets_password, setting_wireless_security_verify): fix
6880                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6881                         secrets logic for each supported EAP method
6882
6883 2007-10-23  Dan Williams  <dcbw@redhat.com>
6884
6885         * src/supplicant-manager/nm-supplicant-config.c
6886                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6887                         config option name, should be "private_key2_passwd"
6888
6889 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6890
6891         Implement support for static IP addresses, additional/overridden DNS and
6892         DNS domain search lists.
6893
6894         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6895         (ip4_addresses_to_gvalue): Implement.
6896         (convert_array_to_byte_array): Implement.
6897         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6898         NM_S_TYPE_IP4_ADDRESSES.
6899         (nm_setting_hash): Ditto.
6900         (default_setting_clear_secrets): Add a default case for the switch: IP address
6901         shouldn't be secret, ever.
6902         (setting_ip4_config_verify): Update, requires addresses in case of manual
6903         configurations.
6904         (setting_ip4_config_destroy): Free stuff.
6905
6906         * src/nm-device.c (merge_ip4_config): Implement.
6907         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6908
6909 2007-10-22  Dan Williams  <dcbw@redhat.com>
6910
6911         * libnm-util/nm-setting.c
6912                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6913                         pairwise cipher options for Dynamic WEP
6914
6915 2007-10-21  Dan Williams  <dcbw@redhat.com>
6916
6917         * src/NetworkManagerAP.c
6918           src/NetworkManagerAP.h
6919                 - Rename 'articifical' -> 'fake' since that's what they are until
6920                         noticed in scans
6921                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6922                         from the attributes in an NMConnection object
6923                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6924                         WPA Enterprise
6925                 - (nm_ap_match_in_list): find a matching AP in a scan list
6926
6927         * src/nm-device-802-11-wireless.c
6928                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6929                         AP when searching the scan list; match on frequency and mode too
6930                 - (nm_device_802_11_wireless_get_frequency): implement
6931                 - (merge_scanned_ap): replace duplicate matching logic with
6932                         nm_ap_match_in_list()
6933                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6934                         the user is trying to connect to a hidden network that is not yet
6935                         known from the scan list
6936                 - (activation_success_handler): now that the card knows the AP's BSSID,
6937                         there may already be a scanned AP in the scan list that is what
6938                         we really wanted to connect to, but didn't know at the time.  Use
6939                         that instead of the 'fake' AP created at activation start and get
6940                         rid of the 'fake' AP 
6941                 - (cull_scan_list): don't remove fake APs
6942
6943 2007-10-21  Dan Williams  <dcbw@redhat.com>
6944
6945         * src/nm-activation-request.h
6946           src/nm-activation-request.c
6947                 - (nm_act_request_set_specific_object): new function; allow setting the
6948                         specific object if one isn't set yet
6949
6950 2007-10-20  Dan Williams  <dcbw@redhat.com>
6951
6952         * src/supplicant-manager/nm-supplicant-config.h
6953           src/supplicant-manager/nm-supplicant-config.c
6954                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6955                         table to store blobs
6956                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6957                         blob hash table
6958                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6959                 - (nm_supplicant_config_add_setting_wireless_security): handle
6960                         options that use certificates (ie, blobs)
6961
6962         * src/nm-device-802-11-wireless.c
6963                 - (build_supplicant_config): pass a UID (just use the connection path)
6964                         to the supplicant config as now required
6965
6966         * src/supplicant-manager/nm-supplicant-interface.c
6967                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6968                         there are any blobs to send to wpa_supplicant, send those first
6969                         before sending the network configuration
6970
6971 2007-10-19  Dan Williams  <dcbw@redhat.com>
6972
6973         Split the GetSecrets() call off to a separate D-Bus interface so that it
6974         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
6975         should be able to call GetSecrets().
6976
6977         * include/NetworkManager.h
6978                 - Define the connection secrets D-Bus interface
6979
6980         * src/vpn-manager/nm-vpn-connection.c
6981                 - (clear_need_auth): get the right proxy object for the connection
6982                         secrets interface
6983                 - (get_connection_secrets): use the connection secrets proxy; send
6984                         empty hints in get secrets request
6985
6986         * src/nm-activation-request.c
6987                 - (nm_act_request_request_connection_secrets): use the connection
6988                         secrets proxy; send empty hints in get secrets request
6989
6990         * src/nm-manager.c
6991           src/nm-manager.h
6992                 - (connection_get_settings_cb): set the connection secrets proxy on
6993                         the connection object too
6994                 - (internal_new_connection_cb): create the connection secrets proxy
6995
6996         * introspection/nm-settings-connection.xml
6997                 - Define Connection.Secrets interface and move GetSecrets there
6998                 - Add a 'hints' argument to GetSecrets
6999
7000         * libnm-glib/nm-settings.c
7001           libnm-glib/nm-settings.h
7002                 - (impl_connection_settings_get_secrets): add 'hints' argument
7003
7004 2007-10-19  Dan Williams  <dcbw@redhat.com>
7005
7006         * src/nm-device.c
7007                 - (constructor): add message about what path a device is exported as
7008                         to help in debugging rh #339011
7009
7010 2007-10-17  Dan Williams  <dcbw@redhat.com>
7011
7012         * libnm-util/nm-utils.h
7013           libnm-util/nm-utils.c
7014                 - (nm_utils_security_valid): common function to help find the intersection
7015                         of capabilities of devices and (optionally) access points
7016
7017 2007-10-17  Dan Williams  <dcbw@redhat.com>
7018
7019         * src/nm-device-802-11-wireless.c
7020                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7021                         don't get erroneously cleared
7022
7023 2007-10-17  Dan Williams  <dcbw@redhat.com>
7024
7025         * src/nm-manager.h
7026           src/nm-manager.c
7027           src/nm-hal-manager.c
7028                 - (device_removed, finalize, nm_manager_remove_device,
7029                    nm_manager_sleep): add a 'deactivate' argument to 
7030                    nm_manager_remove_device() to fully deactivate devices when necessary
7031                    (ie, always except when waking up)
7032
7033 2007-10-16  Dan Williams  <dcbw@redhat.com>
7034
7035         * libnm-util/nm-setting.c
7036                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7037                         also isn't valid phase2 autheap method
7038
7039 2007-10-16  Dan Williams  <dcbw@redhat.com>
7040
7041         * libnm-glib/nm-client.c
7042                 - (update_wireless_status): consolidate updates of wireless status
7043                 - (constructor): use update_wireless_status()
7044                 - (manager_running): set wireless status off when NM goes away; requery
7045                         the wireless status when NM comes back
7046
7047 2007-10-16  Dan Williams  <dcbw@redhat.com>
7048
7049         * libnm-glib/nm-client.c
7050                 - (nm_client_activate_device): actually use the fixed-up specific
7051                         object path
7052
7053 2007-10-16  Dan Williams  <dcbw@redhat.com>
7054
7055         * src/nm-hal-manager.c
7056                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7057                         killswitch error messages once
7058
7059 2007-10-16  Dan Williams  <dcbw@redhat.com>
7060
7061         * src/nm-manager.c
7062                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7063                         if it's disabled in hardware; don't touch network devices while
7064                         NM is asleep
7065
7066 2007-10-16  Dan Williams  <dcbw@redhat.com>
7067
7068         * libnm-util/nm-client.c
7069                 - (nm_client_activate_device): convert NULL specific_object to "/",
7070                         which is used in place of NULL
7071
7072         * src/nm-manager.c
7073                 - (impl_manager_activate_device): convert "/" specific_object back into
7074                         NULL
7075
7076 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7077
7078         Implement a generic NMSetting creator from setting name.
7079         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7080         add a virtual function 'populate_fn'.
7081
7082         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7083         (register_default_creators): Register setting creators instead of functions
7084         that create and then populate.
7085         (parse_one_setting): Use the common setting creator and then setting specific
7086         poplulation function.
7087
7088         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7089         they all looked exactly the same.
7090         Add a 'populate_fn' virtual function to NMSetting.
7091         Use default virtual functions in case they are not overriden.
7092         (nm_setting_populate_from_hash): Implement.
7093
7094         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7095         name, use a defined string.
7096         (real_act_stage4_get_ip4_config): Ditto.
7097
7098 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7099
7100         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7101         HAL is int, not uint.
7102
7103 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7104
7105         Implement killswitch polling through HAL.
7106
7107         * src/nm-manager.c: Add wireless hardware status property. Add 
7108         'properties-changed' signal for changes in wireless and wireless hardware
7109         state changes.
7110
7111         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7112         and update NMManager's wireless hardware state when it has changed.
7113         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7114         already does that.
7115
7116         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7117         values of wireless state and wireless hardware state. Listen for the
7118         'properties-changed' signals, update the cached values and emit notify.
7119
7120         * include/NetworkManager.h: Fix a typo in a comment.
7121
7122 2007-10-14  Dan Williams  <dcbw@redhat.com>
7123
7124         * libnm-util/nm-setting.c
7125                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7126
7127 2007-10-13  Dan Williams  <dcbw@redhat.com>
7128
7129         * libnm-util/nm-setting.h
7130           libnm-util/nm-setting.c
7131           src/supplicant-manager/nm-supplicant-config.c
7132                 - Make the 'proto' field of the 802-11-wireless-security field a
7133                         string list
7134
7135 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7136
7137         Rework the "properties-changed" signal listening implementation.
7138         Add a generic implementation to NMObject class that listens for
7139         the signal and calls property setters of the target NMObject.
7140
7141         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7142
7143         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7144         code to the end of file so that all the static functions are available
7145         without extra declarations.
7146         Remove the "properties-changed" signal handling and use the framework from
7147         NMObject.
7148         Implement property setters for properties that change with 
7149         "properties-changed" signal.
7150
7151         * libnm-glib/nm-access-point.c: Ditto.
7152
7153 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7154
7155         Rework the "properties-changed" signal implementation.
7156         In classes that need to use it, just emit "GObject::notify" and the new
7157         framework takes care of the rest to make the signal available on dbus.
7158         The framework queues the notifications and tries to send as many together
7159         in one signal as possible.
7160
7161         * src/nm-properties-changed-signal.c:
7162         * src/nm-properties-changed-signal.h: Implement.
7163
7164         * src/Makefile.am: Add new files to build.
7165
7166         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7167         signal.
7168
7169         * src/nm-device-802-11-wireless.c: Ditto.
7170
7171 2007-10-10  Dan Williams  <dcbw@redhat.com>
7172
7173         * src/nm-manager.c
7174                 - (wait_for_connection_expired): ensure info is valid
7175                 - (connection_added_default_handler): Should only remove pending
7176                         connection info when the manager has the connection that it's
7177                         waiting for.  Fixes segfault in wait_for_connection_info().  
7178
7179 2007-10-10  Dan Williams  <dcbw@redhat.com>
7180
7181         * libnm-util/nm-setting.c
7182           libnm-util/nm-setting.h
7183                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7184                         can use if they choose.  Should be filled in by the settings service
7185                         on-the-fly with the currently logged in user's username
7186
7187 2007-10-10  Dan Williams  <dcbw@redhat.com>
7188
7189         * src/nm-device-802-11-wireless.c
7190                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7191                         as such, because even if the manager fills in the SSID, NM still
7192                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7193                         its SSID
7194
7195 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7196
7197         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7198         code that used NM's own version of dbus signal handling and custom dictionary
7199         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7200         and we get to maintain over 2000 lines less code.
7201
7202         * libnm-util/dbus-dict-helpers.c:
7203         * libnm-util/dbus-dict-helpers.h: Remove.
7204
7205         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7206
7207         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7208
7209         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7210         handlers.
7211
7212         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7213
7214         * configure.in: Remove test/libnm-util/Makefile creation.
7215
7216         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7217
7218         * test/libnm-util/: Remove the whole directory.
7219
7220 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7221
7222         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7223         device_state_changed_idle_id variable or it would contain some random value and the
7224         schedule_change_check calls would not do anything.
7225
7226 2007-10-09  Dan Williams  <dcbw@redhat.com>
7227
7228         * src/nm-device-802-11-wireless.c
7229                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7230                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7231                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7232                         merging of non-SSID-broadcasting APs
7233
7234 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7235
7236         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7237         "guint8 *" since it's usually used with GByteArray->data.
7238         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7239
7240 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7241
7242         * src/NetworkManagerUtils.c
7243         (nm_utils_is_empty_ssid):
7244         (nm_utils_escape_ssid):
7245         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7246         lot of places, so they belong to libnm-utils instead.
7247
7248         Now with 100% less compiler warnings:
7249
7250         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7251         (nm_dbus_unescape_object_path): Ditto.
7252         (nm_utils_ssid_to_utf8): Ditto.
7253         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7254         (nm_utils_escape_ssid): Ditto.
7255         (nm_utils_same_ssid): Ditto.
7256
7257         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7258         (add_one_connection_element): Remove an unused variable.
7259         (impl_manager_get_active_connections): Ditto.
7260
7261         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7262         variable.
7263
7264         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7265         from the previous commit.
7266
7267         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7268         (real_act_stage1_prepare): Ditto.
7269         (activation_success_handler): Ditto.
7270         (get_property): Ditto.
7271
7272         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7273         variable.
7274
7275         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7276         it's always set.
7277
7278         * src/supplicant-manager/nm-supplicant-config.c 
7279         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7280         to expected "char *".
7281         (nm_supplicant_config_add_setting_wireless): Ditto.
7282         (nm_supplicant_config_remove_option): Remove, not used.
7283
7284         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7285         not double.
7286         (test_wireless_enabled): Ifdef out unused function.
7287         (device_deactivate): Ditto.
7288         (device_state_changed): Ditto.
7289         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7290         (nm_utils_escape_ssid): Ditto.
7291
7292         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7293         (nm_utils_is_empty_ssid): Ditto.
7294
7295         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7296         unused variable.
7297
7298         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7299         (setting_vpn_properties_update_secrets): Ditto.
7300         (int_to_gvalue): Ifdef out for now, not used.
7301         (byte_to_gvalue): Ditto.
7302
7303         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7304         Unused, remove.
7305
7306 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7307
7308         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7309         about dbus manager, not named manager.
7310         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7311
7312         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7313         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7314         However, the same signal is emitted when we destroy it and there's 
7315         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7316
7317         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7318         releasing the DBusGConnection, since proxy needs a conneciton.
7319         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7320
7321 2007-10-08  Dan Williams  <dcbw@redhat.com>
7322
7323         * src/NetworkManager.c
7324                 - (main): error on unknown command-line options
7325
7326 2007-10-08  Dan Williams  <dcbw@redhat.com>
7327
7328         Reimplement the invalid connection list.  Don't try to re-activate a
7329         connection that just failed or was canceled.
7330
7331         * src/nm-device.c
7332                 - (connection_secrets_failed_cb): fail device activation, don't just
7333                         deactivate the device.  Listeners have to know about the failure.
7334
7335         * src/NetworkManagerPolicy.c
7336                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7337                         the connection list given to a device's get_best_connection()
7338                         method
7339                 - (device_state_changed): tag failed connections as invalid; clear the
7340                         tag from successful connections
7341
7342 2007-10-08  Dan Williams  <dcbw@redhat.com>
7343
7344         Fix problems with interrupted activation.  Previously, choosing an AP
7345         from the menu, then choosing another one before the first connection was
7346         successful wouldn't deactivate the device before starting the new connection
7347         on that same device.
7348
7349         * src/NetworkManagerPolicy.c
7350                 - (deactivate_old_device, device_state_changed, state_changed,
7351                    nm_policy_new): wrong place to deactivate old devices
7352
7353         * src/nm-manager.c
7354                 - (pending_connection_info_destroy, finalize,
7355                    wait_for_connection_expired): decouple destruction of the pending
7356                         connection info from the manager device
7357                 - (connection_added_default_handler): deactivate any active or
7358                         activating device before starting a new activation
7359                 - (impl_manager_activate_device): deactivate any active or activating
7360                         device before starting a new activation; be sure not to leak
7361                         pending connection info if a new activation request arrives but
7362                         there's already a pending one in-process
7363
7364 2007-10-08  Dan Williams  <dcbw@redhat.com>
7365
7366         * src/NetworkManagerAP.h
7367           src/NetworkManagerAP.c
7368                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7369                         should handle default SSIDs and whether or not to autoconnect
7370                         to them
7371
7372 2007-10-08  Dan Williams  <dcbw@redhat.com>
7373
7374         * src/NetworkManagerPolicy.c
7375                 - (nm_policy_device_change_check): print out connection name where
7376                         possible
7377
7378 2007-10-08  Dan Williams  <dcbw@redhat.com>
7379
7380         * src/nm-device-802-11-wireless.c
7381           src/nm-device-802-11-wireless.h
7382                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7383                         'hidden-ap-found' signal (for internal use only) that allows the
7384                         NMManager to fill in the AP's SSID if a connection has that AP's
7385                         BSSID in its seen-bssids list
7386
7387         * src/nm-manager.c
7388                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7389                         wireless device's hidden-ap-found signal and fill in the APs SSID
7390                         if possible
7391
7392 2007-10-07  Dan Williams  <dcbw@redhat.com>
7393
7394         * src/nm-manager.c
7395           src/nm-manager.h
7396                 - Add a 'connections-added' signal to batch together updates of large
7397                         numbers of connections, like when reading from a settings service
7398                         the first time.  Otherwise, the policy would just activate the first
7399                         suitable connection it saw rather than waiting for the full list
7400                         to arrive.
7401                 - (nm_manager_class_init): register new signal
7402                 - (get_type_for_proxy, connection_get_settings_cb,
7403                    get_connection_for_proxy): centralize places where a proxy's setting
7404                         service is determined
7405                 - (free_get_settings_info): if the call being freed is the last call
7406                         in a pending call group, fire off the connections-added signal
7407                 - (internal_new_connection_cb): add call to a pending call group if
7408                         requested
7409                 - (list_connections_cb): always create a call group here, because this
7410                         call results in a batch of new connections
7411                 - (initial_get_connections): start getting system connections first
7412                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7413                         removed signal when destroying connections
7414
7415         * src/NetworkManagerPolicy.c
7416                 - (nm_policy_new, connections_added): handle connections-added signal
7417                         from the manager
7418
7419 2007-10-06  Dan Williams  <dcbw@redhat.com>
7420
7421         * src/nm-device-802-11-wireless.c
7422                 - (constructor): fix leaked socket
7423
7424 2007-10-06  Dan Williams  <dcbw@redhat.com>
7425
7426         * src/NetworkManagerPolicy.c
7427                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7428                         connection in the list returned by nm_manager_get_connections() is
7429                         reffed, but they weren't getting unreffed before returning
7430
7431 2007-10-06  Dan Williams  <dcbw@redhat.com>
7432
7433         * src/nm-manager.c
7434                 - (connections_to_slist): sort connections first on autoconnect, then
7435                         on timestamp
7436
7437 2007-10-06  Dan Williams  <dcbw@redhat.com>
7438
7439         * libnm-util/nm-connection.c
7440                 - (gvalue_to_string): handle UINT64
7441
7442 2007-10-06  Dan Williams  <dcbw@redhat.com>
7443
7444         * src/NetworkManagerPolicy.c
7445                 - (connection_updated, nm_policy_new): recheck state when a connection
7446                         gets updated
7447
7448 2007-10-06  Dan Williams  <dcbw@redhat.com>
7449
7450         * src/nm-manager.c
7451           src/nm-manager.h
7452                 - (nm_manager_get_connection_dbus_path): make static
7453                 - (nm_manager_update_connections): remove; unused
7454                 - Add a connection-updated signal
7455                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7456                         handle connection object updates
7457
7458 2007-10-06  Dan Williams  <dcbw@redhat.com>
7459
7460         * src/NetworkManagerPolicy.c
7461                 - (connection_removed): deactivate removed connections
7462
7463 2007-10-06  Dan Williams  <dcbw@redhat.com>
7464
7465         * libnm-util/nm-connection.c
7466           libnm-util/nm-connection.h
7467                 - (nm_connection_replace_settings): new function
7468
7469 2007-10-06  Dan Williams  <dcbw@redhat.com>
7470
7471         * libnm-glib/nm-device-802-11-wireless.c
7472                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7473                         on error when getting the active access point over D-Bus from NM
7474
7475 2007-10-05  Dan Williams  <dcbw@redhat.com>
7476
7477         * libnm-util/nm-setting.c
7478                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7479                         to the NMSettingWireless table; it's now a string array not an array
7480                         of byte arrays
7481
7482 2007-10-05  Dan Williams  <dcbw@redhat.com>
7483
7484         * libnm-glib/nm-device-802-11-wireless.c
7485                 - Cache properties and update cached properties on D-Bus signals from NM
7486
7487 2007-10-05  Dan Williams  <dcbw@redhat.com>
7488
7489         * src/nm-device-802-11-wireless.c
7490                 - (set_current_ap): consolidate current_ap handling code into one place
7491                         to ensure that PropertiesChanged signals are emitted in all cases
7492                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7493                    nm_device_802_11_wireless_dispose): use set_current_ap()
7494
7495 2007-10-05  Dan Williams  <dcbw@redhat.com>
7496
7497         * libnm-glib/nm-access-point.c
7498           libnm-glib/nm-access-point.h
7499                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7500                         because the value is cached internally now.  Callers should not
7501                         free the internal value.
7502                 - Make signal name defines private
7503
7504         * test/nm-tool.c
7505           libnm-glib/libnm-glib-test.c
7506                 - Don't free value returned from nm_access_point_get_hw_address()
7507
7508 2007-10-04  Dan Williams  <dcbw@redhat.com>
7509
7510         * introspection/nm-device-802-11-wireless.xml
7511           src/nm-device-802-11-wireless.h
7512           src/nm-device-802-11-wireless.c
7513                 - Add a PropertiesChanged signal for wireless device
7514                 - Store currently associated access point
7515                 - (periodic_update): generalize; update rate here too and emit the
7516                         correct PropertiesChanged signal when stuff changes
7517                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7518                    real_activation_cancel_handler): clear current_ap when device is
7519                         deactivated
7520                 - (link_to_specific_ap, get_ap_blacklisted,
7521                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7522                         code
7523                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7524                         outside this file
7525                 - (real_set_hw_address): emit property changed signal if the card's
7526                         MAC address changes
7527                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7528                         the card is supposed to be connecting to
7529                 - (activation_success_handler): send out property updates on successful
7530                         activation
7531                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7532                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7533                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7534                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7535                         is now boxed; add PropertiesChanged signal
7536
7537 2007-10-04  Dan Williams  <dcbw@redhat.com>
7538
7539         * libnm-util/nm-connection.c
7540           libnm-util/nm-connection.h
7541                 - (nm_connection_verify): new function
7542
7543 2007-10-04  Dan Williams  <dcbw@redhat.com>
7544
7545         * libnm-util/nm-setting.c
7546                 - (nm_settings_verify): use #defines when possible rather than strings
7547                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7548                 - (setting_vpn_verify): tighter validity check on 'service_type'
7549
7550 2007-10-04  Dan Williams  <dcbw@redhat.com>
7551
7552         * libnm-glib/nm-settings.c
7553                 - (nm_connection_settings_class_init): provide correct type for argument
7554                         to the Updated signal so that dbus-glib knows how to marshal it
7555
7556 2007-10-03  Dan Williams  <dcbw@redhat.com>
7557
7558         * src/nm-device-802-3-ethernet.c
7559                 - (real_get_best_connection): don't create automatic connections
7560                         internally; clients should provide a setting that applies to
7561                         the device with 'autoconnect: True'.  Problem was that these
7562                         internally auto-created connections don't have a proxy or service
7563                         name becuase they weren't created by a settings daemon, and therefore
7564                         clients have no idea what to do with them.
7565
7566 2007-10-03  Dan Williams  <dcbw@redhat.com>
7567
7568         * src/nm-device-802-11-wireless.c
7569           src/nm-device-802-11-wireless.h
7570           introspection/nm-device-802-11-wireless.xml
7571                 - GetActiveNetworks -> GetAccessPoints
7572                 - ActiveNetwork -> ActiveAccessPoint
7573                 - NetworkAdded -> AccessPointAdded
7574                 - NetowrkRemoved -> AccessPointRemoved
7575
7576         * libnm-glib/nm-device-802-11-wireless.c
7577           libnm-glib/nm-device-802-11-wireless.h
7578                 - network-added signal -> access-point-added
7579                 - network-removed signal -> access-point-removed
7580                 - nm_device_802_11_wireless_get_active_network() ->
7581                         nm_device_802_11_wireless_get_active_access_point()
7582                 - nm_device_802_11_wireless_get_network_by_path() ->
7583                         nm_device_802_11_wireless_get_access_point_by_path()
7584                 - nm_device_802_11_wireless_get_networks() ->
7585                         nm_device_802_11_wireless_get_access_points()
7586
7587         * libnm-glib/libnm-glib-test.c
7588           test/nm-tool.c
7589           src/NetworkManagerPolicy.c
7590                 - Fixups for Network -> AccessPoint
7591
7592 2007-10-03  Dan Williams  <dcbw@redhat.com>
7593
7594         Add a GetActiveConnections() method on the Manager object.
7595
7596         * src/nm-manager.c
7597           src/nm-manager.h
7598           introspection/nm-manager.xml
7599                 - (connection_get_settings_cb): keep connection type around too
7600                 - (impl_manager_get_active_connections, add_one_connection_element):
7601                         implement; returns all active connections and what devices they
7602                         apply to
7603
7604         * libnm-glib/nm-client.c
7605           libnm-glib/nm-client.h
7606           introspection/nm-manager-client.xml
7607                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7608                         by the caller; free here to avoid memory leak
7609                 - (nm_client_get_active_connections): implement; return the list of
7610                         active connections
7611                 - (nm_client_free_active_connection_element): implement; free an element
7612                         of the GSList returned by nm_client_get_active_connections()
7613
7614 2007-10-03  Dan Williams  <dcbw@redhat.com>
7615
7616         * src/nm-device-802-11-wireless.c
7617                 - (nm_device_802_11_wireless_update_bssid): remove
7618                 - (get_active_ap): new function; find the AP in the scan list which
7619                         matches the current BSSID and SSID of the wireless device
7620                 - (nm_device_802_11_periodic_update): get current AP using
7621                         get_active_ap() and print AP roam messages
7622
7623 2007-10-01  Dan Williams  <dcbw@redhat.com>
7624
7625         * libnm-util/nm-setting.h
7626                 - Add a 'timestamp' option to NMSettingConnection
7627                 - Add a UINT64 type
7628
7629         * libnm-util/nm-setting.c
7630                 - (uint64_to_gvalue): new function
7631                 - (nm_setting_populate_from_hash, nm_setting_hash,
7632                    default_setting_clear_secrets): handle UINT64 type
7633                 - con_table: add 'timestamp' member
7634
7635 2007-10-01  Dan Williams  <dcbw@redhat.com>
7636
7637         * src/nm-manager.c
7638                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7639                         value when the connection can be activated immediately
7640
7641 2007-10-01  Dan Williams  <dcbw@redhat.com>
7642
7643         * libnm-glib/nm-device.c
7644                 - (nm_device_class_init): actually tell glib about the carrier-changed
7645                         signal
7646
7647 2007-10-01  Dan Williams  <dcbw@redhat.com>
7648
7649         * configure.in
7650           src/marshallers/Makefile.am
7651           src/marshallers/nm-marshal.list
7652           src/marshallers/nm-marshal-main.c
7653                 - Consolidate glib marshallers into one place
7654
7655         * src/dhcp-manager/Makefile.am
7656           src/dhcp-manager/nm-dhcp-manager.c
7657           src/supplicant-manager/Makefile.am
7658           src/supplicant-manager/nm-supplicant-manager.c
7659           src/supplicant-manager/nm-supplicant-interface.c
7660           src/ppp-manager/Makefile.am
7661           src/ppp-manager/nm-ppp-manager.c
7662           src/vpn-manager/Makefile.am
7663           src/vpn-manager/nm-vpn-connection.c
7664           src/Makefile.am
7665                 - Use consolidated marshallers
7666
7667         * src/dhcp-manager/nm-dhcp-marshal.list
7668           src/dhcp-manager/nm-dhcp-marshal-main.c
7669           src/supplicant-manager/nm-supplicant-marshal-main.c
7670           src/supplicant-manager/nm-supplicant-marshal.list
7671           src/nm-marshal-main.c
7672           src/nm-marshal.list
7673           src/ppp-manager/nm-ppp-marshal-main.c
7674           src/ppp-manager/nm-ppp-marshal.list
7675           src/vpn-manager/nm-vpn-marshal-main.c
7676           src/vpn-manager/nm-vpn-marshal.list
7677                 - Remove
7678
7679 2007-10-01  Dan Williams  <dcbw@redhat.com>
7680
7681         * include/NetworkManagerVPN.h
7682                 - define VPN connection state change reason codes
7683
7684         * src/vpn-manager/Makefile.am
7685           src/vpn-manager/nm-vpn-marshal.list
7686           src/vpn-manager/nm-vpn-marshal-main.c
7687                 - Add marshallers for StateChanged signal
7688
7689         * introspection/nm-vpn-connection.xml
7690                 - New Banner property
7691                 - StateChanged signal now includes a 'reason' argument
7692
7693         * src/vpn-manager/nm-vpn-connection.c
7694           src/vpn-manager/nm-vpn-connection.h
7695                 - Add a "Banner" property that contains the returned VPN server login
7696                         banner (if any); valid only in the ACTIVATED state
7697                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7698                         a 'reason' argument and emits that reason along with the
7699                         state-changed signal
7700                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7701                 - (nm_vpn_connection_ip4_config_get): save banner for later
7702                 - (nm_vpn_connection_get_banner, get_property,
7703                    nm_vpn_connection_class_init): implement Banner property
7704
7705         * src/vpn-manager/nm-vpn-service.c
7706                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7707                         connection list because elements may get added/removed from it
7708                         while iterating over the list
7709                 - (connection_state_changed): signal now includes the 'reason' argument
7710
7711         * libnm-glib/nm-vpn-connection.c
7712           libnm-glib/nm-vpn-connection.h
7713                 - (nm_vpn_connection_get_banner): new function
7714                 - (state_changed_proxy): handle reason argument
7715
7716 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7717
7718         * src/nm-manager.c:
7719         * src/nm-manager.h:
7720         Implement device activation through NMManager.
7721         Implement "pending device activation" here - If the connection isn't found,
7722         we try to wait for up to 5 seconds for the connection to be provided.
7723         Add NMConnectionType argument to "connection-added" and "connection-removed"
7724         signals.
7725         (nm_manager_get): Remove. Finally.
7726
7727         * src/nm-activation-request.c: 
7728         * src/nm-activation-request.h: 
7729         Remove all the deferred activation code.
7730
7731         * src/nm-device.c: Remove all the deferred activation code. Once the device
7732         activation is started, it's started. Update the activation virtual function
7733         signature.
7734
7735         * src/nm-device-interface.c:
7736         * src/nm-device-interface.h:
7737         Device activation now takes only NMActRequest argument.
7738         Don't expose device activation directly on dbus, it's supposed to go through
7739         NMManager now.
7740
7741         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7742         a bit more compact.
7743         Use the new device activation methods through NMManager.
7744
7745         * introspection/nm-manager-client.xml: 
7746         * introspection/nm-manager.xml: 
7747         * libnm-glib/nm-client.c:
7748         * libnm-glib/nm-client.h:
7749         Add device activation method.
7750         
7751         * libnm-glib/nm-device.c: 
7752         * libnm-glib/nm-device.h: 
7753         * introspection/nm-device.xml: 
7754         Remove device activation method. It's done through NMManager now.
7755
7756         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7757         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7758
7759 2007-09-28  Dan Williams  <dcbw@redhat.com>
7760
7761         * libnm-glib/nm-vpn-connection.c
7762                 - (nm_vpn_connection_get_state): try to update state if the current
7763                         state is UNKNOWN
7764
7765 2007-09-27  Dan Williams  <dcbw@redhat.com>
7766
7767         Patch from Bill Nottingham
7768
7769         * src/supplicant-manager/nm-supplicant-config.c
7770                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7771                         data to the supplicant
7772
7773 2007-09-27  Dan Williams  <dcbw@redhat.com>
7774
7775         * src/NetworkManagerSystem.c
7776                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7777                         and all address manipulation here should be happening on the
7778                         _VPN_ device, not the active device
7779
7780 2007-09-26  Dan Williams  <dcbw@redhat.com>
7781
7782         * src/nm-manager.c
7783           src/nm-manager.h
7784           src/nm-activation-request.c
7785           src/nm-activation-request.h
7786                 - Move the GetSecrets stuff out of the NMManager instance because it
7787                         doesn't really need to be there and complicates things
7788
7789         * src/nm-device.c
7790                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7791                         connection-secrets-failed signal and deactivate the device if
7792                         the GetSecrets call fails
7793
7794         * src/nm-device-802-11-wireless.c
7795                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7796                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7797                         secrets and give correct hints about whether new secrets should be
7798                         asked for by the client or not
7799
7800 2007-09-26  Dan Williams  <dcbw@redhat.com>
7801
7802         * src/vpn-manager/nm-vpn-connection.c
7803                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7804                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7805                         to the secrets-updated signal of the NMConnection since updating
7806                         the secrets is done within the scope of the NMVPNConnection object
7807                         already
7808                 - (get_connection_secrets): fix an uninialized variable usage error
7809
7810 2007-09-26  Dan Williams  <dcbw@redhat.com>
7811
7812         * libnm-util/nm-setting.c
7813                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7814                         actually get updated when the user enters them
7815
7816 2007-09-26  Dan Williams  <dcbw@redhat.com>
7817
7818         * libnm-glib/nm-vpn-plugin.c
7819                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7820
7821 2007-09-26  Dan Williams  <dcbw@redhat.com>
7822
7823         * include/NetworkManagerVPN.h
7824                 - Add a NEED_AUTH state
7825
7826         * src/vpn-manager/nm-vpn-connection.c
7827                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7828                         the connection needs secrets, and if so, then ask the settings
7829                         service to fill in the secrets.  Then start the connection.
7830
7831 2007-09-26  Dan Williams  <dcbw@redhat.com>
7832
7833         * src/vpn-manager/nm-vpn-manager.c
7834                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7835
7836 2007-09-26  Dan Williams  <dcbw@redhat.com>
7837
7838         * introspection/nm-vpn-plugin.xml
7839           libnm-glib/nm-vpn-plugin.c
7840           libnm-glib/nm-vpn-plugin.h
7841                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7842                         the name of the NMSetting in an NMConnection that may require
7843                         secrets specific to that VPN plugin
7844
7845 2007-09-26  Dan Williams  <dcbw@redhat.com>
7846
7847         * src/nm-manager.c
7848           src/nm-manager.h
7849                 - (nm_manager_get_connection_secrets): make static, unused outside
7850                         the file
7851                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7852
7853 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7854
7855         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7856         method.
7857         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7858         unreference the connection.
7859
7860         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7861         passing properties hash and routes string list, pass NMConnection (in hashed form).
7862
7863         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7864         as GSList, no need to copy stuff around anymore.
7865         (nm_vpn_connection_activate): Update the plugin activation method.
7866
7867         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7868         routes argument to GSList.
7869
7870 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7871
7872         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7873         state and try to get the secrets.
7874
7875         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7876         connections from NMManager and let the device to choose the best from the list.
7877         Since the connection list is sorted by system ones first and user ones later,
7878         the devices still prefer system connections like they did before.
7879         (deactivate_old_device): Implement. When a device starts activation, we have a
7880         policy (for now at least) to deactivate any other device that might be either
7881         active or still activating.
7882
7883         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7884         It's set on construction, there will be no other way to access it.
7885
7886         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7887         device events and drive the device, not the other way around.
7888
7889         * src/nm-device-802-3-ethernet.c: Ditto.
7890
7891         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7892         sent along, pass it on to virtual functions.
7893
7894         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7895         for now, but should really be public instead of nm_device_get_iface() since iface
7896         is a property of the DeviceInterface, not Device.
7897         (impl_device_activate): Don't touch NMManager!
7898
7899 2007-09-26  Jürg Billeter  <j@bitron.ch>
7900
7901         * initscript/paldo/NetworkManager.in:
7902         * initscript/paldo/NetworkManagerDispatcher.in:
7903         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7904         (nm_system_flush_loopback_routes): update paldo backend
7905
7906 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7907
7908         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7909         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7910         which means none of the devices get brought down properly, which in turn leaves
7911         DHCP client running.
7912
7913         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7914         (supplicant_connection_timeout_cb): Ditto.
7915
7916 2007-09-25  Dan Williams  <dcbw@redhat.com>
7917
7918         * src/nm-device.c
7919                 - (device_activation_go): small hack to work around race when
7920                         activating deferred connections; should solve this in a better way
7921
7922 2007-09-25  Dan Williams  <dcbw@redhat.com>
7923
7924         * introspection/nm-device.xml
7925           libnm-glib/nm-device.c
7926           libnm-glib/nm-device.h
7927                 - Add 'Carrier' property to exported NMDevice objects
7928
7929         * src/nm-device-interface.h
7930           src/nm-device-interface.c
7931           src/nm-device.c
7932                 - Add a 'carrier' property to internal NMDevice objects
7933
7934 2007-09-25  Dan Williams  <dcbw@redhat.com>
7935
7936         * src/nm-device-802-11-wireless.c
7937                 - (ap_auth_enforced): also return the encryption status of the AP so
7938                         that callers can differentiate easily between unencrypted APs
7939                         and encrypted ones, in addition to whether the AP has an
7940                         authenticator
7941                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7942                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7943                         previously would request secrets from unencrypted APs at times
7944
7945 2007-09-25  Dan Williams  <dcbw@redhat.com>
7946
7947         * src/nm-manager.c
7948                 - (nm_manager_update_state): new function; updates state and emits
7949                         appropriate signals ensuring a state-change signal for the same state
7950                         never gets emitted twice in a row.
7951                 - (manager_device_state_changed): handle more device state to get a
7952                         better picture of the overall NM state
7953
7954 2007-09-25  Dan Williams  <dcbw@redhat.com>
7955
7956         * libnm-glib/nm-settings.c
7957           libnm-glib/nm-settings.h
7958                 - (new_error -> nm_settings_new_error): make public so that subclasses
7959                         can use the same error domain.  Also pass a valid error code to
7960                         g_error_new_literal() so that libdbus doesn't assert when converting
7961                         the GError into a DBusError
7962                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7963                    impl_connection_settings_get_settings,
7964                    impl_connection_settings_get_secrets): use new error creator
7965                         function
7966
7967 2007-09-25  Dan Williams  <dcbw@redhat.com>
7968
7969         * src/NetworkManager.c
7970                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7971
7972 2007-09-25  Dan Williams  <dcbw@redhat.com>
7973
7974         * src/supplicant-manager/nm-supplicant-manager.c
7975                 - (poke_supplicant_cb, nm_supplicant_manager_init,
7976                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
7977                    nm_supplicant_manager_startup): when the supplicant isn't running,
7978                         try to start it periodically via system bus activation.  Fixes
7979                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
7980                         for the supplicant to come back
7981
7982 2007-09-25  Dan Williams  <dcbw@redhat.com>
7983
7984         Ensure that old activation requests are forgotten about; previously
7985         hitting Cancel in the password dialog would deactivate whatever device
7986         that password was requested for, even if that wasn't the currently
7987         activating connection.
7988
7989         * src/nm-manager.c
7990           src/nm-manager.h
7991                 - (nm_manager_get_connection_secrets): track the pending call
7992                         object so it can be canceled later if needed
7993                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
7994                         GetSecrets call for a particular connection
7995
7996         * src/nm-activation-request.c
7997                 - (dispose): cancel any outstanding GetSecrets calls on the
7998                         connection
7999
8000 2007-09-25  Dan Williams  <dcbw@redhat.com>
8001
8002         * src/NetworkManagerPolicy.c
8003                 - (nm_policy_device_change_check): handle devices that have a
8004                         deferred activation.  These devices are not really active _yet_,
8005                         but need to be treated as such here.  Don't interrupt them
8006                         automatically.
8007
8008         * src/nm-device-interface.c
8009                 - (impl_device_activate): handle devices that have a deferred activation
8010                         like activating or active devices.  When multiple active devices
8011                         get committed, the device shouldn't be deactivated until the
8012                         connection details are available to avoid DoS and such.  Currently,
8013                         any active, activating, or deferred activation device is deactivated
8014                         here before starting the new activation request.
8015
8016 2007-09-25  Dan Williams  <dcbw@redhat.com>
8017
8018         Properly re-query secrets from the settings daemon when stuff fails.
8019
8020         * src/nm-device-802-11-wireless.c
8021                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8022                         between Shared Key and Open System auth modes
8023                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8024                    real_act_stage4_ip_config_timeout): clear existing secrets and
8025                         request new ones when something fails due to a suspected wrong key
8026                 - (real_act_stage2_config): fix for new request_new argument to
8027                         nm_manager_get_connection_secrets()
8028
8029         * src/nm-manager.c
8030           src/nm-manager.h
8031                 - (nm_manager_get_connection_secrets): return error status; pass
8032                         new request_new argument on to the settings daemon
8033
8034         * introspection/nm-settings-connection.xml
8035                 - New 'request_new' argument to the GetSecrets call that hints to the
8036                         settings daemon to ask the user for completely new secrets
8037
8038         * libnm-glib/nm-settings.c
8039           libnm-glib/nm-settings.h
8040                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8041                         argument
8042
8043 2007-09-25  Dan Williams  <dcbw@redhat.com>
8044
8045         * libnm-util/nm-connection.c
8046           libnm-util/nm-connection.h
8047                 - (nm_connection_clear_secrets): new function; clear secrets out of
8048                         each NMSetting in an NMConnection
8049
8050         * libnm-util/nm-setting.h
8051           libnm-util/nm-setting.c
8052                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8053                         secrets out of an NMSetting
8054                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8055                    nm_setting_wired_new, nm_setting_wireless_new,
8056                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8057                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8058                         to default handler default_setting_clear_secrets()
8059
8060 2007-09-25  Dan Williams  <dcbw@redhat.com>
8061
8062         * src/nm-activation-request.c
8063           src/nm-activation-request.h
8064                 - (nm_act_request_is_deferred): new function
8065
8066 2007-09-24  Dan Williams  <dcbw@redhat.com>
8067
8068         * src/nm-device-802-11-wireless.c
8069                 - (activation_success_handler): update signal strength immediately
8070                         after activation
8071
8072 2007-09-24  Dan Williams  <dcbw@redhat.com>
8073
8074         * libnm-util/nm-setting.c
8075                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8076
8077 2007-09-24  Dan Williams  <dcbw@redhat.com>
8078
8079         * src/NetworkManagerPolicy.c
8080                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8081                         device by deactivating it because it doesn't have a "best connection".
8082                         Since autoconnect=False connections aren't automatically chosen,
8083                         NM would interrupt activation of such a connection because it
8084                         would never be "best" due to autoconnect=False.
8085
8086 2007-09-24  Dan Williams  <dcbw@redhat.com>
8087
8088         * src/nm-manager.c
8089                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8090                         actually has some time to enter a key before the GetSecrets call
8091                         times out
8092
8093 2007-09-24  Dan Williams  <dcbw@redhat.com>
8094
8095         * introspection/nm-manager.xml
8096           src/nm-manager.c
8097                 - (impl_manager_legacy_state): fix 'state' method call return value
8098
8099 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8100
8101         * test/Makefile.am: Install nm-tool
8102
8103 2007-09-24  Dan Williams  <dcbw@redhat.com>
8104
8105         Patch from Ross Burton <ross@burtonini.com>
8106
8107         * test/nm-tool.c
8108           callouts/nm-dhcp-client-action.c
8109           src/nm-netlink.c
8110           src/vpn-manager/nm-vpn-connection.c
8111           libnm-glib/libnm-glib-test.c
8112                 - warning fixes
8113
8114 2007-09-24  Dan Williams  <dcbw@redhat.com>
8115
8116         * libnm-util/nm-utils.h
8117           libnm-util/nm-utils.c
8118                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8119                         remove, unused
8120
8121 2007-09-23  Dan Williams  <dcbw@redhat.com>
8122
8123         * vpn-daemons/vpnc/properties/nm-vpnc.c
8124                 - Update for new VPN properties API bits; instead of passing around
8125                         a lot of random things, everything goes into the NMConnection
8126                         object.
8127
8128 2007-09-23  Dan Williams  <dcbw@redhat.com>
8129
8130         * libnm-util/nm-setting.c
8131                 - Correctly dispose of settings objects if creating them from a hash
8132                         table fails
8133
8134 2007-09-23  Dan Williams  <dcbw@redhat.com>
8135
8136         * libnm-util/nm-setting.c
8137                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8138                         the hash table in a standard manner.  Clients of libnm-util should
8139                         only call g_hash_table_remove_all(), never destroy the hash table
8140                         and recreate it.
8141
8142 2007-09-22  Dan Williams  <dcbw@redhat.com>
8143
8144         * src/nm-device-802-11-wireless.c
8145                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8146                         real reason to do it so often, and reduces wakeups for clients.
8147
8148 2007-09-21  Dan Williams  <dcbw@redhat.com>
8149
8150         * src/nm-device-802-11-wireless.c
8151                 - (build_supplicant_config): wpa_supplicant requires the option
8152                         key_mgmt=NONE for unencrypted networks
8153                 - (real_act_stage2_config): clarify log message on activation
8154
8155 2007-09-21  Dan Williams  <dcbw@redhat.com>
8156
8157         * test/nm-supplicant-test.c
8158           test/Makefile.am
8159                 - Remove supplicant test binary; no longer applicable
8160
8161 2007-09-21  Dan Williams  <dcbw@redhat.com>
8162
8163         * src/supplicant-manager/nm-supplicant-manager.c
8164                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8165                         activate it on the system bus
8166
8167 2007-09-20  Dan Williams  <dcbw@redhat.com>
8168
8169         * initscript/RedHat/NetworkManager.in
8170                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8171
8172 2007-09-20  Dan Williams  <dcbw@redhat.com>
8173
8174         * src/nm-device.c
8175                 - (nm_device_is_activating): work around a race between auto-activation
8176                         and the user activating the same device that is being auto-activated
8177
8178 2007-09-20  Dan Williams  <dcbw@redhat.com>
8179
8180         * src/nm-device-interface.c
8181                 - (impl_device_activate): until multiple active device support lands,
8182                         ensure only one device can be active at a time
8183
8184 2007-09-20  Dan Williams  <dcbw@redhat.com>
8185
8186         * src/supplicant-manager/nm-supplicant-config.c
8187           src/supplicant-manager/nm-supplicant-config.h
8188                 - (nm_supplicant_config_add_option): hide secrets from system logs
8189
8190 2007-09-20  Dan Williams  <dcbw@redhat.com>
8191
8192         * src/NetworkManagerPolicy.c
8193                 - (nm_policy_device_change_check): re-enable the wireless device change
8194                         checking code; insted of checking for SSIDs, check for the same
8195                         connection instead
8196
8197 2007-09-20  Dan Williams  <dcbw@redhat.com>
8198
8199         * src/nm-device-802-11-wireless.c
8200                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8201                         composite link state when determining when to start the disconnection
8202                         timer; that link state is already based on the supplicant interface's
8203                         status which is exactly what's already being examined, plus the link
8204                         state is a conglomeration of various things that we don't want here
8205
8206 2007-09-20  Dan Williams  <dcbw@redhat.com>
8207
8208         * libnm-glib/nm-access-point.c
8209                 - (handle_property_changed): strength is a UCHAR
8210
8211 2007-09-20  Dan Williams  <dcbw@redhat.com>
8212
8213         * src/supplicant-manager/nm-supplicant-config.c
8214                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8215                         string list keywords too since that's what wpa_supplicant wants
8216
8217 2007-09-20  Dan Williams  <dcbw@redhat.com>
8218
8219         * libnm-util/nm-setting.c
8220                 - (convert_strv_to_slist): dupe the values in the list because since
8221                         the list is a boxed value, it'll get destroyed when it's container
8222                         (like a hash table or whatever) gets destroyed
8223
8224 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8225
8226         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8227         GSList.
8228
8229         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8230
8231         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8232         just use (g_object_set_data_full).
8233
8234         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8235         that NMSettingVPN->routes is a GSList, convert it to char **.
8236         (nm_vpn_connection_ip4_config_get): Free routes when done.
8237         (nm_vpn_connection_activate): Ditto.
8238
8239         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8240         (real_act_stage2_config): Use defined setting names.
8241
8242 2007-09-20  Dan Williams  <dcbw@redhat.com>
8243
8244         * src/nm-device-802-11-wireless.c
8245           src/nm-manager.c
8246           src/nm-manager.h
8247                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8248                         so that the device can be deactivated if secrets are wrong
8249
8250 2007-09-20  Dan Williams  <dcbw@redhat.com>
8251
8252         * introspection/nm-settings-connection.xml
8253           libnm-glib/nm-settings.c
8254           libnm-glib/nm-settings.h
8255                 - Make GetSecrets asynchronous on the server side
8256
8257 2007-09-20  Dan Williams  <dcbw@redhat.com>
8258
8259         * src/nm-manager.h
8260           src/nm-device.c
8261                 - (nm_device_activate): actually check if a given connection
8262                         exists before assuming it doesn't
8263
8264 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8265
8266         * libnm-util/nm-connection.c (register_default_creators): Use defined
8267         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8268
8269         * libnm-util/nm-setting.c: Define property name strings, use them.
8270         Implement NMSettingVPN and NMSettingVPNProperties settings.
8271         Implement NM_S_TYPE_GVALUE_HASH.
8272         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8273         (setting_connection_verify): Rename 'devtype' property to 'type'.
8274
8275         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8276         properties.
8277
8278         * src/vpn-manager/nm-vpn-service.c: Ditto.
8279
8280         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8281
8282         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8283         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8284
8285         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8286         names. NMSettingConnection->devtype got renamed to 'type'.
8287
8288         * src/nm-device-802-3-ethernet.c (find_best_connection):
8289         (real_get_best_connection): Ditto.
8290
8291         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8292
8293         * libnm-glib/nm-vpn-manager.[ch]: Update.
8294
8295 2007-09-19  Dan Williams  <dcbw@redhat.com>
8296
8297         * src/NetworkManagerAP.c
8298           src/NetworkManagerAP.h
8299           introspection/nm-access-point.xml
8300                 - Change strength-changed signal into a properties-changed signal
8301                         for all properties, not just strength.  Export that signal over dbus
8302                         so listeners don't have to poll NM for changes.
8303                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8304                         get exported over D-Bus, so break up the logic and let other bits
8305                         decided when to export the AP
8306                 - (nm_ap_new_from_ap): remove, unused
8307
8308         * src/nm-device-802-11-wireless.c
8309                 - (merge_scanned_ap): only export APs that are actually on the device
8310                         list, not every AP created internally
8311
8312         * libnm-glib/nm-access-point.c
8313           libnm-glib/nm-access-point.h
8314                 - Cache properties internally and only hit DBus when needed.  Get
8315                         property updates from NM signals
8316
8317 2007-09-16  Dan Williams  <dcbw@redhat.com>
8318
8319         * libnm-util/nm-connection.c
8320           libnm-util/nm-connection.h
8321                 - (nm_connection_for_each_setting_value): new function; iterate over
8322                         each setting's value and call a user-provided function with details
8323                         about that value
8324
8325         * libnm-util/nm-setting.c
8326           libnm-util/nm-setting.h
8327                 - (nm_setting_enumerate_values): new function; enumerate the values
8328                         of a specific NMSetting subclass for a user-provided function with
8329                         details about that value
8330                 - Change wep_tx_keyidx to a uint32
8331                 - Create settings value tables for each setting defining their type,
8332                         key name, offset into the NMSetting subclass' structure, and whether
8333                         they are required and/or a secret
8334                 - (nm_setting_populate_from_hash): generic function to populate an
8335                         NMSetting from a GHash table, make all settings use it
8336                 - (nm_setting_hash): generic function to derive a GHashTable from
8337                         an NMSetting object, make all settings use it
8338
8339 2007-09-14  Dan Williams  <dcbw@redhat.com>
8340
8341         Remove unused stuff in libnm-util
8342
8343         * configure.in
8344           libnm-util/Makefile.am
8345           libnm-util/cipher-private.h
8346           libnm-util/cipher-wep-ascii.c
8347           libnm-util/cipher-wep-ascii.h
8348           libnm-util/cipher-wep-hex.c
8349           libnm-util/cipher-wep-hex.h
8350           libnm-util/cipher-wep-passphrase.c
8351           libnm-util/cipher-wep-passphrase.h
8352           libnm-util/cipher-wpa-psk-hex.c
8353           libnm-util/cipher-wpa-psk-hex.h
8354           libnm-util/cipher-wpa-psk-passphrase.c
8355           libnm-util/cipher-wpa-psk-passphrase.h
8356           libnm-util/cipher.c
8357           libnm-util/cipher.h
8358           libnm-util/dbus-helpers.c
8359           libnm-util/dbus-helpers.h
8360           libnm-util/gnome-keyring-md5.c
8361           libnm-util/gnome-keyring-md5.h
8362           libnm-util/sha1.c
8363           libnm-util/sha1.h
8364           src/nm-device-802-11-wireless.c
8365           test/libnm-util/Makefile.am
8366           test/libnm-util/test-ciphers.c
8367           test/libnm-util/test-dbus-helpers.c
8368           test/libnm-util/test-inputs.h
8369                 - Removed
8370
8371 2007-09-14  Dan Williams  <dcbw@redhat.com>
8372
8373         * libnm-util/dbus-method-dispatcher.c
8374           libnm-util/dbus-method-dispatcher.h
8375                 - Remove, unused
8376
8377 2007-09-14  Dan Williams  <dcbw@redhat.com>
8378
8379         Implement deferred activation support in the device class.
8380
8381         * src/nm-device-interface.c
8382           src/nm-device-interface.h
8383                 - (nm_device_interface_activate): take more arguments to support
8384                         deferred activation; callers must pass one of (connection) OR
8385                         (service_name, connection_path)
8386                 - (impl_device_activate): connection validation is punted to the device
8387                         to be able to handle deferred activation.  Yes, this means errors
8388                         don't get returned from the Activate() dbus call, and yes, that
8389                         should be fixed somehow later.
8390
8391         * src/nm-device.c
8392           src/nm-device.h
8393                 - (clear_act_request): clear additional deferred activation stuff too
8394                 - (deferred_activation_timeout_cb): new function; clean up when
8395                         deferred activation times out.
8396                 - (deferred_activation_start_cb): new function; when the connection
8397                         finally becomes available, start device activation
8398                 - (nm_device_activate): attach to the right signals of the activation
8399                         request if we need to defer activation until the connection is valid
8400
8401         * src/NetworkManagerPolicy.c
8402                 - (nm_policy_device_change_check): update for additional arguments
8403                         required for nm_device_interface_activate().  Pass NULL for these
8404                         though because this function already knows exactly which
8405                         NMConnection to use
8406
8407 2007-09-14  Dan Williams  <dcbw@redhat.com>
8408
8409         Implement deferred activation handling in the NMActRequest class.  When a
8410         client wants to activate a device but must create the NMConnection details
8411         on the fly, there likely hasn't been enough time yet for NM to receive the
8412         new connection signal and grab all the connection details.  So the
8413         activation is deferred (and bounded by a timer) for a while, and if the
8414         connection appears within the window, it is activated.
8415
8416         * src/nm-activation-request.c
8417           src/nm-activation-request.h
8418                 - (nm_act_request_class_init): two new signals to support deferred
8419                         activation, to allow the listener to handle both timeout and success
8420                 - (nm_act_request_new_deferred): new function, starts the deferred
8421                         activation timeout handler and listens to the NMManager for
8422                         new-connection signals to notice when the connection comes in
8423
8424 2007-09-14  Dan Williams  <dcbw@redhat.com>
8425
8426         * src/nm-manager.h
8427           src/nm-manager.c
8428                 - (nm_manager_get_connection_service_name,
8429                    nm_manager_get_connection_dbus_path): get details about a connection
8430                         known internally by the NMManager
8431                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8432                         because NMConnection is now a GObject subclass
8433                 - Use constant for the gobject data tag used on NMConnection objects for
8434                         storing the associated DBusGProxy
8435
8436 2007-09-14  Dan Williams  <dcbw@redhat.com>
8437
8438         * utils/Makefile.am
8439           utils/nm-utils.c
8440           utils/nm-utils.h
8441           src/supplicant-manager/Makefile.am
8442           src/dhcp-manager/Makefile.am
8443           src/backends/Makefile.am
8444           src/named-manager/Makefile.am
8445           src/ppp-manager/Makefile.am
8446           src/vpn-manager/Makefile.am
8447           test/libnm-util/Makefile.am
8448           test/test-common/Makefile.am
8449                 - Remove utils/; it was unused
8450
8451 2007-09-13  Dan Williams  <dcbw@redhat.com>
8452
8453         * libnm-glib/nm-vpn-manager.h
8454           libnm-glib/nm-vpn-manager.c
8455                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8456
8457 2007-09-13  Dan Williams  <dcbw@redhat.com>
8458
8459         * src/nm-device-802-3-ethernet.c
8460                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8461                         netlink monitor carrier signals on dispose, not bring down.  The
8462                         carrier signals should be handled over the entire lifetime of the
8463                         device anyway, not created/destroyed on up or down.
8464
8465 2007-09-13  Dan Williams  <dcbw@redhat.com>
8466
8467         * libnm-glib/nm-device.c
8468           libnm-glib/nm-device.h
8469                 - (nm_device_activate): take a connection object path rather than an
8470                         NMConnection because NMConnection isn't exported over D-Bus and
8471                         therefore it dbus-glib can't automatically get an object path from it
8472
8473 2007-09-13  Dan Williams  <dcbw@redhat.com>
8474
8475         * libnm-util/nm-setting.c
8476                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8477
8478 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8479
8480         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8481
8482 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8483
8484         * src/vpn-manager/nm-vpn-connection.[ch]: 
8485         * src/vpn-manager/nm-vpn-manager.[ch]:
8486         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8487         dbus-glib, GObjects, signals etc.
8488
8489         * libnm-glib/nm-vpn-manager.[ch]: 
8490         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8491         so much, rewrite these too.
8492
8493         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8494         the new introspection files.
8495
8496         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8497
8498         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8499         the header with the same name from libnm-utils.
8500
8501         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8502
8503         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8504
8505         * introspection/nm-vpn-plugin.xml: Implement.
8506
8507         * introspection/nm-vpn-connection.xml: Implement.
8508
8509         * introspection/nm-vpn-manager.xml: Implement.
8510
8511         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8512         the named manager argument, it can just as easily get it as the caller.
8513         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8514
8515         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8516
8517         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8518
8519         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8520         libnm-utils.
8521
8522         * libnm-util/nm-connection.c: Ditto.
8523
8524         * src/NetworkManagerMain.h: Remove, it's finally empty.
8525
8526         * configure.in: Remove utils/ from build.
8527
8528         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8529         of hard-coded strings.
8530
8531         * utils/: Move it over to libnm-util.
8532
8533         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8534
8535         * dispatcher-daemon/Makefile.am: Ditto.
8536
8537         * src/Makefile.am: Ditto.
8538
8539 2007-09-12  Dan Williams  <dcbw@redhat.com>
8540
8541         Wireless connections can be made with config data from the applet now.
8542         
8543         Yay.
8544
8545         * src/supplicant-manager/nm-supplicant-config.h
8546           src/supplicant-manager/nm-supplicant-config.c
8547                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8548                 - (nm_supplicant_config_add_setting_wireless,
8549                    nm_supplicant_config_add_setting_wireless_security): new functions;
8550                         add key/value pairs from the settings objects to the supplicant
8551                         config
8552
8553         * src/nm-device-802-11-wireless.c
8554                 - (cull_scan_list): fix check to not prune currently associated AP
8555                 - (build_supplicant_config, real_act_stage2_config): call the functions
8556                         of the NMSupplicantConfig that parse settings objects rather than
8557                         doing it manually here
8558
8559 2007-09-12  Dan Williams  <dcbw@redhat.com>
8560
8561         * src/supplicant-manager/nm-supplicant-interface.c
8562           src/supplicant-manager/nm-supplicant-marshal.list
8563                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8564                         "connection-error" signal arguments should be STRING not CHAR
8565
8566 2007-09-12  Dan Williams  <dcbw@redhat.com>
8567
8568         * src/NetworkManagerUtils.c
8569           src/NetworkManagerUtils.h
8570                 - (nm_utils_hexstr2bin): new function
8571
8572 2007-09-11  Dan Williams  <dcbw@redhat.com>
8573
8574         * src/nm-manager.c
8575                 - (connection_get_settings_cb): emit connection-added signal
8576                 - (connection_removed_cb): uncomment bits for system settings service,
8577                         send connection-removed when appropriate
8578                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8579                         the stack by trying to g_object_set_data() on something that's
8580                         not a GObject; handle case where settings service returns
8581                         empty settings hash table
8582
8583 2007-09-11  Dan Williams  <dcbw@redhat.com>
8584
8585         * src/NetworkManagerPolicy.c
8586                 - (connection_added, connection_removed): trigger device change checks
8587                         on connection changes
8588
8589 2007-09-11  Dan Williams  <dcbw@redhat.com>
8590
8591         * src/nm-activation-request.c
8592                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8593
8594 2007-09-11  Dan Williams  <dcbw@redhat.com>
8595
8596         * src/nm-device-802-11-wireless.c
8597                 - (real_connection_secrets_updated): fix erroneous check
8598
8599 2007-09-11  Dan Williams  <dcbw@redhat.com>
8600
8601         * introspection/nm-device.xml
8602           libnm-glib/nm-device.c
8603           libnm-glib/nm-device.c
8604                 - Fix Activate call argument borkage; Activate takes 3 arguments
8605
8606 2007-09-11  Dan Williams  <dcbw@redhat.com>
8607
8608         * libnm-glib/nm-access-point.c
8609           libnm-glib/nm-access-point.c
8610                 - (nm_access_point_get_frequency): now returns guint32 to match
8611                         property change on 2007-09-10
8612
8613 2007-09-11  Dan Williams  <dcbw@redhat.com>
8614
8615         * src/nm-device-802-11-wireless.c
8616                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8617                         somewhere defines 'index' and I missed this one when I fixed the
8618                         shadow declaration errors earlier
8619
8620 2007-09-11  Dan Williams  <dcbw@redhat.com>
8621
8622         * libnm-util/nm-connection.c
8623                 - (nm_connection_update_secrets, need_secrets_check): move
8624                         802-11-wireless-security need_secrets checks to the setting object
8625                         itself, where it belongs
8626
8627         * libnm-util/nm-setting.c
8628           libnm-util/nm-setting.h
8629                 - (nm_setting_need_secrets): new function
8630                 - (setting_wireless_security_verify,
8631                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8632                 - (setting_wireless_security_need_secrets): mostly copy code over
8633                         from nm-connection.c
8634
8635 2007-09-11  Dan Williams  <dcbw@redhat.com>
8636
8637         * libnm-util/nm-setting.c
8638           libnm-util/nm-setting.h
8639                 - (nm_setting_update_secrets): new function; add a virtual function that
8640                         subclasses can implement to update their secrets
8641                 - (setting_wireless_security_update_secrets): implement that function
8642                         for the 802-11-wireless-security subclass
8643
8644         * libnm-util/nm-connection.c
8645           libnm-util/nm-connection.h
8646                 - (nm_connection_update_secrets): update secrets for a Setting and
8647                         emit a signal on success
8648
8649         * src/nm-manager.c
8650           src/nm-manager.h
8651           src/nm-marshal.list
8652                 - (connection_get_settings_cb): enable system settings bits
8653                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8654                         to request secrets from the settings dbus service and to
8655                         push those secrets to the NMConnection itself
8656
8657         * src/nm-activation-request.c
8658           src/nm-activation-request.h
8659                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8660                         currently being activated, and proxy that signal to other listeners.
8661                         Goes through the activation request because the activation request
8662                         is the thing that manages the lifetime of the NMConnection that's
8663                         being activated.
8664
8665         * src/nm-device-802-11-wireless.c
8666                 - (real_connection_secrets_updated): implement the connection secrets
8667                         updated notification and restart activation when secrets are
8668                         received
8669                 - (real_act_stage2_config): request secrets from the settings dbus
8670                         service if secrets are needed
8671
8672         * src/nm-device.c
8673           src/nm-device.h
8674                 - (clear_act_request, nm_device_activation_cancel,
8675                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8676                         where the activation request is cleared
8677                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8678                         updated secrets signal of activation request and add a function
8679                         that subclasses can override to handle it easily
8680
8681 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8682
8683         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8684         removal of NetworkManagerAPList.
8685
8686 2007-09-10  Dan Williams  <dcbw@redhat.com>
8687
8688         * src/NetworkManagerAP.c
8689           src/NetworkManagerAP.h
8690           introspection/nm-access-point.xml
8691                 - Change 'freq' property to a guint32 instead of a double since we
8692                         weren't using the floating point bits anyway
8693
8694 2007-09-10  Dan Williams  <dcbw@redhat.com>
8695
8696         * NetworkManagerAP.c
8697           NetworkManagerAP.h
8698           NetworkManagerPolicy.c
8699           NetworkManagerSystem.c
8700           NetworkManagerUtils.c
8701           NetworkManagerUtils.h
8702           nm-device-802-11-wireless.c
8703           nm-device-802-3-ethernet.c
8704           nm-hal-manager.c
8705           nm-manager.c
8706           vpn-manager/nm-dbus-vpn.c
8707                 - Warning fixes; casts and removal of unused variables
8708
8709 2007-09-10  Dan Williams  <dcbw@redhat.com>
8710
8711         * include/NetworkManager.h
8712                 - Kill NMNetworkType; AP types don't matter any more
8713
8714         * src/NetworkManagerAPList.c
8715           src/NetworkManagerAPList.h
8716           src/Makefile.am
8717                 - Kill; NMAccessPointList has outlived it's usefulness
8718
8719         * src/NetworkManagerAP.c
8720           src/NetworkManagerAP.h
8721                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8722                         functions; check if an NMConnection object is compatible with the
8723                         settings of this AP
8724                 - (freq_to_channel, channel_to_freq): utility functions for
8725                         channel <-> frequency conversion
8726
8727         * src/nm-device.c
8728           src/nm-device.h
8729                 - (nm_device_get_best_connection): pass the specific object around
8730                          (which might be the object path of a specific AP to connect to).
8731                          The get_best_connection() call should populate this on return
8732                          if needed (wireless does).
8733
8734         * src/nm-device-802-3-ethernet.c
8735                 - (real_get_best_connection): handle specific_object argument
8736
8737         * src/NetworkManager.c
8738           src/NetworkManagerMain.h
8739                 - Remove unused includes
8740
8741         * src/nm-device-802-11-wireless.c
8742           src/nm-device-802-11-wireless.h
8743                 - Convert the ap_list into a GSList from an NMAccessPointList
8744                 - No need for caching the 'activation_ap' since this is now determined
8745                         from the specific_object of the activation request, which is
8746                         populated from the get_best_connection() call or from a user request
8747                 - (nm_device_802_11_wireless_update_bssid): fix warning
8748                 - (get_wireless_capabilities): fix error message format arguments
8749                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8750                 - (find_best_connection, real_get_best_connection): implement
8751                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8752                         move here from NetworkManagerAPList
8753                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8754                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8755                         already verified earlier
8756                 - (real_act_stage2_config): use nm_connection_need_secrets()
8757
8758         * src/NetworkManagerPolicy.c
8759                 - (nm_policy_auto_get_best_device): handle specific objects
8760                 - (create_connection): remove; automatic connection creation functionality
8761                         is handled by the Connection objects
8762                 - (nm_policy_device_change_check): handle specific_object
8763
8764         * libnm-util/nm-connection.c
8765                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8766
8767 2007-09-10  Dan Williams  <dcbw@redhat.com>
8768
8769         * src/nm-manager.c
8770                 - (query_connections): fix uninitialized variable problem that caused
8771                         segfault
8772                 - (nm_manager_add_device): take devices down on startup so that we can
8773                         be assured that nm_device_is_up() won't short-circuit the init
8774                         process.  Hack until the is_up check gets split into two pieces
8775                         that aren't behaviorally confusing.
8776
8777 2007-09-09  Dan Williams  <dcbw@redhat.com>
8778
8779         * introspection/nm-device.xml
8780                 - The 'Activate' method now takes 3 arguments, a service name for the
8781                 settings service (user or system), the object path of the connection
8782                 to activate, and the specific object to activate, if any
8783
8784         * src/nm-device-interface.c
8785                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8786                 Add error bits
8787                 - (impl_device_activate): adapt to new Activate arguments; validate
8788                 the service name and get the Connection object from the NMManager
8789                 before starting to activate the device with the specified connection
8790
8791         * src/nm-device-802-3-ethernet.c
8792                 - (real_get_best_connection): find the best connection, or create a
8793                 default one if no existing connections can be used
8794
8795         * src/NetworkManagerPolicy.c
8796                 - (nm_policy_auto_get_best_device): Get the device's best connection
8797                 and only pick the device if it has one
8798                 - (nm_policy_device_change_check): disable wireless bits for now until
8799                 wireless get_best_connection() can be implemented (replacing "best_ap");
8800                 don't create a default connection here as the device subclass will do
8801                 that if needed
8802
8803         * src/nm-manager.h
8804           src/nm-manager.c
8805                 - (nm_manager_get): make NMManager a singleton and expose the getter
8806                 internally
8807                 - Rework internal NMManager connection handling to use the same
8808                 routines for both the system and user settings services.  Most calls
8809                 take a new NMConnectionType argument specifying either system or user
8810                 connections
8811                 - (nm_manager_get_connection_by_object_path): new function; get a
8812                 connection keyed on its object path
8813
8814         * src/NetworkManager.c
8815                 - (main): use nm_manager_get()
8816
8817 2007-09-09  Dan Williams  <dcbw@redhat.com>
8818
8819         * src/nm-device.h
8820           src/nm-device.c
8821                 - (nm_device_get_best_connection): new function; get best connection
8822                         for the device at that time
8823
8824 2007-09-09  Dan Williams  <dcbw@redhat.com>
8825
8826         * src/nm-device-interface.h
8827                 - Add NMDeviceInterfaceError with an UnknownConnection error
8828
8829 2007-09-09  Dan Williams  <dcbw@redhat.com>
8830
8831         Stupid mistake on my part; object path and interface for settings service
8832         and connection objects can be the same, only the service name must be
8833         different for the system and user settings services.
8834
8835         * include/NetworkManager.h
8836           src/nm-manager.c
8837           introspection/nm-settings-connection.xml
8838           introspection/nm-settings.xml
8839           libnm-glib/nm-settings.c
8840                 - (nm_connection_settings_init, query_user_connections,
8841                    new_connection_cb): Unify NetworkManagerSettings and Connection
8842                    interface name and object path
8843
8844 2007-09-06  Dan Williams  <dcbw@redhat.com>
8845
8846         * libnm-glib/nm-object.c
8847                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8848                    nm_object_get_int_property, nm_object_get_uint_property,
8849                    nm_object_get_boolean_property, nm_object_get_byte_property,
8850                    nm_object_get_double_property, nm_object_get_byte_array_property):
8851                         clear GValues after copying their contents, fixes memory leaks
8852                         after every property access because dbus-glib copies the values
8853                         from the DBusMessage into the GValue already.
8854
8855 2007-09-06  Dan Williams  <dcbw@redhat.com>
8856
8857         * introspection/nm-access-point.xml
8858                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8859                         them to be.  There's some magic property name parsing going on in
8860                         dbus-glib that breaks up property names based on studly-caps and
8861                         puts - between words.
8862
8863         * libnm-glib/nm-access-point.c
8864                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8865                         Fix property names
8866
8867 2007-09-06  Dan Williams  <dcbw@redhat.com>
8868
8869         * src/nm-manager.c
8870                 - (nm_manager_user_connections_destroy): clear the user connections hash
8871                         table, don't destroy it
8872                 - (finalize): only destroy the hash table on NMManager finalization
8873
8874 2007-09-02  Dan Williams  <dcbw@redhat.com>
8875
8876         * include/NetworkManager.h
8877           libnm-glib/nm-settings.c
8878                 - defines for the user settings daemon D-Bus bits
8879
8880         * src/NetworkManager.c
8881                 - Remove stuff that referred to the old NetworkManagerInfo service
8882
8883         * src/vpn-manager/nm-dbus-vpn.h
8884                 - Move old NMI defines to the only place they are used still
8885
8886         * libnm-util/nm-connection.c
8887           libnm-util/nm-connection.h
8888           src/nm-activation-request.c
8889                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8890
8891         * src/nm-manager.c
8892           src/nm-manager.h
8893                 - Get connections and their settings from the user settings daemon
8894                         at the appropriate times
8895
8896 2007-09-02  Dan Williams  <dcbw@redhat.com>
8897
8898         * libnm-util/nm-setting.c
8899                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8900                 - (setting_wireless_hash): set the right value on the item
8901
8902 2007-09-02  Dan Williams  <dcbw@redhat.com>
8903
8904         * test/Makefile.am
8905           test/nminfotest.c
8906                 - Remove, no longer useful
8907
8908 2007-08-30  Dan Williams  <dcbw@redhat.com>
8909
8910         * src/Makefile.am
8911           src/NetworkManagerDbus.c
8912           src/NetworkManagerDbus.h
8913           src/vpn-manager/nm-dbus-vpn.c
8914                 - Remove, no longer necessary.  Move last bits to the only place its
8915                 used, in nm-dbus-vpn.c
8916
8917         * src/NetworkManagerAPList.c
8918           src/nm-device.c
8919           src/NetworkManager.c
8920           src/nm-device-802-11-wireless.c
8921           src/vpn-manager/nm-vpn-manager.c
8922           src/vpn-manager/nm-vpn-service.c
8923           src/NetworkManagerPolicy.c
8924           src/nm-manager.c
8925                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8926                 that was message_is_error()
8927
8928 2007-08-30  Dan Williams  <dcbw@redhat.com>
8929
8930         * libnm-util/sha1.c
8931                 - Include config.h to get defines for endiannes (gnome.org #420216)
8932
8933 2007-08-30  Dan Williams  <dcbw@redhat.com>
8934
8935         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8936
8937         * src/ppp-manager/Makefile.am
8938                 - use -fPIC (gnome.org #471825)
8939
8940 2007-08-29  Dan Williams  <dcbw@redhat.com>
8941
8942         * include/NetworkManager.h
8943                 - Keep NMConnection object path in sync
8944
8945         * libnm-glib/nm-settings.c
8946           libnm-glib/nm-settings.h
8947                 - Break D-Bus object registration out of the init function, because
8948                 every object that's exported over D-Bus needs to use the _same_
8949                 DBusConnection.  Otherwise, each object would get a different object
8950                 path tree and wouldn't be callable.
8951
8952 2007-08-29  Dan Williams  <dcbw@redhat.com>
8953
8954         * libnm-util/nm-setting.h
8955           libnm-util/nm-setting.c
8956           libnm-util/nm-connection.c
8957           src/NetworkManagerPolicy.c
8958                 - 'info' settings object should be 'connection' says the spec
8959                 at NetworkManagerConfigurationSpecification
8960
8961 2007-08-29  Dan Williams  <dcbw@redhat.com>
8962
8963         * libnm-glib/nm-settings.c
8964           libnm-glib/nm-settings.h
8965                 - make the dbus path a property of the object, and autogenerate it.
8966                 It can't be composed of the 'id' field becuase that's not available
8967                 yet during the GObject creation in nm_connection_settings_init()
8968
8969 2007-08-29  Dan Williams  <dcbw@redhat.com>
8970
8971         * introspection/nm-settings-connection.xml
8972           introspection/nm-settings.xml
8973                 - Service name -> NetworkManagerUserSettings because two services
8974                 can't share part of the same path.  I'm not really sure how we'll use
8975                 the same code with the system-settings daemon...
8976
8977 2007-08-28  Dan Williams  <dcbw@redhat.com>
8978
8979         * src/nm-device-interface.c
8980           src/nm-device-interface.h
8981                 - Kill one more bit of NMData
8982
8983 2007-08-28  Dan Williams  <dcbw@redhat.com>
8984
8985         * src/NetworkManagerSystem.h
8986           src/nm-device.c
8987           src/nm-device.h
8988           src/nm-hal-manager.c
8989           src/NetworkManager.c
8990           src/nm-device-802-11-wireless.c
8991           src/nm-hal-manager.h
8992           src/nm-device-802-3-ethernet.c
8993           src/vpn-manager/nm-vpn-service.h
8994           src/vpn-manager/nm-vpn-manager.c
8995           src/vpn-manager/nm-vpn-manager.h
8996           src/vpn-manager/nm-vpn-service.c
8997           src/nm-device-802-11-wireless.h
8998           src/NetworkManagerMain.h
8999           src/nm-device-802-3-ethernet.h
9000           src/backends/NetworkManagerGentoo.c
9001           src/backends/NetworkManagerPaldo.c
9002           src/backends/NetworkManagerFrugalware.c
9003           src/backends/NetworkManagerRedHat.c
9004           src/backends/NetworkManagerSlackware.c
9005           src/backends/NetworkManagerGeneric.c
9006           src/backends/NetworkManagerArch.c
9007           src/backends/NetworkManagerSuSE.c
9008           src/backends/NetworkManagerGeneric.h
9009           src/backends/NetworkManagerDebian.c
9010                 - Kill NMData
9011
9012 2007-08-28  Dan Williams  <dcbw@redhat.com>
9013
9014         * src/NetworkManagerMain.h
9015           src/nm-device-802-11-wireless.c
9016           src/NetworkManager.c
9017                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9018                 for now we should set the 'invalid' property on individual APs, and when
9019                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9020                 that ESS
9021
9022 2007-08-28  Dan Williams  <dcbw@redhat.com>
9023
9024         * src/NetworkManagerAP.c
9025           src/NetworkManagerAP.h
9026                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9027                         'autoconnect' property instead
9028
9029         * src/NetworkManager.c
9030           src/NetworkManagerMain.h
9031           src/NetworkManagerPolicy.c
9032           src/NetworkManagerPolicy.h
9033                 - Remove the 'allowed_ap_list', which should be replaced by 
9034                         NMConnection/NMSettings instead, since _those_ are the allowed
9035                         things that NM can connect to
9036
9037         * src/nm-device-802-11-wireless.c
9038                 - Remove both allowed_ap_list usage and 'fallback' checking
9039
9040 2007-08-28  Dan Williams  <dcbw@redhat.com>
9041
9042         * src/nm-device.c
9043           src/named-manager/nm-named-manager.c
9044           src/named-manager/nm-named-manager.h
9045           src/NetworkManager.c
9046           src/vpn-manager/nm-vpn-manager.c
9047           src/NetworkManagerMain.h
9048           src/NetworkManagerSystem.c
9049                 - Remove the named-manager object from NMData structure in preparation
9050                 for NMData's timely death.  Make the NMNamedManager the singleton that
9051                 it really is
9052
9053 2007-08-28  Dan Williams  <dcbw@redhat.com>
9054
9055         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9056         each AP's capabilities, and by NMConnection/NMSettings objects for user
9057         defined connections.
9058
9059         * include/NetworkManager.h
9060                 - Redefine 802.11 security properties.  There are now device capabilities
9061                         and AP flags and AP security flags.  It was way to unclear before.
9062
9063         * src/Makefile.am
9064           src/nm-ap-security-leap.h
9065           src/nm-ap-security-leap.c
9066           src/nm-ap-security-wpa-eap.c
9067           src/nm-ap-security-wpa-eap.h
9068           src/nm-ap-security-private.h
9069           src/nm-ap-security-wpa-psk.c
9070           src/nm-ap-security-wpa-psk.h
9071           src/nm-ap-security-wep.c
9072           src/nm-ap-security-wep.h
9073           src/nm-ap-security.c
9074           src/nm-ap-security.h
9075                 - Removed, to be replaced with NMConnection/NMSettings objects
9076
9077         * src/nm-dbus-nmi.c
9078           src/nm-dbus-nmi.h
9079                 - Removed, to be replaced by code that talks to the new info daemon
9080                         interface and gets NMConnection/NMSettings objects
9081
9082         * src/backends/NetworkManagerSuSE.c
9083                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9084                         info-daemon that does the same thing but talks the new info-daemon
9085                         D-Bus interface
9086
9087         * src/NetworkManagerAP.h
9088           src/NetworkManagerAP.c
9089           src/NetworkManagerAPList.c
9090           libnm-glib/libnm-glib-test.c
9091                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9092                         WPA/RSN
9093
9094         * libnm-glib/nm-access-point.c
9095           libnm-glib/nm-access-point.h
9096           introspection/nm-access-point.xml
9097           test/nm-tool.c
9098                 - Adjust to new flags for AP security
9099
9100         * utils/nm-utils.c
9101           utils/nm-utils.h
9102           src/vpn-manager/nm-dbus-vpn.c
9103                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9104                         stuff which is the only place it's used
9105
9106         * src/nm-device-interface.c
9107           src/nm-device-interface.h
9108           introspection/nm-device.xml
9109           src/nm-activation-request.c
9110           src/nm-activation-request.h
9111           src/nm-device.c
9112                 - Add a new 'specific_object' argument that hints to NM what actual
9113                         AP or other device-specific thing the connection should apply to.
9114                         NMConnection objects can apply to more than one actual device/AP.
9115
9116         * libnm-util/nm-connection.c
9117         * libnm-util/nm-connection.h
9118                 - Add 'have_secrets" call stubs
9119
9120         * libnm-util/cipher.h
9121                 - Move NM_AUTH_TYPE_* defines here for now
9122
9123         * src/nm-device-802-11-wireless.c
9124                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9125                         NMSettings objects
9126
9127         * src/NetworkManagerDbus.c
9128         * src/NetworkManagerPolicy.c
9129                 - Remove usage of update_allowed_networks, should be pushing data in
9130                         a different manner
9131
9132 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9133
9134         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9135         dbus-glib frees it when the call is done.
9136
9137 2007-08-26  Dan Williams  <dcbw@redhat.com>
9138
9139         * introspection/nm-device.xml
9140                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9141
9142 2007-08-26  Dan Williams  <dcbw@redhat.com>
9143
9144         * src/nm-device-802-3-ethernet.c
9145                 - (constructor): move connection of interface-connected/disconnected
9146                         signals here from real_bring_up().  Should be listening to netlink
9147                         for carrier events no matter what the initial state of the device
9148                         is.
9149
9150 2007-08-26  Dan Williams  <dcbw@redhat.com>
9151
9152         * src/nm-netlink-monitor.c
9153                 - (nm_netlink_monitor_class_init): fix marshalling types for
9154                         interface-connected/interface-disconnected
9155                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9156                         check
9157
9158 2007-08-26  Dan Williams  <dcbw@redhat.com>
9159
9160         Convert to using interface indexes as the primary method of identifying
9161         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9162         be renamed at any time.  Device object paths now refer to the device
9163         index rather than the name, and you can map those two manually if you like
9164         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9165         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9166         to use interface indexes rather than names.
9167
9168 2007-08-26  Dan Williams  <dcbw@redhat.com>
9169
9170         * src/nm-netlink-monitor.h
9171                 - Remove one last bit of wireless-event signal
9172
9173 2007-08-26  Dan Williams  <dcbw@redhat.com>
9174
9175         * src/nm-netlink-monitor.c
9176                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9177                         don't need the 'wireless-event' signal anymore since that's all
9178                         handled by wpa_supplicant
9179
9180 2007-08-25  Dan Williams  <dcbw@redhat.com>
9181
9182         It's 2007. Remove support for drivers that don't support wireless scanning.
9183
9184         * test/nm-tool.c
9185           include/NetworkManager.h
9186           src/NetworkManagerUtils.c
9187           src/NetworkManagerPolicy.c
9188           src/nm-device-802-11-wireless.c
9189                 - Remove special handling for non-scanning devices and mark them
9190                         as unsupported/unhandled
9191
9192 2007-08-20  Dan Williams  <dcbw@redhat.com>
9193
9194         * src/nm-device-802-11-wireless.c
9195           src/nm-device-802-3-ethernet.c
9196                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9197                         because when the card is pulled or the module removed, the device
9198                         is already !IFF_UP and then device-specific cleanup (removing
9199                         the supplicant interface, periodic checks, etc) never gets done
9200
9201 2007-08-20  Dan Williams  <dcbw@redhat.com>
9202
9203         * src/nm-manager.c
9204                 - (nm_manager_remove_device): bring device down before disconnecting
9205                         signal handlers, so that the 'state' signal will get broadcast when
9206                         the device enters the DOWN state
9207                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9208                         of states that cause the NMManager to recheck its state
9209
9210 2007-08-20  Dan Williams  <dcbw@redhat.com>
9211
9212         * src/supplicant-manager/nm-supplicant-interface.c
9213                 - (interface_disconnect_done): don't try to dispose of the net proxy
9214                         when it may already have been disposed of
9215
9216 2007-08-20  Dan Williams  <dcbw@redhat.com>
9217
9218         * src/nm-device-802-11-wireless.c
9219                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9220                         the SSID isn't available; this can happen when the card is pulled
9221                         or the module unloaded, during the post-removal deactivation
9222                         paths, when the ioctl returns ENODEV
9223
9224 2007-08-20  Dan Williams  <dcbw@redhat.com>
9225
9226         * src/nm-device-802-11-wireless.c
9227                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9228                         frequency, and mode match.  Applets are now responsible for grouping
9229                         access points
9230
9231 2007-08-20  Dan Williams  <dcbw@redhat.com>
9232
9233         * src/NetworkManagerAP.c
9234         * src/NetworkManagerAP.h
9235                 - (nm_ap_print_self): new function
9236
9237         * src/NetworkManagerAPList.c
9238                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9239                         to do it all here
9240         
9241 2007-08-17  Dan Williams  <dcbw@redhat.com>
9242
9243         * src/nm-device-802-3-ethernet.c
9244                 - (real_bring_down): don't try to dispose of stuff that might not
9245                         exist
9246
9247 2007-08-17  Dan Williams  <dcbw@redhat.com>
9248
9249         * src/NetworkManagerAP.c
9250                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9251                         applet.  This ensures that the case between the seen-bssids and
9252                         the bssids reported by the driver match.
9253
9254 2007-08-17  Dan Williams  <dcbw@redhat.com>
9255
9256         * src/nm-device-802-11-wireless.c
9257                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9258                         we dispose of the interface proxy in NM
9259
9260 2007-08-16  Dan Williams  <dcbw@redhat.com>
9261
9262         * libnm-glib/nm-client.c
9263                 - (nm_client_init): create VPN connections hash table with key free
9264                         function
9265                 - (proxy_vpn_connection_added): VPN connections hash table key should
9266                         be a duplicated value, not the same memory address as the VPN
9267                         connection name.  This is because the VPN connection name could
9268                         potentially be freed and set to something else during the lifetime
9269                         of the NMVPNConnection object.
9270
9271 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9272
9273         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9274         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9275         with the file descriptors. Send a child setup function to change the pppd
9276         progress group.
9277
9278 2007-08-15  Dan Williams  <dcbw@redhat.com>
9279
9280         * src/supplicant-manager/nm-supplicant-interface.c
9281                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9282                         an interface
9283                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9284                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9285                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9286                         the interface internally
9287
9288 2007-08-15  Dan Williams  <dcbw@redhat.com>
9289
9290         * src/nm-device-802-11-wireless.c
9291                 - (real_bring_down): move most of this function into device_cleanup()
9292                         so that it can be called from elsewhere
9293                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9294                         and stuff on dispose.  These would normally get cleaned up when
9295                         the device is marked down and deactivated, but when the device is
9296                         hot-unplugged, it's already down and real_down() never gets run
9297
9298 2007-08-15  Dan Williams  <dcbw@redhat.com>
9299
9300         * src/nm-dbus-nmi.c
9301                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9302                         caused a reference leak on device for which NM requested a key
9303
9304 2007-08-15  Dan Williams  <dcbw@redhat.com>
9305
9306         * libnm-glib/nm-client.c
9307                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9308
9309 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9310
9311         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9312         nothing is using it at the moment, but it'll be all useful and stuff later on.
9313
9314         * libnm-util/nm-setting.h: Define NMSettingPPP.
9315
9316         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9317
9318         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9319
9320         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9321
9322         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9323
9324         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9325
9326 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9327
9328         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9329
9330         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9331         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9332         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9333         name and different arguments and it won't compile anymore. To fix this, we now have
9334         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9335         that is new API + compatibility API and used by the daemon. The other, 
9336         nm-manager-client.xml is only the new API without compatibility bits and is used
9337         by libnm-glib to make it compile.
9338
9339         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9340
9341         * src/nm-manager.c (impl_manager_legacy_sleep)
9342         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9343         interface functions for 0.6 branch.
9344
9345 2007-08-14  Dan Williams  <dcbw@redhat.com>
9346
9347         * src/NetworkManagerAP.c
9348                 - (nm_ap_new_from_properties): fix mistaken check of return value
9349                         from memcmp (should expect 0)
9350
9351 2007-08-14  Dan Williams  <dcbw@redhat.com>
9352
9353         (force-commit to fix wrong comment and partial commit of r2685; this
9354          commit actually applies to r2685)
9355
9356         * src/NetworkManagerUtils.c
9357                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9358                         ignores trailing nulls in the SSID to work around mismatches in
9359                         expectations between WEXT and what the info-daemon passes back.  The
9360                         info-daemon would pass back the correct length, but due to the
9361                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9362                         the device would always have an SSID + 1 depending on what versions
9363                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9364                         visible by just quitting the applet and relaunching, which caused
9365                         NM to reassociated to the same network over again when reloading
9366                         the save networks.
9367
9368         * src/NetworkManagerPolicy.c
9369           src/NetworkManagerUtils.h
9370           src/nm-device-802-11-wireless.c
9371                 - Update for new parameter to nm_utils_same_ssid()
9372
9373 2007-08-14  Dan Williams  <dcbw@redhat.com>
9374
9375         * src/NetworkManagerAP.c
9376                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9377                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9378                         setting the BSSID to all 0s.  That confused the heck out of NM,
9379                         plus it's useless and probably out-of-spec.
9380
9381 2007-08-14  Dan Williams  <dcbw@redhat.com>
9382
9383         * callouts/Makefile.am
9384           src/dhcp-manager/nm-dhcp-manager.c
9385           src/dhcp-manager/nm-dhcp-manager.h
9386           src/dhcp-manager/Makefile.am
9387                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9388
9389 2007-08-14  Dan Williams  <dcbw@redhat.com>
9390
9391         * src/dhcp-manager/nm-dhcp-manager.c
9392                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9393                         it's really needed, get rid of unused xtra_args parameter
9394
9395 2007-08-14  Dan Williams  <dcbw@redhat.com>
9396
9397         * include/NetworkManagerVPN.h
9398           src/vpn-manager/nm-dbus-vpn.c
9399           src/vpn-manager/nm-dbus-vpn.h
9400           src/vpn-manager/nm-vpn-act-request.c
9401           src/vpn-manager/nm-vpn-act-request.h
9402           src/vpn-manager/nm-vpn-service.c
9403           src/vpn-manager/nm-vpn-service.h
9404           libnm-glib/nm-vpn-connection.c
9405           libnm-glib/nm-vpn-connection.h
9406           libnm-glib/nm-client.h
9407                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9408                         NMVPNServiceState to clarify what they apply to
9409                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9410                         NMVPNActStage -> NMVPNConnectionState for the same reason
9411
9412         * libnm-glib/nm-client.c
9413                 - Constant + type renames from above
9414                 - Properly handle NameOwnerChanged/manager_running signals
9415                         for NM service; only emit when state really changes
9416                 - Use hash tables correctly so that the key (which was previously owned
9417                         by the D-Bus message) now has the same lifetime as the value, since
9418                         the key is now taken from the the NMVPNConnection itself.  This
9419                         really fixes the double-VPN names in the applet
9420
9421 2007-08-13  Dan Williams  <dcbw@redhat.com>
9422
9423         Patch from Michael Biebl <biebl@debian.org>
9424
9425         * po/POTFILES.in
9426           po/POTFILES.skip
9427                 - Update for vpn-properties move
9428
9429 2007-08-13  Dan Williams  <dcbw@redhat.com>
9430
9431         * libnm-glib/nm-client.c
9432                 - Convert internal VPN connection tracking from a list to a hash table
9433                         to easily avoid duplicates
9434                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9435                         must be freed by the caller, like nm_client_get_devices()
9436                 - (nm_client_remove_vpn_connection): don't let the removal signal
9437                         leak through for NMVPNConnection objects that aren't actually
9438                         tracked.
9439                 - (manager_running): throw away VPN connection list when NM goes away,
9440                         like with the device list
9441
9442 2007-08-13  Dan Williams  <dcbw@redhat.com>
9443
9444         * src/dhcp-manager/nm-dhcp-manager.c
9445                 - Stop any dhclient instance that might be already running for a
9446                         particular interface before starting an NM spawned dhclient.  Fixes
9447                         dhclient processes left over if NM crashes, stuff like that.
9448
9449 2007-08-13  Dan Williams  <dcbw@redhat.com>
9450
9451         * src/NetworkManagerAP.c
9452                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9453                         when the AP wasn't broadcasting it's SSID
9454
9455 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9456
9457         * include/NetworkManager.h: added DBus path for connection settings.
9458
9459         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9460         nm_connection_settings_signal_updated,
9461         nm_connection_settings_signal_removed): new functions to wrap the
9462         objects' signals.
9463         (nm_connection_settings_init): register GObject with DBus.
9464         (nm_connection_settings_get_dbus_object_path): new function.
9465
9466         * libnm-glib/Makefile.am: added libnmutil to link flags.
9467
9468 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9469
9470         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9471
9472         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9473         libnm_glib directory got merged with libnm-glib/.
9474
9475         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9476
9477         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9478         Rename the library from libnm-glib to libnm_glib to maintain the library API
9479         compatibility with 0.6 branch.
9480
9481         * Makefile.am: Remove gnome/ SUBDIR.
9482
9483         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9484
9485         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9486
9487         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9488
9489         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9490         anymore.
9491         Remove checks for wpa_supplicant binary, it's used over dbus.
9492         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9493
9494         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9495         Link the binaries with libnm_glib.la.
9496
9497 2007-08-12  Dan Williams  <dcbw@redhat.com>
9498
9499         * src/NetworkManagerPolicy.c
9500                 - (nm_policy_device_change_check): fix policy to deactivate old device
9501                         before activating new one, at least until the multiple active
9502                         device support lands
9503
9504 2007-08-12  Dan Williams  <dcbw@redhat.com>
9505
9506         * src/NetworkManagerPolicy.c
9507                 - (nm_policy_new): hook up to connection-added / connection-removed
9508                         signals instead of connections-changed
9509
9510 2007-08-12  Dan Williams  <dcbw@redhat.com>
9511
9512         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9513         Robert Frank <rfrank@redhat.com>
9514
9515         * src/dhcp-manager/nm-dhcp-manager.c
9516           src/dhcp-manager/nm-dhcp-manager.c
9517           src/nm-device.c
9518                 - Spawn and communicate with dhclient directly, through means of a
9519                 custom dhclient callout script.  Process callout D-Bus signals
9520                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9521                 sent via gobject signals rather than being driven by the dhcp manager
9522                 directly.
9523
9524 2007-08-12  Dan Williams  <dcbw@redhat.com>
9525
9526         * callouts/nm-dhcp-client-action.c
9527                 - (build_message): ignore non-DHCP-related environment variables
9528
9529 2007-08-12  Dan Williams  <dcbw@redhat.com>
9530
9531         * Makefile.am
9532           configure.in
9533           callouts/Makefile.am
9534           callouts/nm-dhcp-client-action.c
9535           callouts/nm-dhcp-client.conf
9536                 - Add dhclient-executed callout that takes the place of dhclient-script
9537                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9538                 NM then listens for
9539
9540 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9541
9542         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9543
9544         * libnm-glib/nm-client.h:
9545         * libnm-glib/nm-object.h:
9546         * libnm-glib/nm-vpn-connection.h:
9547         * libnm-glib/nm-settings.h:
9548         * libnm-glib/nm-device.h:
9549         * libnm-glib/nm-ip4-config.h:
9550         * libnm-glib/nm-access-point.h:
9551         * libnm-glib/nm-device-802-3-ethernet.h:
9552         * libnm-util/nm-setting.h: 
9553         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9554
9555         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9556
9557         * libnm-glib/nm-access-point.c: Strength has type char.
9558
9559         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9560         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9561
9562         * introspection/nm-access-point.xml: Strength property is char, not int.
9563
9564         * src/NetworkManagerAP.c (set_property): Set strength from char.
9565         (get_property): Handle hidden APs (with empty SSID).
9566         Get strength value from char.
9567         (nm_ap_class_init): Strength property has char type.
9568
9569 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9570
9571         * introspection/Makefile.am:
9572         * introspection/nm-settings.xml:
9573         * introspection/nm-settings-connection.xml: added Settings interfaces.
9574
9575         * libnm-glib/nm-settings.[ch]:
9576         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9577         containing the DBus implementation.
9578
9579 2007-07-26  Dan Williams  <dcbw@redhat.com>
9580
9581         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9582
9583         * src/NetworkManagerSystem.c
9584                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9585                         same subnet (#437396)
9586
9587 2007-07-26  Dan Williams  <dcbw@redhat.com>
9588
9589         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9590
9591         * gnome/vpn-properties/nm-vpn-properties.c
9592                 - Fix translatable strings (#445865)
9593
9594 2007-07-26  Dan Williams  <dcbw@redhat.com>
9595
9596         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9597
9598         * configure.in
9599                 - Remove useless junk (#412530)
9600
9601 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9602
9603         Patch from Robert Buchholz <rbu@gentoo.org>:
9604
9605         * configure.in:
9606         * Makefile.am:
9607         * introspection/Makefile.am:
9608         Make make distcheck work again.
9609
9610 2007-06-27  Dan Williams  <dcbw@redhat.com>
9611
9612         * Make SSIDs GByteArrays everywhere
9613         * Rename "essid" -> "ssid" everywhere that's appropriate
9614         * Refcount activation_ap member of the 802.11 wireless device class
9615
9616 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9617
9618         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9619
9620 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9621
9622         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9623         that we got a new AP when we just update existing AP properties.
9624
9625 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9626
9627         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9628
9629         * nm-utils.[ch]: Remove.
9630
9631         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9632         objects for easy property access and dbus connection handling.
9633
9634         * libnm-glib/nm-client.c: Derive from NMObject.
9635
9636         * libnm-glib/nm-device.c: Ditto.
9637
9638         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9639
9640         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9641
9642         * libnm-glib/nm-ip4-config.c: Ditto.
9643
9644         * libnm-glib/nm-access-point.c: Ditto.
9645
9646         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9647         comparision. Currently used by the device activation code to determine if the new
9648         activation is the same as the old one.
9649
9650         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9651         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9652         able to ask password for the AP.
9653
9654         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9655         up if the device is already connected, tear down it's connection (if it isn't the
9656         same as new one) and start the activation.
9657
9658         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9659
9660         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9661         the issue where all APs are always listed as encrypted.
9662
9663         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9664         their own registered paths.
9665
9666         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9667         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9668
9669 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9670
9671         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9672         (0 & 0 == 0, doh)
9673
9674         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9675         because the handling code will cause the next state change and signal listeners
9676         get the signals in wrong order.
9677
9678         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9679         correctly in case of pending activation.
9680
9681         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9682         Convert the essid byte array to string correctly, including the terminating NULL.
9683
9684         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9685         mode with correct types.
9686
9687         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9688         constructed info to dbus call instead of the activation request.
9689
9690 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9691
9692         Patch from Christian Persch <chpe@gnome.org>
9693
9694         * libnm-glib/Makefile.am:
9695         * dispatcher-daemon/Makefile.am:
9696         Use the correct variables, the correct paths, and correct ordering. (446315)
9697
9698 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9699
9700         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9701         argument. The activation request is easy to retrieve.
9702
9703         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9704         just to be a convenient location for devices to store random stuff.
9705
9706 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9707
9708         Patch from Alex Smith <alex@alex-smith.me.uk>
9709
9710         * src/backends/NetworkManagerFrugalware.c:
9711         Update the FrugalWare backend to fix a few segfaults. (#392642)
9712
9713 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9714
9715         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9716
9717         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9718         setting.
9719         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9720
9721 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9722
9723         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9724         automagically.
9725         Implement NMSettingIP4Config.
9726         Finish NMSettingWired by adding all known members.
9727         (setting_wired_verify): Implement.
9728         Finish NMSettingWireless by adding all known members.
9729         (setting_wireless_verify): Implement.
9730
9731         * libnm-util/nm-connection.c: Register "ipv4" setting.
9732         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9733         dump function, we can introspect the GHashTable which is used for sending connections
9734         over dbus.
9735
9736         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9737         Take GByteArray for essid, it's really not a string.
9738
9739         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9740         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9741         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9742         means overriding the values we got from DHCP.
9743         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9744         (nm_device_deactivate_quickly): Ditto.
9745
9746         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9747         for debugging.
9748
9749 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9750
9751         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9752         NMConnection.
9753
9754         * libnm-glib/nm-device-802-11-wireless.c:
9755         (nm_device_802_3_ethernet_activate): Remove.
9756
9757         * libnm-glib/nm-device-802-3-ethernet.c
9758         (nm_device_802_3_ethernet_activate): Remove.
9759
9760         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9761
9762         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9763         NMConnection.
9764
9765         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9766         activation has started.
9767         Implement the new activation using NMConnection.
9768
9769         * src/nm-activation-request.c: Store a generic connection object instead
9770         of a wireless-specific AP.
9771
9772         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9773         on device type, create a device specific connection object suitable for
9774         device activation.
9775
9776         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9777         specific check to validate the connection and on success start the
9778         activation.
9779
9780         * src/nm-device-interface.h: Add a activate virtual function to the
9781         interface definition.
9782
9783         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9784         (impl_device_activate): Implement.
9785
9786         * introspection/nm-device.xml: Add a generic device activation interface
9787         that accepts an abstract NMConnection structure that has device-specific
9788         information in it.
9789
9790         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9791         activation interface.
9792
9793         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9794         activation interface.
9795
9796         * libnm-util/nm-connection.c: 
9797         * libnm-util/nm-connection.h: 
9798         * libnm-util/nm-setting.c:
9799         * libnm-util/nm-setting.h: Add.
9800
9801         * libnm-util/Makefile.am: Build the added files.
9802
9803         * src/nm-dbus-manager.c
9804         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9805         DbusConnection argument from 'name-owner-changed' signal. The manager
9806         is already passed as a first argument to the signal and the connection
9807         is easy enough to get from it.
9808
9809         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9810         Update the signature of the function.
9811
9812         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9813         Ditto.
9814
9815         * src/NetworkManager.c: Ditto.
9816
9817         * src/named-manager/nm-named-manager.c
9818         (nm_named_manager_name_owner_changed): Ditto.
9819
9820         * src/supplicant-manager/nm-supplicant-manager.c
9821         (nm_supplicant_manager_name_owner_changed): Ditto.
9822
9823         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9824
9825         * src/dhcp-manager/nm-dhcp-manager.c
9826         (nm_dhcp_manager_name_owner_changed): Ditto.
9827
9828         * src/nm-hal-manager.c: Add a list of device detectors and creators
9829         to make it easier to add new devices. Each device type has it's own
9830         entry in the table so adding new device types is only a matter of
9831         implementing a couple of functions, one for device detection and the
9832         other for device creation.
9833
9834 2007-04-25  Dan Williams  <dcbw@redhat.com>
9835
9836         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9837                 (gnome.org #432401)
9838
9839 2007-03-30  Dan Williams  <dcbw@redhat.com>
9840
9841         * src/NetworkManagerSystem.c
9842                 - (nm_system_device_set_ip4_route): clean up and fix argument
9843                         to nm_dev_sock_open()
9844
9845 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9846
9847         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9848         data to correct types instead of always using string.
9849
9850         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9851         _not_ have NM_802_11_CAP_PROTO_NONE.
9852         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9853         is not set.
9854
9855 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9856
9857         * libnm-glib/Makefile.am: Fix the build issue.
9858
9859 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9860
9861         * libnm-glib/nm-vpn-connection.h: 
9862         * libnm-glib/nm-vpn-connection.c: Implement.
9863
9864         * libnm-glib/nm-client.c: Add VPN support.
9865
9866         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9867         handler for VPN.
9868
9869         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9870         on DBUS again.
9871
9872 2007-03-26  Dan Williams  <dcbw@redhat.com>
9873
9874         * src/NetworkManagerAPList.c
9875         * src/nm-device-802-11-wireless.c
9876         * src/NetworkManagerAP.c:
9877                 - Store last seen as glong instead of GTimeVal.
9878                 - Fix the upper bound of capabilities, it's a bitfield.
9879
9880 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9881
9882         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9883
9884         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9885         "manager-running" signal that notifies the appearance/disappearance of NM.
9886         (nm_client_sleep): Implement.
9887
9888         * libnm-glib/nm-device.c:
9889         * libnm-glib/nm-device-802-11-wireless.c: 
9890         * libnm-glib/nm-device-802-3-ethernet.c: 
9891
9892         Don't inherit from DBusGProxy, add a proxy to private
9893         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9894         for anything but their own dbus interface. DBusGProxy objects support only one
9895         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9896         interface. The nice side effect of this change is that we do not create a new
9897         DBusGProxy object for each property access.
9898
9899 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9900
9901         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9902         with zeroes before passing them to functions - the functions never do that and
9903         reading the values back may produce wrong values.
9904         (real_bring_up): Store the signal handler id ...
9905         (real_bring_down): ... So that it can be removed here.
9906         Disconnect the supplicant interface here as well.
9907         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9908         from the access point instead of old $device/Networks/$essid.
9909
9910         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9911         device state is connected (instead of just having link/carrier).
9912
9913         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9914         already easily accessible through the device.
9915
9916         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9917         store it within the object.
9918         (nm_ap_get_dbus_path): Export it to public as well.
9919
9920         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9921         of the singleton.
9922
9923 2007-03-12  Dan Williams  <dcbw@redhat.com>
9924
9925         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9926         for non-carrier-detect capable devices, and useless for carrier-detect
9927         devices since we get notifications from netlink about carrier status anyway.
9928
9929         * src/nm-device-802-3-ethernet.c
9930                 - remove 'link_source_id' member from private data
9931                 - (probe_link): remove and collapse into real_update_link()
9932                 - (nm_device_802_3_periodic_update): remove
9933                 - (real_is_up): check for sup_iface rather than link_source_id
9934                 - (real_bring_up): return gboolean for success/fail; require that
9935                         sup_iface be valid for device bringup to succeed
9936                 - (real_bring_down): zero out link signal ids
9937
9938         * src/nm-device.c
9939                 - (nm_device_activate_stage2_device_config): fail activation if device
9940                         bringup fails
9941                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9942                         fails
9943                 - (nm_device_bring_up): return success/fail
9944
9945         * src/nm-device.h
9946                 - bring_up now returns success/fail
9947
9948         * src/nm-device-802-11-wireless.c
9949                 - (real_bring_up): return success from bringup
9950
9951 2007-03-07  Dan Williams  <dcbw@redhat.com>
9952
9953         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9954         * src/nm-ap-security-wpa-psk.c
9955                 - (real_write_supplicant_config): work with PSKs that may contain
9956                         zeros in the binary format rather than treating it as a string
9957
9958 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9959
9960         * libnm-glib/nm-device-802-11-wireless.c
9961         (nm_device_802_11_wireless_get_capabilities): Implement.
9962
9963         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9964
9965         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9966
9967         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9968         reply only if it's not NULL. Not sure why this started happening right now.
9969
9970         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9971         code paths for when devices get removed on shutdown or when a device is just
9972         removed.
9973         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
9974         gets freed so any signal from a device (disconnected for instance) would invoke
9975         NMState update which would crash.
9976         (nm_manager_remove_device): Bring the device down when it gets removed.
9977
9978         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
9979         the unused dev_type.
9980
9981         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
9982         reference to the added device, NMManager will own it (if it wants).
9983
9984         * test/nm-tool.c: Rewrite using libnm-glib.
9985
9986         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
9987         We get signalled when it changes.
9988
9989         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
9990         when it changes.
9991
9992         * libnm-glib/nm-device.c: Cache the device state property.
9993
9994         * libnm-glib/nm-access-point.c: Cache the strength property.
9995
9996         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
9997         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
9998         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
9999         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
10000         the device is down, activating, or activated (in case of A/B/G cards).
10001         Remove some old dead ifdef'ed out code that used to configure wireless devices,
10002         it's all done through supplicant now.
10003
10004         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
10005         counting issues with pending calls which caused leaks and crashes when
10006         interface was removed (now that the interface actually gets removed).
10007
10008         * src/nm-call-store.c: Make a copy of data before running a foreach
10009         with user callback on it - The most common usage pattern is to cancel
10010         (and thus remove) all pending calls with foreach which would modify
10011         the hash table we're iterating over.
10012
10013         * src/nm-manager.c: When a device is added, make sure it is "up". When
10014         it's removed or disabled due to disabling wireless or networking, bring
10015         it down.
10016
10017         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10018
10019         * src/nm-device-802-11-wireless.c: 
10020         * src/nm-device-802-3-ethernet.c: 
10021         * src/nm-device.c:
10022                 - Remove "init" virtual function, all gobjects have a place for that
10023                   already (constructor).
10024                 - Replace "start" virtual function with "bring_up", devices can be
10025                   brought up and down more than just on startup now.
10026                 - Add "is_up" virtual function.
10027                 - Implement one way to bring a device down instead of previous 4 different
10028                   ways, each of witch did something different.
10029
10030         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10031         all it needs is the device interface.
10032
10033         Get rid of NMData.dev_list (3 members to go).
10034         Get rif of NMData in a lot of places.
10035
10036         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10037
10038 2007-02-23  Dan Williams  <dcbw@redhat.com>
10039
10040         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10041
10042         * src/NetworkManagerAP.c
10043                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10044                         OR-ing rather than AND-ing
10045
10046 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10047
10048         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10049         "network-removed" signals.
10050
10051         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10052
10053         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10054         when receiving the signal from dbus.
10055
10056         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10057         property.
10058
10059         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10060         deactivation of the previously activated device working again.
10061
10062         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10063         and setter.
10064
10065         * src/nm-device.c (nm_device_is_activated): Remove.
10066         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10067
10068         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10069         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10070         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10071         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10072         Remove NMNetworkStatus and NMActStage enums.
10073
10074 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10075
10076         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10077         Handle device state changes and disconnect VPN if it's device deactivates.
10078
10079         * src/nm-dbus-nm.c: 
10080         * src/nm-dbus-nm.h: 
10081         * src/nm-dbus-device.c: 
10082         * src/nm-dbus-device.c: 
10083         * src/nm-dbus-net.c: 
10084         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10085
10086         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10087
10088         * src/nm-device.c (nm_device_get_by_udi):
10089         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10090         implemented in the correct location (NMManager).
10091         Rip out all the test_device stuff.
10092
10093         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10094         failure handlers, it's all done by NMDevice already.
10095
10096         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10097         Remove the iochannel hack to route the unix signals to the main thread since
10098         we're not threaded anymore.
10099
10100         * src/NetworkManagerAP.c: Implement HWAddress property.
10101
10102         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10103         automatically with dbus-glib.
10104
10105         * src/nm-netlink-monitor.c: 
10106         * src/nm-netlink-monitor.h:
10107                 - Move it low in the class hierarchy, don't reference any NM types.
10108                 - Remove private data from the header.
10109                 - Use type safe checks in public API methods.
10110                 - Make it a singleton so we don't have to pass the single reference around.
10111
10112 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10113
10114         * introspection/nm-ip4-config.xml: Implement.
10115
10116         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10117
10118         * libnm-glib/nm-ip4-config.c:
10119         * libnm-glib/nm-ip4-config.c: Implement.
10120
10121         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10122         securities. APs reference security.
10123
10124         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10125         be exported over DBUS.
10126
10127         * src/nm-device-802-3-ethernet.c: Ditto.
10128
10129         * src/NetworkManagerAP.c:
10130         * src/NetworkManagerAP.h:
10131                 - Convert to GObject, export over DBUS.
10132
10133         * src/nm-ip4-config.h:
10134         * src/nm-ip4-config.h:
10135                 - Convert to GObject, export over DBUS.
10136
10137 2007-02-12  Dan Williams  <dcbw@redhat.com>
10138
10139         Patch from Helmut Schaa <hschaa@suse.de>
10140
10141         * vpn-daemons/pptp/configure.in
10142           vpn-daemons/pptp/Makefile.am
10143           vpn-daemons/openvpn/configure.in
10144           vpn-daemons/openvpn/Makefile.am
10145           vpn-daemons/vpnc/configure.in
10146           vpn-daemons/vpnc/Makefile.am
10147                 - Add --without-gnome switch which disables building gnome bits
10148
10149 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10150
10151         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10152
10153         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10154
10155         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10156         'HwAddress'.
10157
10158         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10159
10160         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10161
10162         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10163
10164         * src/:
10165                 - Remove old low-level dbus interface implementations and replace them
10166                   with dbus-glib one.
10167
10168         * configure.in:
10169                 - Require dbus-glib >= 0.72.
10170                 - Plug in new sources to build.
10171
10172         * libnm-glib/:
10173                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10174                   to make it more convenient to use from GObject based programs.
10175
10176         * introspection/:
10177                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10178
10179 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10180
10181         * src/nm-device-802-11-wireless.c:
10182                 - Add "network-added" and "network-removed" signals.
10183                 - Use gobject boilerplate macros to define the GObject.
10184                 - Implement wireless device activation.
10185                 - Remove activation_failure_handler and activation_success_handler
10186                   and instead listen on state-changed signals and run the same code
10187                   from there.
10188
10189         * src/nm-device.c:
10190                 - Implment NMDeviceInterface::deactivate.
10191                 - Remove activation_failure_handler and activation_success_handler
10192                   virtual methods. Each device which is interested in these events
10193                   can just listen on it's state changed signals.
10194
10195         * src/NetworkManagerPolicy.c:
10196                 - Move a bit more NMData usage to NMManager.
10197                 - Remove activation scheduling bits.
10198                 - Add listeners for wireless device's "network-added" and
10199                   "network-removed" signals.
10200                 - Listen device changed signals and deactivate currently activated
10201                   device when another device start activating (for now).
10202                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10203                   for calling this, the policy code knows exactly when this should happen,
10204                   by listening on events from NMManager and NMDevices.
10205
10206         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10207         Implement.
10208
10209         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10210         method on the specific device instead of going to through policy code
10211         and determining the device type by passed in AP's existance.
10212
10213         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10214         abstract NMDevice deactivation.
10215
10216 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10217
10218         * src/NetworkManager.c:
10219                 - Set up all the shiny new managers.
10220
10221         * src/NetworkManagerPolicy.c:
10222                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10223                   classes to call into policy code, make the policy code kind of like
10224                   a supervisor that monitors what's going on and drives the whole NM.
10225
10226         * src/nm-hal-manager.c: 
10227         * src/nm-hal-manager.h:
10228                 - Collect all libhal code scattered around NM to this one class.
10229                 - Listen libhal and NMManager events and add/remove devices to
10230                   NMManager.
10231
10232         * src/nm-manager.c:
10233         * src/nm-manager.h:
10234                 - Implment a replacement for NMData. NMData is now officially
10235                 deprecated.
10236
10237 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10238
10239         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10240         * src/supplicant-manager/nm-supplicant-interface.h
10241         * src/supplicant-manager/nm-supplicant-interface.c
10242         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10243         argument to boolean from enum.
10244
10245         Make NMDevice abstract class, remove almost all references to it's
10246         subclasses (the last place gets removed with new policy manager). Add
10247         NMDeviceInterface (which NMDevice implements) so that when we have
10248         NMDevice exported over DBUS, there's a common NMDevice interface which
10249         all instances have, plus there's a device specific interface for each
10250         specific type.
10251         Remove functions (nm_device_is_802_3_ethernet) and
10252         (nm_device_is_802_11_wireless). There are already standard GObject macros
10253         for type safe checks.
10254         Use the updated supplican manager API.
10255
10256         * src/nm-device-interface.h: 
10257         * src/nm-device-interface.c: 
10258         * src/nm-call-store.h: 
10259         * src/nm-call-store.c: Implement.
10260
10261         * src/supplicant-manager/nm-supplicant-interface.c:
10262         * src/supplicant-manager/nm-supplicant-interface.h:
10263         * src/supplicant-manager/nm-supplicant-manager.c:
10264         * src/supplicant-manager/nm-supplicant-manager.h:
10265                 - Remove all private data type references from public header files.
10266                 - Remove all references to other NM classes, this class is just a
10267                   proxy between wpa_supplicant and NM so it doesn't have to know
10268                   any internals.
10269                 - Convert to dbus-glib bindings.
10270                 - Type safe checks for public methods' arguments.
10271                 - Store pending DBUS call ids to NMCallStore.
10272
10273         * src/supplicant-manager/nm-supplicant-config.c:
10274                 - Store config values in a GHashTable instead of GSList.
10275
10276         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10277
10278         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10279         singleton now.
10280
10281         * src/nm-device.c: Use the new DHCP manager API.
10282
10283         * src/nm-activation-request.c:
10284         * src/nm-activation-request.h:
10285                 - Remove all dhcp related properties and methods.
10286
10287         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10288
10289         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10290
10291         * src/dhcp-manager/nm-dhcp-manager.c:
10292         * src/dhcp-manager/nm-dhcp-manager.h:
10293                 - Convert it to GObject since we need to signal state changes.
10294                 - Remove all references to other NM classes, this class is one
10295                   of the lowest classes in our hierarchy.
10296                 - One less class to use NMActRequest.
10297                 - Make it singleton, one less user of NMData.
10298                 - Remove a couple of sleep() calls.
10299                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10300                   One less class to use the NM's custom tailored signal handlig.
10301
10302         * Makefile.am: Generate marshallers, add them to build.
10303
10304 2007-02-02  Dan Williams  <dcbw@redhat.com>
10305
10306         * configure.in
10307           gnome/Makefile.am
10308           nm-applet.desktop
10309           Makefile.am
10310                 - Remove last bits referencing gnome applet
10311
10312 2007-02-02  Dan Williams  <dcbw@redhat.com>
10313
10314         * src/vpn-manager/nm-vpn-service.c
10315                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10316                         and NBNS server addresses
10317
10318 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10319
10320         * src/nm-dbus-manager.c:
10321         * src/nm-dbus-manager.h:
10322                 - Convert all internal DBUS code to use dbus-glib bindings.
10323                 - Remove GObject properties, we don't need them here.
10324                 - Don't explicitly set things to NULL after freeing, glib is
10325                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10326                 - Make public API argument checks type safe.
10327                 - Remove unnecessary (and wrong) cast to GObject for the first
10328                   argument to g_signal_* calls - The first argument is a gpointer.
10329                 - Export DBusGConnection to other cool classes that (are going to)
10330                   use dbus-glib.
10331
10332 2007-01-26  Dan Williams  <dcbw@redhat.com>
10333
10334         * libnm-util/dbus-dict-helpers.c
10335           libnm-util/dbus-dict-helpers.h
10336                 - Coordinate style with wpa_supplicant version to minimize diff
10337                 - Add uint32 array support
10338                 - (nmu_dbus_dict_append_uint32_array): new function
10339                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10340                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10341                         version; allow adding string array elements individually
10342
10343         * test/libnm-util/test-dbus-dict-helpers.c
10344                 - Test uint32 arrays
10345
10346 2007-01-27  Jürg Billeter  <j@bitron.ch>
10347
10348         * src/backends/NetworkManagerPaldo.c
10349                 - (nm_system_update_dns): clear nscd hosts cache
10350
10351 2007-01-04  Dan Williams  <dcbw@redhat.com>
10352
10353         Threading removal related cleanups:
10354
10355         - Use the glib default main context.  Remove the device main context
10356                 member from NMDevice, and the main_context member from NMData.  Change
10357                 all the idle and timeout scheduler functions to use plain
10358                 g_idle_add() and g_timeout_add().
10359
10360         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10361                 takes an argument; fix that up too.
10362
10363         - Remove all locking, which is useless since we no longer use threads.  For
10364                 example, nm_get_device_by_iface_locked() has been removed.  The global
10365                 device list lock, the AP List lock, and all static locks in
10366                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10367                 in NetworkManagerUtils.c have also been removed.
10368
10369         - Other cleanups in spacing and code style
10370
10371 2007-01-01  Dan Williams  <dcbw@redhat.com>
10372
10373         Found by Bill Moss:
10374
10375         * src/supplicant-manager/nm-supplicant-interface.c
10376                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10377                         the supplicant interface wasn't already disconnected.  Always
10378                         call removeNetwork and disconnect unless the supplicant interface
10379                         is in the DISCONNECTED or INACTIVE state.
10380
10381 2006-12-28  Dan Williams  <dcbw@redhat.com>
10382
10383         Use a single thread for everything.  With the move to wpa_supplicant
10384         and communication over D-Bus, there's no reason for multiple threads.
10385         Almost all of the blocking code has been removed, with one exception in
10386         the DHCP manager and a few in the VPN manager.  This commit removes the
10387         per-device worker thread and fixes activation cancellation in the absence
10388         of threads.  Further removal of thread-related code would be removing
10389         any locking code (like the device list lock) and simplification of logic
10390         around areas of code or data structures that are currently locked.
10391
10392         * autoip.c
10393           dhcp-manager/nm-dhcp-manager.c 
10394           nm-device-802-11-wireless.c
10395           nm-device-802-3-ethernet.c
10396           nm-device.c
10397           nm-device.h
10398                 - Remove usage of multiple threads
10399
10400 2006-12-19  Dan Williams  <dcbw@redhat.com>
10401
10402         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10403         plus a few other patches from wpa_supplicant bugzilla.
10404
10405         * src/Makefile.am
10406           src/NetworkManagerPolicy.c
10407           src/NetworkManagerUtils.c
10408           src/NetworkManagerUtils.h
10409           src/nm-ap-security-leap.c
10410           src/nm-ap-security-wep.c
10411           src/nm-ap-security-wpa-eap.c
10412           src/nm-ap-security-wpa-psk.c
10413           src/nm-ap-security.c
10414           src/nm-ap-security.h
10415           src/nm-device-802-11-wireless.c
10416           src/nm-device-802-11-wireless.h
10417           src/supplicant-manager/nm-supplicant-config.c
10418           src/supplicant-manager/nm-supplicant-config.h
10419           src/supplicant-manager/nm-supplicant-interface.c
10420           src/supplicant-manager/nm-supplicant-interface.h
10421           src/supplicant-manager/nm-supplicant-marshal.list
10422           src/supplicant-manager/nm-supplicant-settings-verify.c
10423           src/supplicant-manager/nm-supplicant-settings-verify.h
10424                 - Move all connection management and association handling to
10425                         wpa_supplicant over dbus, rather than spawning a private copy
10426
10427 2006-12-19  Dan Williams  <dcbw@redhat.com>
10428
10429         * src/NetworkManagerPolicy.c
10430                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10431                         better locking of the device change check handler ID.  Incorrect
10432                         locking was causing lost device change requests
10433
10434 2006-12-18  Dan Williams  <dcbw@redhat.com>
10435
10436         * libnm-util/dbus-dict-helpers.c
10437                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10438                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10439                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10440
10441 2006-12-18  Dan Williams  <dcbw@redhat.com>
10442
10443         * gnome/libnm_glib/libnm_glib.c
10444                 - Change dbus_connection_close() -> dbus_connection_unref()
10445
10446 2006-12-11  Dan Williams  <dcbw@redhat.com>
10447
10448         * src/supplicant-manager/nm-supplicant-interface.c
10449                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10450                         wpa_supplicant interface state
10451                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10452                         state before transitioning to READY state
10453
10454 2006-12-04  Dan Williams  <dcbw@redhat.com>
10455
10456         * src/nm-device-802-11-wireless.c
10457                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10458                         odd length of ESSID returned from ieee80211 stack-based drivers
10459
10460 2006-12-04  Dan Williams  <dcbw@redhat.com>
10461
10462         * src/nm-device-802-11-wireless.c
10463                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10464                         IE handling blocks that cause mis-parsing of the IE
10465
10466 2006-12-04  Dan Williams  <dcbw@redhat.com>
10467
10468         * src/nm-device-802-11-wireless.c
10469                 - (init_supplicant_interface): new function; pull supplicant interface
10470                         setup code out into standalone function since it must be called from
10471                         two different places
10472                 - (real_init): sup_mgr is now in private object data; get and track
10473                         the supplicant manager object over the NMDevice subclass' lifetime
10474                         and register a signal handler for its state signals; only try to
10475                         initialize the supplicant interface if the supplicant manager is in
10476                         the IDLE state (and therefore is ready for requests)
10477                 - (request_wireless_scan): reschedule the scan request if (a) there is
10478                         no supplicant interface yet (meaning wpa_supplicant isn't running
10479                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10480                         for requests yet
10481                 - (supplicant_iface_connection_state_cb): new function; stub for
10482                         handling supplicant interface connection state signals
10483                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10484                         comes and goes
10485                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10486                         supplicant manager object that's being tracked starting with this
10487                         commit
10488
10489 2006-12-04  Dan Williams  <dcbw@redhat.com>
10490
10491         * src/supplicant-manager/nm-supplicant-interface.c
10492                 - (nm_supplicant_interface_set_property): track signal handler ID
10493                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10494
10495 2006-12-04  Dan Williams  <dcbw@redhat.com>
10496
10497         * src/supplicant-manager/nm-supplicant-interface.[ch]
10498                 - (nm_supplicant_interface_get_state): new function
10499
10500 2006-12-04  Dan Williams  <dcbw@redhat.com>
10501
10502         * src/supplicant-manager/nm-supplicant-interface.c
10503                 - (bssid_properties_cb): don't treat DBus errors as valid
10504                         scanned AP messages
10505
10506 2006-12-04  Dan Williams  <dcbw@redhat.com>
10507
10508         * src/supplicant-manager/nm-supplicant-interface.[ch]
10509                 - (nm_supplicant_interface_get_connection_state): new function
10510                 - define new supplicant connection states
10511                 - send a signal when the supplicant connection state changes
10512
10513 2006-12-03  Dan Williams  <dcbw@redhat.com>
10514
10515         * src/supplicant-manager/Makefile.am
10516           src/supplicant-manager/nm-supplicant-connection.h
10517           src/supplicant-manager/nm-supplicant-connection.c
10518           src/supplicant-manager/nm-supplicant-config.h
10519           src/supplicant-manager/nm-supplicant-config.c
10520           src/supplicant-manager/nm-supplicant-types.h
10521           src/supplicant-manager/nm-supplicant-interface.h
10522           src/supplicant-manager/nm-supplicant-interface.c
10523                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10524
10525 2006-12-03  Dan Williams  <dcbw@redhat.com>
10526
10527         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10528
10529         * po/POTFILES.in
10530           po/POTFILES.skip
10531                 - Move VPN-related translatables to .skip
10532
10533         * vpn-daemons/pptp/po/POTFILES.in
10534                 - Update with new translatables
10535
10536 2006-12-02  Dan Williams  <dcbw@redhat.com>
10537
10538         Patch from Christian Persch <chpe@gnome.org>
10539
10540         * gnome/applet/Makefile.am
10541           gnome/applet/applet-dbus-devices.c
10542           gnome/applet/applet-notifications.c
10543           gnome/applet/applet.c
10544           gnome/applet/applet.h
10545           gnome/applet/main.c
10546                 - Be a GtkStatusIcon on GTK+ >= 2.10
10547
10548 2006-12-02  Dan Williams  <dcbw@redhat.com>
10549
10550         * gnome/applet/applet.c
10551                 - (nma_update_info): fix two unecessary allocations
10552
10553 2006-12-02  Dan Williams  <dcbw@redhat.com>
10554
10555         Patch from Michael Biebl <biebl@teco.edu>
10556         * configure.in
10557           man/NetworkManager.1.in
10558           man/NetworkManagerDispatcher.1.in
10559           man/NetworkManager.8.in
10560           man/NetworkManagerDispatcher.8.in
10561                 - Add .SH NAME stanzas
10562                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10563
10564 2006-12-02  Dan Williams  <dcbw@redhat.com>
10565
10566         Patch from Christian Persch <chpe@gnome.org>
10567
10568         * configure.in
10569                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10570
10571 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10572
10573         Patch by Timo Hoenig <thoenig@suse.de>:
10574         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10575         DBUS-1.0.
10576
10577         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10578         we can't use the one from the main source directory.
10579
10580 2006-11-27  Dan Williams  <dcbw@redhat.com>
10581
10582         Patch from Christian Persch <chpe@gnome.org>
10583
10584         * gnome/applet/applet-dbus-devices.c
10585                 - (hal_info_product_cb): fix memleak; free duped string.
10586                         Gnome.org #379908
10587
10588 2006-11-27  Dan Williams  <dcbw@redhat.com>
10589
10590         Patch from Christian Persch <chpe@gnome.org>
10591
10592         * gnome/applet/menu-items.c
10593                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10594                         as gtk_progress_set_percentage is deprecated.  Should
10595                         work as far back as GTK+ 2.4.  Gnome.org #379780
10596
10597 2006-11-26  Dan Williams  <dcbw@redhat.com>
10598
10599         Scan using wpa_supplicant over DBus.
10600
10601         * src/nm-device-802-11-wireless.c
10602                 - remove wireless extensions netlink event handler bits
10603                         (wireless_event_helper, nm_device_802_11_wireless_event)
10604                 - remove wireless extensions scan event handler bits
10605                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10606                         hex2byte, hex2num, request_and_convert_scan_results,
10607                         free_process_scan_cb_data, scan_results_timeout,
10608                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10609                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10610                         and request scans from the supplicant interface rather than directly
10611                 - Move functionality of convert_scan_results() to cull_scan_list() and
10612                         supplicant_iface_scanned_ap_cb()
10613                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10614                         at the scan interval when the current scan has finished
10615                 - (supplicant_iface_state_cb): start scanning when the supplicant
10616                         interface enters the READY state, and stop scanning when it
10617                         enters the DOWN state
10618                 - (cull_scan_list): weed out old access points from the scan list
10619                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10620                         point into an NMAccessPoint and merge it into the device's scan list
10621
10622         * src/supplicant-manager/nm-supplicant-interface.c
10623           src/supplicant-manager/nm-supplicant-interface.h
10624                 - Add a new signal "scan-result" which is issued when the supplicant
10625                         notifies NM that a scan has completed
10626                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10627                         point found in the scan.  Called once for each access point that
10628                         the supplicant interface object receives from the supplicant as a
10629                         result of the "scanResults" method call
10630                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10631                         for the initial scan results
10632                 - (scan_request_cb): new function; send listeners the result
10633                         (success, error) of a wireless scan request
10634                 - (nm_supplicant_interface_request_scan): new function; ask the
10635                         supplicant to perform an immediate wireless scan
10636
10637 2006-11-25  Dan Williams  <dcbw@redhat.com>
10638
10639         * src/supplicant-manager/Makefile.am
10640                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10641                         add HAL cflags/includes and named-manager includes directory
10642
10643         * src/supplicant-manager/nm-supplicant-interface.h
10644                 - New state STARTING to handle transition from INIT to READY where
10645                         the addInterface pending call is still outstanding
10646
10647         * src/supplicant-manager/nm-supplicant-interface.c
10648                 - track pending calls differently since we may have more than one
10649                         going on at any given time
10650                 - request scan results from wpa_supplicant; but don't do it more often
10651                         than every 4 seconds.  Drivers that do background scanning
10652                         (like the 'ipw' drivers) send a continuous stream of scan completion
10653                         notifications, so we don't want to hammer the supplicant or dbus
10654                         with requests for all scan results every time we get a completion
10655                         notification.
10656
10657 2006-11-25  Dan Williams  <dcbw@redhat.com>
10658
10659         * src/supplicant-manager/nm-supplicant-types.h
10660                 - new file; move all supplicant manager object typedefs here for
10661                         #include sanity
10662
10663         * src/supplicant-manager/nm-supplicant-interface.c
10664           src/supplicant-manager/nm-supplicant-interface.h
10665                 - new file; an object that interfaces an NMDevice object to the
10666                         supplicant and handles signals from the supplicant.  This object
10667                         does all necessary DBus communication with wpa_supplicant.
10668
10669         * src/supplicant-manager/nm-supplicant-manager.c
10670           src/supplicant-manager/nm-supplicant-manager.h
10671                 - Actually do something.  Track the state of the wpa_supplicant service
10672                         and deal with its comings & goings.  Handle life events of
10673                         supplicant interfaces too.
10674                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10675
10676         * src/supplicant-manager/nm-supplicant-connection.h
10677                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10678
10679         * src/supplicant-manager/Makefile.am
10680                 - Add new files to build, and add libnm-util to includes
10681
10682         * src/nm-marshal.list
10683                 - New marshaler type: VOID:UINT,UINT
10684
10685         * src/nm-device-802-3-ethernet.c
10686                 - (real_init): grab a supplicant interface
10687                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10688                 - (supplicant_iface_state_cb): new function, stub for handling
10689                         supplicant interface state changes
10690
10691         * src/nm-device-802-11-wireless.c
10692                 - (real_init): grab a supplicant interface
10693                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10694                 - (supplicant_iface_state_cb): new function, stub for handling
10695                         supplicant interface state changes
10696
10697         * src/NetworkManager.c
10698                 - (main): create and keep the supplicant manager around for the lifetime
10699                         of NetworkManager
10700
10701         * src/Makefile.am
10702                 - Link to the supplicant manager sub-library and use the supplicant
10703                         manager includes
10704
10705 2006-11-25  Dan Williams  <dcbw@redhat.com>
10706
10707         Rework DBus manager signal handling to be more flexible.  Previously,
10708         only one signal handler could be registered for a particular interface.
10709         The DBus manager now reference counts DBus bus matches and allows multiple
10710         clients to register signal handlers for the same interface and sender.
10711
10712         * src/NetworkManager.c
10713                 - (main): track NMI signal handler ID and remove it when we quit
10714
10715         * src/NetworkManagerMain.h
10716                 - Keep track of NMI signal handler ID
10717
10718         * src/nm-dbus-manager.c
10719           src/nm-dbus-manager.h
10720                 - rework signal handling; each signal handler references one signal
10721                         match, but a signal match may be referenced by one or more
10722                         signal handlers.  Matches are refcounted and are destroyed when the
10723                         last signal handler that references the match is removed.  This is
10724                         necessary because two signal handlers may end up requiring the same
10725                         dbus bus match, so the match must live until the last signal handler
10726                         is destroyed (for example, with the wpa_supplicant network interface
10727                         dbus interface).
10728
10729         * src/dhcp-manager/nm-dhcp-manager.c
10730                 - (nm_dhcp_manager_new): track DHCP signal handler id
10731                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10732
10733         * src/vpn-manager/nm-vpn-service.c
10734                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10735                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10736
10737 2006-11-25  Dan Williams  <dcbw@redhat.com>
10738
10739         Suggested by Helmut Schaa <hschaa@suse.de>
10740
10741         * src/vpn-daemons/nm-vpn-service.c
10742                 - (supplicant_child_setup): new function
10743                 - (supplicant_exec): make child process use a new process group id
10744
10745         * src/nm-device-802-11-wireless.c
10746                 - (nm_vpn_service_child_setup): new function
10747                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10748                         process group id
10749
10750 2006-11-19  Dan Williams  <dcbw@redhat.com>
10751
10752         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10753         * gnome/vpn-properties/nm-vpn-properties.c
10754                 - clean up after renamed VPN connection
10755
10756 2006-11-19  Dan Williams  <dcbw@redhat.com>
10757
10758         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10759         * gnome/applet/applet-dbus-vpn.c
10760                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10761
10762         * gnome/vpn-properties/nm-vpn-properties.c
10763                 - (init_app): sort VPN connections
10764
10765 2006-11-09  Dan Williams  <dcbw@redhat.com>
10766
10767         * src/NetworkManagerAPList.c
10768                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10769                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10770                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10771                 broke hidden SSID matching.  Found by Bill Moss.
10772
10773 2006-10-25  Dan Williams  <dcbw@redhat.com>
10774
10775         * src/nm-dbus-nm.c
10776                 - (nm_dbus_nm_set_active_device): return an empty success message on
10777                         success, rather than falling through to the error case.
10778
10779 2006-10-25  Dan Williams  <dcbw@redhat.com>
10780
10781         * src/NetworkManagerUtils.c
10782                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10783                         "SCAN" command
10784
10785 2006-10-24  Dan Williams  <dcbw@redhat.com>
10786
10787         Reduce the number of times the Gnome applet wakes up, especially when
10788         it's doing absolutely nothing and is hidden.  Initial patch by
10789         Chris Aillon.
10790
10791         * gnome/applet/applet-dbus.c
10792                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10793                         kill the redraw timeout.  When NM starts up, start the redraw
10794                         timeout.  Also, if we get kicked off the bus for some reason,
10795                         start the reconnection timeout if one's not already running.
10796                 - (nma_dbus_init): better handling of error conditions, don't leak
10797                         a half-initialized dbus connection
10798                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10799                         the applet's data, just call nm_dbus_init_helper()
10800                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10801                         timeout that calls nma_dbus_connection_watcher()
10802                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10803                         reconnection timeout, and don't start the reconnection timeout
10804                         unconditionally anymore
10805
10806         * gnome/applet/applet-dbus.h
10807                 - Expose nma_start_dbus_connection_watch()
10808
10809         * gnome/applet/applet.c
10810                 - (nma_update_state): no longer static, called from applet-dbus.c for
10811                         immediate UI updates on certain events
10812                 - (nma_set_running): new function; take over setting applet->running,
10813                         when not running (ie, NM is not active), don't activate the redraw
10814                         timeout because we're not showing the applet anyway.  When we are
10815                         running (ie, NM is active), and only when we're running, start the
10816                         redraw timeout.
10817                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10818                         kill any reconnection timeout
10819                 - (nma_get_instance): move one-off dbus initialization code here since
10820                         nm_dbus_init_helper() gets called more than once, possibly by the
10821                         reconnection timeout function too.  And, when we start up, if we
10822                         can't get a connection to the bus, start the reconnection timeout.
10823                         But don't start the redraw timeout yet, only do that when we get
10824                         NM's state and find out if it's running or not.
10825
10826         * gnome/applet/applet.h
10827                 - Add the reconnection GSource ID
10828                 - Add prototypes for nma_set_running() and the no-longer-static
10829                         nma_update_state()
10830
10831 2006-10-24  Dan Williams  <dcbw@redhat.com>
10832
10833         * src/vpn-daemons/nm-dbus-vpnc.c
10834                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10835                         pending call tracker
10836                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10837                         pending call tracker; register one-vpn-connection update pending
10838                         call in pending call tracker
10839                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10840                         update pending call in pending call tracker
10841                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10842                         update pending call in pending call tracker; don't block waiting
10843                         for call to return
10844
10845 2006-10-19  Robert Love  <rml@novell.com>
10846
10847         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10848           refresh the cache.
10849
10850 2006-10-14  Dan Williams  <dcbw@redhat.com>
10851
10852         * src/dhcp-manager/nm-dhcp-manager.c
10853                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10854                 the dbus connection and the device object path rather than
10855                 constructing it inside both functions.  Saves a bit of memory
10856                 and clarifies a failure path.
10857                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10858                 and allocate device path here rather than each of the two
10859                 functions above.
10860
10861 2006-10-13  Dan Williams  <dcbw@redhat.com>
10862
10863         * src/NetworkManager.c
10864                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10865                 this somehow droppout in the refactor
10866
10867 2006-10-13  Dan Williams  <dcbw@redhat.com>
10868
10869         * Huge DBus refactor:
10870                 - Create a "DBus Manager" object which manages the connection and
10871                 sends signals on NameOwnerChanged and connection/disconnection events,
10872                 handles reconnection to the bus if NM gets kicked off, and abstracts
10873                 signal handling
10874                 - Remove DBusConnection members from places where they are no
10875                 longer needed due to the refactor, like the dbus-connection
10876                 property of the named manager, and from NMData
10877                 - Reformats a bunch of the code to gnome style
10878                 (8-space tabs, braces on same line as statement, 80-col width).
10879                 Consider it open season to reformat any bits to gnome style.
10880                 style that aren't already.
10881
10882 2006-10-13  Dan Williams  <dcbw@redhat.com>
10883
10884         * src/supplicant-manager/Makefile.am
10885                 - Add new files
10886
10887         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10888                 - Make it a minimal GObject
10889
10890         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10891                 - Verify settings destined for wpa_supplicant
10892
10893         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10894                 - Minimal GObject to track wpa_supplicant controlled device
10895                 connections
10896
10897 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10898
10899         * gnome/applet/applet.c: (nma_update_info),
10900         (nma_act_stage_to_pixbuf), (nma_update_state):
10901         Mark missing strings for translation. Fixes bug #343306.
10902
10903 2006-10-01  Dan Williams  <dcbw@redhat.com>
10904
10905         * src/vpn-manager/nm-vpn-manager.c
10906                 - (nm_vpn_manager_load_services): split and clean up
10907                 for readability and correctness.  Restrict VPN service
10908                 files to ending in ".name", as was meant from the
10909                 beginning (but not coded in).  Better error reporting.
10910
10911 2006-10-01  Dan Williams  <dcbw@redhat.com>
10912
10913         * utils/nm-utils.h
10914                 - Clean up formatting of debug/info/warning log messages
10915
10916 2006-09-27  Robert Love  <rml@novell.com>
10917
10918         Patch by Tambet Ingo <tambet@ximian.com>:
10919         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10920           actually work.
10921
10922 2006-09-07  Dan Williams <dcbw@redhat.com>
10923
10924         * test/Makefile.am
10925           test/libnm-util/Makefile.am
10926           test/nm-supplicant-test.c
10927                 - Add test program emulating the way NM drives wpa_supplicant
10928                 to help debug supplicant issues
10929
10930 2006-08-24  Dan Williams <dcbw@redhat.com>
10931
10932         * configure.in
10933           src/Makefile.am
10934           src/supplicant-manager/Makefile.am
10935           src/supplicant-manager/nm-supplicant-manager.c
10936           src/supplicant-manager/nm-supplicant-manager.h
10937                 - Add skeleton bits of the wpa_supplicant manager
10938
10939 2006-08-24  Dan Williams <dcbw@redhat.com>
10940
10941         Patch from Ed Catmur:
10942         * src/NetworkManagerUtils.c
10943                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10944                 if netmask is 0 (Gnome #352634)
10945
10946 2006-08-17  Robert Love  <rml@novell.com>
10947
10948         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10949           package is now DBUS-enabled and listens for the NM signals.
10950
10951 2006-08-14  Dan Williams  <dcbw@redhat.com>
10952
10953         * Patch from Christian Persch <chpe gnome org>
10954         * configure.in
10955           po/LINGUAS
10956           vpn-daemons/openvpn/po/LINGUAS
10957           vpn-daemons/openvpn/configure.in
10958           vpn-daemons/pptp/po/LINGUAS
10959           vpn-daemons/pptp/configure.in
10960           vpn-daemons/vpnc/po/LINGUAS
10961           vpn-daemons/vpnc/configure.in
10962                 - Convert to LINGUAS method so translators don't have to modify
10963                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10964                 0.35 or higher
10965
10966 2006-08-14  Dan Williams  <dcbw@redhat.com>
10967
10968         Patch from Alex Smith <alex.extreme2@gmail.com>
10969         * configure.in
10970           src/backends/Makefile.am
10971           src/backends/NetworkManagerFrugalware.c
10972                 - Add support for Frugalware
10973
10974 2006-08-13  Dan Williams  <dcbw@redhat.com>
10975
10976         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10977         * src/nm-device-802-11-wireless.c
10978                 - (supplicant_exec): spawn wpa_supplicant without debug spew
10979                 Gnome #346875
10980
10981 2006-08-13  Dan Williams  <dcbw@redhat.com>
10982
10983         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10984         * src/nm-ap-security.c
10985           src/nm-ap-security.h
10986                 - Add authentication_required bits for subclasses to specify whether
10987                 or not real authentication is required for connections, i.e. whether
10988                 the AP rejects us when an encryption key is wrong or not.
10989
10990         * src/nm-ap-security-wep.c
10991           src/nm-ap-security-wpa-eap.c
10992           src/nm-ap-security-wpa-psk.c
10993           src/nm-ap-security-leap.c
10994                 - Implement authentication_required appropriately for each method
10995
10996         * src/nm-device-802-11-wireless.c
10997                 - Be smarter about when to request a key; for example, using a wrong key
10998                 in WEP shared key mode previously just timed out and did not request
10999                 a new key
11000
11001 2006-08-13  Dan Williams  <dcbw@redhat.com>
11002
11003         * gnome/libnm_glib/libnm_glib.c
11004                 - dbus_connection_disconnect() -> dbus_connection_close() for
11005                 dbus >= 0.90
11006
11007 2006-08-07  Dan Williams  <dcbw@redhat.com>
11008
11009         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11010         * src/NetworkManagerSystem.c
11011                 - Respect specified MTU.  Gnome #344967
11012
11013 2006-08-07  Dan Williams  <dcbw@redhat.com>
11014
11015         * src/vpn-manager/nm-vpn-service.c
11016                 - Simplify print_vpn_config() arguments
11017
11018         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11019         * src/vpn-manager/Makefile.am
11020           src/vpn-manager/nm-vpn-service.c
11021                 - Add new API for passing VPN config options as a dict. Gnome #344967
11022
11023 2006-08-06  Dan Williams  <dcbw@redhat.com>
11024
11025         * gnome/applet/applet-dbus-devices.c
11026           gnome/applet/applet-dbus-vpn.c
11027           gnome/applet/applet-dbus.c
11028           gnome/applet/applet-dbus.h
11029           src/nm-dbus-nmi.c
11030           utils/nm-utils.c
11031           utils/nm-utils.h
11032                 - Make pending call tracking code generic,
11033                 so we can use it in NM as well as the applet
11034
11035 2006-08-06  Dan Williams  <dcbw@redhat.com>
11036
11037         * src/nm-activation-request.c
11038                 - Refcount pending call objects
11039
11040 2006-08-06  Dan Williams  <dcbw@redhat.com>
11041
11042         Patch from Christan Chiesa <christanc@gmail.com>
11043         * configure.in
11044                 - Tell sha1.c to use bigendian mode on PPC
11045
11046 2006-08-04  Robert Love  <rml@novell.com>
11047
11048         Glib Memory Slices!
11049         * configure.in: Require glib 2.10 or later.
11050         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11051           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11052           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11053           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11054           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11055           Memory Slices are the greatest thing since bread slices.
11056         * src/NetworkManagerAP.c: Also, fix memory leak.
11057
11058 2006-08-01  Robert Love  <rml@novell.com>
11059
11060         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11061
11062 2006-07-31  Robert Love  <rml@novell.com>
11063
11064         * src/backends/interface_parser.c: Declarations must begin the block.
11065
11066 2006-07-24  Dan Williams  <dcbw@redhat.com>
11067
11068         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11069         * src/backends/Makefile.am
11070           src/backends/NetworkManagerArch.c
11071           src/backends/NetworkManagerDebian.c
11072           src/backends/NetworkManagerGeneric.c
11073           src/backends/NetworkManagerGeneric.h
11074           src/backends/NetworkManagerGentoo.c
11075           src/backends/NetworkManagerPaldo.c
11076           src/backends/NetworkManagerRedHat.c
11077           src/backends/NetworkManagerSlackware.c
11078           src/backends/NetworkManagerSuSE.c
11079                 - Genericize common backend functions
11080
11081 2006-07-18  Robert Love  <rml@novell.com>
11082
11083         * configure.in: Add "--with-notify" option to allow disabling of
11084           libnotify support.
11085
11086 2006-07-13  Dan Williams  <dcbw@redhat.com>
11087
11088         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11089         * gnome/applet/applet.glade
11090           gnome/applet/Makefile.am
11091           gnome/applet/nm-gconf-wso.c
11092           gnome/applet/nm-gconf-wso-leap.c
11093           gnome/applet/nm-gconf-wso-leap.h
11094           gnome/applet/wireless-security-manager.c
11095           gnome/applet/wso-leap.c
11096           gnome/applet/wso-leap.h
11097           include/NetworkManager.h
11098           libnm-util/dbus-helpers.c
11099           libnm-util/dbus-helpers.h
11100           src/Makefile.am
11101           src/NetworkManagerAP.c
11102           src/nm-ap-security.c
11103           src/nm-ap-security-leap.c
11104           src/nm-ap-security-leap.h
11105                 - Add LEAP authentication support
11106
11107 2006-07-13  Dan Williams  <dcbw@redhat.com>
11108
11109         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11110         * configure.in
11111           src/backends/NetworkManagerArch.c
11112           src/backends/NetworkManagerDebian.c
11113           src/backends/NetworkManagerGentoo.c
11114           src/backends/NetworkManagerPaldo.c
11115           src/backends/NetworkManagerRedHat.c
11116           src/backends/NetworkManagerSlackware.c
11117           src/backends/NetworkManagerSuSE.c
11118                 - Convert hardcoding of 'ip' path to configure-time
11119                         detected one
11120
11121 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11122
11123         * configure.in: added ru to ALL_LINGUAS
11124
11125 2006-07-10  Dan Williams  <dcbw@redhat.com>
11126
11127         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11128         * src/nm-device.c
11129                 - (real_act_stage3_ip_config_start): don't infinite loop when
11130                         dhcdbd isn't running (Gnome #346845)
11131
11132 2006-07-09  Dan Williams  <dcbw@redhat.com>
11133
11134         * gnome/applet/applet.c
11135                 - (nma_destroy): don't pass NULL to notify_notification_close
11136                         (RH #197917)
11137
11138 2006-07-09  Dan Williams  <dcbw@redhat.com>
11139
11140         * gnome/applet/applet.c
11141                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11142
11143 2006-07-04  Tor Krill  <tor@krill.nu>
11144
11145         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11146         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11147         (nm_system_restart_mdns_responder), (ArchReadConfig),
11148         (nm_system_device_get_system_config):
11149                 - Explicitly check for DHCP configuration
11150                 - Check if daemons are running before starting them
11151
11152 2006-06-25  Dan Williams  <dcbw@redhat.com>
11153
11154         * libnm-util/dbus-dict-helpers.[ch]
11155           test/libnm-util/test-dbus-dict-helpers.c
11156                 - Add string array support
11157
11158 2006-06-24  Dan Williams  <dcbw@redhat.com>
11159
11160         * src/dhcp-manager/nm-dhcp-manager.c
11161                 - (nm_dhcp_manager_process_signal): clean up spacing
11162
11163 2006-06-21  Dan Williams  <dcbw@redhat.com>
11164
11165         * src/nm-dbus-device.c
11166                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11167                         through dbus
11168
11169 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11170
11171         * configure.in: Added 'lv' to ALL_LINGUAS
11172
11173 2006-06-19  Dan Williams  <dcbw@redhat.com>
11174
11175         * src/NetworkManagerAP.c
11176                 - Clarify usage of user_created
11177
11178         * src/nm-ap-security-wep.c
11179           src/nm-ap-security-wpa-eap.c
11180           src/nm-ap-security-wpa-psk.c
11181           src/nm-ap-security.c
11182           src/nm-ap-security.h
11183                 - s/user_created/adhoc, because we really do mean adhoc
11184
11185         Patch from Bernard Blackham <bernard@blackham.com.au>
11186         * src/nm-device-802-11-wireless.c         
11187                 - (supplicant_send_network_config): instead of user_created,
11188                         use adhoc, and do AP_SCAN 2 for adhoc networks
11189
11190 2006-06-18  Robert Love  <rml@novell.com>
11191
11192         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11193           we have a value to set.  Gconf generates a warning if `val' is NULL.
11194         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11195           unless we actually received a valid private key file passphrase or
11196           password.  Otherwise, we don't know to later ask the applet to pull
11197           the key from the keyring.
11198
11199 2006-06-17  Dan Williams  <dcbw@redhat.com>
11200
11201         * libnm-util/dbus-dict-helpers.[ch]
11202           test/libnm-util/test-dbus-dict-helpers.c
11203                 - Fixes for zero-length byte arrays
11204                 - Replace return values of 0 with FALSE for clarity
11205                 - Test zero-length byte arrays
11206
11207 2006-06-17  Dan Williams  <dcbw@redhat.com>
11208
11209         * libnm-util/dbus-dict-helpers.[ch]
11210           test/libnm-util/test-dbus-dict-helpers.c
11211                 - Add helpers for byte arrays
11212                 - Rework bits of the testcase
11213
11214 2006-06-16  Dan Williams  <dcbw@redhat.com>
11215
11216         * libnm-util/Makefile.am
11217         * libnm-util/dbus-dict-helpers.[ch]
11218                 - Add some helpers to take the pain out of using dict types in
11219                         dbus.
11220
11221         * test/libnm-util/Makefile.am
11222         * test/libnm-util/test-dbus-dict-helpers.c
11223                 - Test cases for the dict helper functions
11224
11225 2006-06-15  Robert Love  <rml@novell.com>
11226
11227         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11228           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11229           if there is no key to pass.
11230         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11231           receiving a non-NULL key.
11232
11233 2006-06-14  Robert Love  <rml@novell.com>
11234
11235         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11236           copy the strings.
11237
11238
11239 2006-06-14  Dan Williams  <dcbw@redhat.com>
11240
11241         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11242         * src/nm-device-802-11-wireless.c
11243                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11244                         or ones where the driver is unknown
11245                 - (supplicant_exec): don't wait for supplicant startup here
11246                 - (supplicant_interface_init): finer grained polling for supplicant
11247                         startup
11248
11249 2006-06-13  Robert Love  <rml@novell.com>
11250
11251         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11252           if it is currently set to TRUE.  Otherwise, we will reset the value
11253           when we connect normally.
11254         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11255           the old BSSID is valid, too.  The recently added ESSID check may not be
11256           sufficient (we can remove it?).  What we really want to catch is the
11257           case of going from all-zeros to the BSSID of some other network, which
11258           happens on failure.
11259
11260 2006-06-09  Dan Williams  <dcbw@redhat.com>
11261
11262         * src/NetworkManagerSystem.[ch]
11263                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11264                         it was unused and pointless
11265                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11266                         fix for set_up_down_with_iface change
11267
11268         * src/vpn-manager/nm-vpn-connection.c
11269                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11270
11271         * src/backends/NetworkManagerPaldo.c
11272           src/backends/NetworkManagerRedHat.c
11273           src/backends/NetworkManagerSuSE.c
11274           src/backends/NetworkManagerArch.c
11275           src/backends/NetworkManagerDebian.c
11276           src/backends/NetworkManagerGentoo.c
11277                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11278                         appropriate
11279                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11280                         where appropriate
11281
11282 2006-06-09  Dan Williams  <dcbw@redhat.com>
11283
11284         Patch from Peter Jones:
11285         * src/nm-device-802-11-wireless.c
11286                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11287                         SSID hasn't changed from what we expect before automatically
11288                         updating the saved BSSID from a new AP
11289
11290 2006-06-08  Robert Love  <rml@novell.com>
11291
11292         Add 'fallback' support.  NetworkManager will attempt to brute-force
11293         connect to networks marked as fallback if there are no better wireless
11294         connections available.  This is useful as a method of last resort, to
11295         work around driver problems, and for use with hidden networks.
11296         * gnome/applet/applet-dbus-devices.c,
11297           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11298         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11299           pass it on via DBUS.
11300         * gnome/applet/applet.c: No fallback by default.
11301         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11302           Update other-network-dialog to add UI checkbox toggling fallback.
11303         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11304           propery from AP object.  Add "fallback" property to AP object.
11305         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11306         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11307         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11308           separate function.  Add get_best_fallback_ap() for returning an AP
11309           on which to attempt fallback.
11310         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11311         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11312
11313 2006-06-07  Robert Love  <rml@novell.com>
11314
11315         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11316           checked that the return type was GCONF_VALUE_STRING, not the correct
11317           GCONF_VALUE_BOOL, and thus it never worked.
11318         * src/NetworkManagerAPList.c: Before concluding that two networks are
11319           identical based on their BSSID, make sure that the BSSID in question
11320           is actually valid.  Specifically, an empty or all zero BSSID does not
11321           cut it.
11322         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11323           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11324           similar invariant clean up.
11325
11326 2006-06-02  Robert Love  <rml@novell.com>
11327
11328         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11329
11330 2006-05-28  Dan Williams  <dcbw@redhat.com>
11331
11332         * gnome/applet/applet.glade
11333           gnome/vpn-properties/nm-vpn-properties.glade
11334                 - Set window icons on dialogs  (Gnome.org #333420)
11335
11336 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11337
11338         * gnome/vpn-properties/nm-vpn-properties.glade:
11339         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11340         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11341         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11342                 - Make the VPN properties pages prettier and more HIG
11343                   compliant. Gnome Bug #336913.
11344
11345 2006-05-28  Dan Williams  <dcbw@redhat.com>
11346
11347         Patch from Christian Persch <chpe@gnome.org>
11348         * gnome/vpn-properties/nm-vpn-properties.c
11349         * gnome/vpn-properties/nm-vpn-properties.glade
11350                 - HIG-ification love  (Gnome.org #336846)
11351
11352 2006-05-28  Dan Williams  <dcbw@redhat.com>
11353
11354         Patch from Christian Persch <chpe@gnome.org>
11355         * configure.in
11356           gnome/vpn-properties/nm-vpn-properties.c
11357                 - (main): Fix option parsing.  Gnome.org #336847
11358
11359 2006-05-28  Dan Williams  <dcbw@redhat.com>
11360
11361         * gnome/vpn-properties/nm-vpn-properties.c
11362                 - (find_vpn_ui_by_service_name): protect against NULL service names
11363                 - (update_edit_del_sensitivity): protect against NULL service names
11364                         Gnome.org #341306
11365
11366 2006-05-28  Dan Williams  <dcbw@redhat.com>
11367
11368         Patch from Chris Fuller <crf@grandecom.net>:
11369         * src/nm-device-802-11-wireless.c
11370                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11371                         don't dispose of wireless-specific stuff unless it is actually
11372                         initialized.  Gnome.org #341263
11373
11374 2006-05-28  Dan Williams  <dcbw@redhat.com>
11375
11376         * src/NetworkManagerPolicy.c
11377                 - (nm_policy_device_change_check): don't switch devices if the "best"
11378                         AP is essentially the same as the current activation request, but
11379                         the current activation request isn't done activating yet.  Fixes
11380                         multiple requests for keyring password on startup for Gnome applet.
11381                         Gnome.org #341297
11382
11383 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11384
11385         * src/NetworkManager.c: use GOptions instead of getopt
11386         * configure.in: bump glib required version to >= 2.6 for GOption
11387           support
11388
11389 2006-05-25  Robert Love  <rml@novell.com>
11390
11391         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11392           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11393           instead of dumping ifdef's throughout the code.
11394         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11395           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11396           use nm_ioctl_info() in lieu.
11397
11398 2006-05-25  Robert Love  <rml@novell.com>
11399
11400         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11401         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11402           not using gcrypt.  Otherwise, we get a linker error.
11403
11404 2006-05-25  Robert Love  <rml@novell.com>
11405
11406         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11407         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11408           configure flag to disable building of the GNOME-based applet.
11409
11410 2006-05-25  Robert Love  <rml@novell.com>
11411
11412         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11413           parameter from link, because it shadows a global variable with some
11414           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11415           should never have exported to the entire system a common four letter
11416           word.  But we here at NetworkManager are team players.  Fixes
11417           GNOME bug #336532.
11418
11419 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11420
11421         * configure.in: Added mk.po, Macedonian translation.
11422
11423 2006-05-24  Robert Love  <rml@novell.com>
11424
11425         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11426           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11427           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11428
11429 2006-05-24  Robert Love  <rml@novell.com>
11430
11431         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11432           libnm-util/Makefile.am, src/Makefile.am,
11433           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11434           vpn-daemons/openvpn/properties/Makefile.am,
11435           vpn-daemons/pptp/auth-dialog/Makefile.am,
11436           vpn-daemons/pptp/properties/Makefile.am,
11437           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11438           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11439           user passed for --datadir, if anything, when setting the GNOME locale
11440           directory.  It should be a function of the specified datadir and not
11441           the prefix.
11442
11443 2006-05-24  Robert Love  <rml@novell.com>
11444
11445         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11446           src/NetworkManager.c: Take care to call bindtextdomain with the
11447           location of msgid files.
11448         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11449           files.
11450
11451 2006-05-22  Robert Love  <rml@novell.com>
11452
11453         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11454           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11455           99% of the time there is a real problem with wireless, and a
11456           seemingly successful connection via Zeroconf just confuses the user.
11457           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11458
11459 2006-05-22  Robert Love  <rml@novell.com>
11460
11461         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11462           autofs on interface up if NIS is configured.  On interface down, do
11463           nothing.
11464
11465 2006-05-22  Robert Love  <rml@novell.com>
11466
11467         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11468           to avoid calling g_object_unref() on stale pointers on error in
11469           nma_icons_free().  This happens because we short-circuit loaded the
11470           icons on the first failure but then free all icons.  Normally we have
11471           no issue because the icons were zero'ed out malloc, but we have stale
11472           pointer data after nma_icon_theme_changed().
11473         * gnome/applet/main.c: Return error code if nma_new() failed.
11474
11475 2060-05-21  Dan Williams  <dcbw@redhat.com>
11476
11477         * initscript/NetworkManager.in
11478                 - Ensure both dhcdbd and named are started before NM
11479
11480 2006-05-21  Dan Williams  <dcbw@redhat.com>
11481
11482         * configure.in
11483                 - Bump version to 0.7 to signify we are in 0.7 development
11484
11485 2006-05-21  Dan Williams  <dcbw@redhat.com>
11486
11487         Patch from Adam Schreiber <sadam@clemson.edu>
11488         * gnome/vpn-properties/nm-vpn-properties.c
11489                 - (main): correct Gnome program name  (gnome.org #342498)
11490
11491 2006-05-21  Dan Williams  <dcbw@redhat.com>
11492
11493         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11494
11495         * src/NetworkManagerDbus.[ch]
11496                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11497                         clarify that function's argument should be an escaped dbus object
11498                         path, and look for path segment end before returning a match
11499         * src/nm-dbus-nm.c:
11500                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11501
11502 2006-05-17  Robert Love  <rml@novell.com>
11503
11504         Functionality to differentiate Ad-Hoc networks from infrastructure
11505         networks in the applet, by displaying a special icon:
11506         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11507         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11508         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11509           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11510           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11511           networks, encrypted or not.
11512         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11513           accessor functions to get and set the mode of a given network,
11514           wireless_network_get_mode() and wireless_network_set_mode().
11515
11516 2006-05-17  Robert Love  <rml@novell.com>
11517
11518         Functionality to automatically add BSSIDs to the allowed-MAC list as
11519         one roams from access point to access point on a given network:
11520         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11521           helper function to compare two ether_addr structures and return TRUE
11522           if they contain the same MAC address.
11523         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11524           prototype.
11525         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11526           stored with the current AP.  If the BSSID has indeed changed, we
11527           send it out to the applet, allowing the allowed-MAC list to grow
11528           automatically in response to roaming.
11529
11530 2006-05-16  Robert Love  <rml@novell.com>
11531
11532         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11533           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11534
11535 2006-05-13  Dan Williams  <dcbw@redhat.com>
11536
11537         * src/nm-device-802-3-ethernet.c
11538                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11539                         carrier detect (Debian bug #366373)
11540
11541 2006-05-11  Dan Williams  <dcbw@redhat.com>
11542
11543         Patch from Michael Biebl <biebl@teco.edu>
11544         * src/backends/NetworkManagerDebian.c
11545                 - Debian backend fixups
11546
11547 2006-05-10  Robert Love  <rml@novell.com>
11548
11549         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11550
11551 2006-05-09  Robert Love  <rml@novell.com>
11552
11553         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11554           private certificate passphrase, if any, in the GNOME Keyring.
11555         * libnm-utils/dbus-helpers.c: Update.
11556
11557 2006-05-05  Dan Williams  <dcbw@redhat.com>
11558
11559         * src/nm-device-802-11-wireless.c
11560                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11561                         nm_device_802_11_wireless_disable_encryption() since that's all
11562                         we use it for anymore; we don't ever set WEP keys ourselves.
11563                 - (real_deactivate_quickly): reset SSID and encryption keys
11564                 - (real_deactivate): move SSID and encryption key reset to
11565                         real_deactivate_quickly(), which gets run before us anyway
11566
11567 2006-05-05  Robert Love  <rml@novell.com>
11568
11569         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11570           root has a wacky default of its own (or, more common, a user has a
11571           bad umask and uses su/sudo to restart NetworkManager).  Anything
11572           other than 0022 does not do what we want with, for example,
11573           resolv.conf.  This problem is amplified by our judicious use of
11574           fopen(), which uses mode 0666 -- implying that the only way to get
11575           the permissions we want is with a umask of 0022.
11576
11577 2006-05-05  Dan Williams  <dcbw@redhat.com>
11578
11579         * gnome/libnm_glib/libnm_glib.c
11580                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11581                         to reconnect; instead wait a bit more with each reconnect attempt
11582                         up to a max of one minute.
11583
11584 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11585
11586         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11587           the WirelessNetwork structure using the proper function instead of
11588           just casting it directly to (const char *) (gnome.org #336991)
11589
11590 2006-05-03  Robert Love  <rml@novell.com>
11591
11592         * src/backends/NetworkManagerSuSE.c: Respect the variable
11593           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11594           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11595           to dynamically update /etc/resolv.conf.
11596
11597 2006-05-02  Peter Jones  <pjones@redhat.com>
11598
11599         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11600
11601 2006-05-02  Robert Love  <rml@novell.com>
11602
11603         Patch by Timo Hoenig;
11604         * tests/nm-online.c: Print pretty status indicator as timeout winds
11605           down.  Also fix possible race between DBUS startup and failure
11606           return.
11607
11608 2006-05-01  Robert Love  <rml@novell.com>
11609
11610         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11611           empty, too.
11612
11613 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11614
11615         * src/nm-device.c (discover_device_type): Actually use the hal
11616         device type instead of ioctl poking
11617
11618 2006-04-26  Robert Love  <rml@novell.com>
11619
11620         * tests/nm-online.c: New file.  Simple utility that returns exit status
11621           noting whether the connection is offline or online.  If offline on
11622           start, it waits 30 seconds (or a command-line given value) for an
11623           online signal.  If it times out, it again returns offline.  This is
11624           useful for scripts that want to wait for network connections.
11625
11626 2006-04-25  Robert Love  <rml@novell.com>
11627
11628         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11629           key mode (the authentication algorithm), e.g. open or shared, when we
11630           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11631           only shared was broken.  If the user specified a shared key, set it
11632           explicitly, otherwise let wpa_supplicant go with the default.
11633
11634 2006-04-24  Dan Williams  <dcbw@redhat.com>
11635
11636         * src/nm-device-802-11-wireless.c
11637                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11638
11639 2006-04-24  Dan Williams  <dcbw@redhat.com>
11640
11641         Commit the async scanning patch
11642
11643         * src/nm-device-802-11-wireless.c
11644                 - get rid of scan_mutex
11645                 - (wireless_event_helper): act on wireless scan events
11646                 - (real_start): schedule a pending scan
11647                 - (link_to_specific_ap): fake the link to the AP during a scan
11648                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11649                         strength during scans
11650                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11651                         nm_device_set_bitrate): unused with new scanning code, disable
11652                 - (nm_device_wireless_schedule_scan): removed
11653                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11654                 - (request_and_convert_scan_results): new function; retrieve scan
11655                         results from the driver and schedule the processing function
11656                 - (scan_results_timeout): timeout triggered when card doesn't send
11657                         a scan results wireless event during a certain interval
11658                 - (schedule_scan_results_timeout): new function; schedule the scan
11659                         results timeout
11660                 - (cancel_scan_results_timeout): new function; cancel the scan
11661                         results timeout
11662                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11663                         to do the scanning.  Otherwise, just request a scan but don't
11664                         grab results here; instead schedule a timeout for scan results and
11665                         let netlink notify us of scan completion events
11666                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11667                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11668                 - (supplicant_status_cb): ignore disconnect events while scanning
11669                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11670                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11671                         timeouts
11672                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11673
11674 2006-04-24  Dan Williams  <dcbw@redhat.com>
11675
11676         * gnome/applet/applet-dbus.c
11677                 - Disable the pending call debug stuff, seems under control now
11678
11679 2006-04-20  Robert Love  <rml@novell.com>
11680
11681         Fix bug where hidden ESSID's would not show up in the applet, even
11682         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11683         because nm_policy_device_list_update_from_allowed_list() would merge
11684         the data, putting a name to the hidden networks, but never notify NMI
11685         of the changes.  Simple fix is to invoke the function
11686         nm_dbus_signal_wireless_network_change() if we make a mapping.
11687         * src/NetworkManagerAPList.c: Call the function
11688           nm_dbus_signal_wireless_network_change() if we made a successful
11689           BSSID to ESSID mapping, notifying the applet of the "new" network.
11690         * src/NetworkManagerAPList.h: Update the prototypes for both
11691           nm_ap_list_copy_essids_by_address() and
11692           nm_ap_list_copy_one_essid_by_address().
11693
11694 2006-04-20  Robert Love  <rml@novell.com>
11695
11696         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11697           not set.  Just return zero.
11698
11699 2006-04-20  Robert Love  <rml@novell.com>
11700
11701         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11702           only one copy of nm-vpn-properties is running at a time via the 'ol
11703           X selection trick.  This prevents the user from opening two "VPN
11704           Connections" windows from within the applet, which leads to mass
11705           hysteria.
11706         * clipboard.c: New file, implementing simple X selection logic.
11707         * clipboard.h: New file.
11708         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11709
11710 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11711
11712         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11713         * configure.in
11714           initscript/Gentoo/Makefile.am
11715           initscript/Gentoo/NetworkManagerDispatcher.in
11716                 - New script
11717         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11718           Gentopia
11719
11720 2006-04-16  Dan Williams  <dcbw@redhat.com>
11721
11722         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11723         * configure.in
11724           initscript/Slackware/Makefile.am
11725           initscript/Slackware/rc.networkmanager-dispatcher.in
11726           initscript/Slackware/rc.networkmanager.in
11727                 - Update slackware initscripts
11728
11729 2006-04-10  Robert Love  <rml@novell.com>
11730
11731         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11732           the "delete_event" signal on the druid's parent window and handle it
11733           our way, lest using the WM to close the druid results in a series of
11734           bloody and ultimately lethal errors.
11735
11736 2006-04-10  Robert Love  <rml@novell.com>
11737
11738         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11739           'Back' too or else the 'Forward' option is initially disabled despite
11740           valid input.
11741
11742 2006-04-06  Robert Love  <rml@novell.com>
11743
11744         Fix bad but simple bug where an active modem connection did not update
11745         NM's connection state, breaking any app that did online/offline:
11746         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11747           represented whether a dial up connection is active, or not.
11748         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11749           to modem activation and deactivation.
11750         * src/NetworkManagerDbus.c: When asked our state, do not return
11751           disconnected if the modem is active.
11752
11753 2006-04-04  Robert Love  <rml@novell.com>
11754
11755         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11756           applet.  It just confuses the crap out of people and does not make a
11757           lot of sense, as the daemon still runs.
11758
11759 2006-04-02  Tor Krill  <tor@krill.nu>
11760
11761         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11762           in start of service.
11763         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11764           get Archlinux backend up to date.
11765
11766 2006-03-29  Robert Love  <rml@novell.com>
11767
11768         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11769         to add support for per-route MSS and improve support for per-interface
11770         MTU:
11771         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11772           optionally take an MSS parameter and set it for the given route.
11773           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11774           NMIP4Config's stored MSS, if any.
11775         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11776           the interface's MTU and the route's MSS, respectively.  Add functions
11777           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11778           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11779           MSS.
11780         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11781           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11782           nm_ip4_config_set_mss.
11783         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11784           VPN daemon.
11785         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11786           Change the retval of nm_system_get_mtu to guint32.
11787         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11788           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11789           servers can specify MTU's, we should set it here if the MTU was not
11790           provided.
11791
11792 2006-03-27  Jürg Billeter  <j@bitron.ch>
11793
11794         * configure.in:
11795         * initscript/Makefile.am:
11796         * initscript/paldo/Makefile.am:
11797         * initscript/paldo/NetworkManager.in:
11798         * initscript/paldo/NetworkManagerDispatcher.in:
11799         * src/backends/Makefile.am:
11800         * src/backends/NetworkManagerPaldo.c:
11801                 - Add paldo support
11802
11803 2006-03-27  Dan Williams  <dcbw@redhat.com>
11804
11805         Patch from Christian Persch <chpe@gnome.org>
11806         * gnome/applet/applet.glade
11807                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11808
11809 2006-03-27  Dan Williams  <dcbw@redhat.com>
11810
11811         Patch from Diffe <diffie@blazebox.homeip.net>
11812         * src/backends/NetworkManagerSlackware.c
11813                 - Don't restart howl, since it's been replaced by Avahi
11814                         in most distributions
11815
11816 2006-03-27  Dan Williams  <dcbw@redhat.com>
11817
11818         Patch from Tor Krill <bugzilla@krill.nu>
11819         * configure.in
11820           initscript/Makefile.am
11821           src/backends/Makefile.am
11822           src/backends/NetworkManagerArch.c
11823           initscript/Arch/Makefile.am
11824           initscript/Arch/networkmanager-dispatcher.in
11825           initscript/Arch/networkmanager.in
11826                 - Add Arch Linux support, fixes gnome.org #335147
11827
11828 2006-03-27  Dan Williams  <dcbw@redhat.com>
11829
11830         Patch from Diffe <diffie@blazebox.homeip.net>
11831      * initscript/Slackware/rc.networkmanager
11832         - update, fixed gnome.org #333368
11833
11834 2006-03-27  Robert Love  <rml@novell.com>
11835
11836         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11837           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11838
11839 2006-03-27  Robert Love  <rml@novell.com>
11840
11841         Patch by Jürg Billeter <j@bitron.ch>:
11842         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11843           systems.
11844         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11845           as we prefer glibc over kernel headers, if possible.
11846
11847 2006-03-27  Robert Love  <rml@novell.com>
11848
11849         Patch by Jon Escombe <list@dresco.co.uk>:
11850         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11851         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11852           fail, don't bail out.  We don't expect all of the various WPA-EAP
11853           values to be present.
11854         * src/nm-ap-security.c: We need to match all capabilities for each
11855           encryption type, not any one of them.
11856
11857 2006-03-27  Robert Love  <rml@novell.com>
11858
11859         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11860           restart, not reload, ypbind.  Unfortunately there is no superior
11861           solution.
11862
11863 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11864
11865         * gnome/applet/applet-notifications.c:
11866         When displaying a notification, make sure to get rid of the
11867         previous notification so as to not have competing bubbles,
11868         and stop leaking the old one.
11869
11870         * gnome/applet/applet.c:
11871         * gnome/applet/applet.h:
11872         Add a new 'notification' member to the applet, and zero it out
11873         and free it appropriately.
11874
11875 2006-03-23  Robert Love  <rml@novell.com>
11876
11877         Patch by j <j@bootlab.org>:
11878         * gnome/applet/applet.glade: Don't set the invisible_char property,
11879           which simply overrides the GTK default.  By and by, this behavior
11880           ought to be fixed in Glade.
11881
11882 2006-03-22  Robert Love  <rml@novell.com>
11883
11884         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11885
11886 2006-03-22  Robert Love  <rml@novell.com>
11887
11888         Bug fix by Timo Hoenig <thoenig@suse.de>:
11889         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11890           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11891           and the applet going AWOL.
11892
11893 2006-03-22  Robert Love  <rml@novell.com>
11894
11895         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11896           preprocessor define and use it instead of open-coded the DHCP
11897           timeout, which is currently 25 seconds, everywhere.
11898
11899 2006-03-22  Robert Love  <rml@novell.com>
11900
11901         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11902         key exchange via WPA, ostensibly providing good security without
11903         requiring hardware that supports full WPA.  Also, add UI elements to
11904         allow the user to select the pairwise & group cipher for WPA Enterprise
11905         networks, too:
11906         * gnome/applet/applet.glade: Update glade file.
11907         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11908           key type, too, to and from gconf.
11909         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11910           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11911           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11912           the capabilities match.
11913         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11914           prototype.
11915         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11916           serialize from UI to DBUS.
11917         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11918           one element.
11919         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11920           nmu_security_serialize_wpa_eap_with_cipher(), and
11921           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11922           serialize/deserialize the key type via DBUS as the new third DBUS
11923           parameter.
11924         * libnm-util/dbus-helpers.h: Update prototypes.
11925         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11926           too.  If the key type is WEP104, do Dynamic WEP, which means
11927           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11928           pairwise and group ciphers (fixes a FIXME).
11929
11930 2006-03-21  Robert Love  <rml@novell.com>
11931
11932         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11933           nm_system_get_mtu(), which returns a user-provided or system-mandated
11934           MTU value for a given device, if any, or zero if no such value
11935           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11936           if we have a provided value.
11937         * src/nm-device.c: Set the MTU of devices.
11938         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11939         * src/backends/NetworkManagerDebian.c,
11940           src/backends/NetworkManagerGentoo.c,
11941           src/backends/NetworkManagerRedHat.c,
11942           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11943
11944 2006-03-21  Robert Love  <rml@novell.com>
11945
11946         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11947           configuration file.
11948
11949 2006-03-17  Robert Love  <rml@novell.com>
11950
11951         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11952           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11953           it, in case it is not running in the first place.  We just want its
11954           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11955
11956 2006-03-15  Robert Love  <rml@novell.com>
11957
11958         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11959           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11960           label "WEP 40/128-bit" is inconsistent because the physical key size
11961           is 40 or 104-bits, to which a 24-bit initialisation vector is
11962           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11963           to read "40/104" or "64/128".  I do not care much which, but most
11964           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11965           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11966           WEP passphrase support only handles 128-bit keys, and any future
11967           64-bit passphrase support will require a new option (no way to auto-
11968           detect the target key size), explicitly label our passphrase support
11969           "WEP 128-bit Passphrase".
11970
11971 2006-03-15  Robert Love  <rml@novell.com>
11972
11973         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
11974           the system init scripts (or some other mechanism) starting it (or a
11975           compatible DBUS service) before NetworkManager runs.  This means that
11976           distributions might need to update their init scripts.  This fixes
11977           possible races and is quite a bit cleaner.
11978         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
11979           starting the NetworkManager daemon.
11980
11981
11982 2006-03-14  Robert Love  <rml@novell.com>
11983
11984         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
11985           before adding anything.
11986
11987 2006-03-13  Robert Love  <rml@novell.com>
11988
11989         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
11990           widgets, too, if they exist, in case the user hit the back button.
11991           Fixes a bug where the details page contains the widgets of multiple
11992           VPN modules (Novell bug #157048).
11993
11994 2006-03-13  Robert Love  <rml@novell.com>
11995
11996         Patch by Timo Hoenig <thoenig@suse.de>:
11997         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
11998           daemon survive DBUS restarts, too.
11999
12000 2006-03-10  Robert Love  <rml@novell.com>
12001
12002         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
12003           passphrase or key.
12004         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12005           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
12006           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
12007           in response to "toggled" signal on new toggle.
12008
12009 2006-03-10  Robert Love  <rml@novell.com>
12010
12011         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12012           serialization if strings are NULL, lest DBUS get angry.
12013
12014 2006-03-10  Robert Love  <rml@novell.com>
12015
12016         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12017
12018 2006-03-09  Robert Love  <rml@novell.com>
12019
12020         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12021           configurations.
12022
12023 2006-03-09  Dan Williams  <dcbw@redhat.com>
12024
12025         Track pending call requests in the applet, and report how many are
12026         outstanding, and how long each completed one takes.
12027         
12028         * gnome/applet/applet-dbus-devices.c
12029           gnome/applet/applet-dbus-vpn.c
12030                 - Track pending calls
12031
12032         * gnome/applet/applet-dbus.[ch]
12033                 - Remove some unused enums
12034                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12035                         new functions to track dbus pending calls and spit out some
12036                         statistics about them
12037
12038 2006-03-09  Robert Love  <rml@novell.com>
12039
12040         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12041           nm_ap_set_timestamp() take the second and micro-second parameters as
12042           direct arguments, which avoids both a dynamic memory allocation and a
12043           structure-to-structure copy!  Add a new interface, the aptly named
12044           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12045           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12046           the return from nm_ap_get_timestamp().  New users should use the new
12047           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12048           the extreme benefit to performance.
12049         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12050           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12051
12052 2006-03-08  Robert Love  <rml@novell.com>
12053
12054         * gnome/applet/applet.glade: Hide the password entry text with
12055           asterisks.
12056
12057 2006-03-08  Robert Love  <rml@novell.com>
12058
12059         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12060           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12061           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12062           a second argument, NMData.
12063         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12064         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12065           config files as trusted.
12066
12067 2006-03-06  Robert Love  <rml@novell.com>
12068
12069         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12070         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12071           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12072           Rivera, detect if the applet was auto-started.  If so, ask the user
12073           if he or she would like to stop automatically running the applet on
12074           login.  If so, disable autostart.
12075
12076 2006-03-06  Robert Love  <rml@novell.com>
12077
12078         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12079           directory in CFLAGS so developers can actually use NetworkManager.h.
12080
12081 2006-03-06  Robert Love  <rml@novell.com>
12082
12083         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12084           open-coded integer constants.  Add state_to_string() to map a given
12085           state to a textual description, and provide that when notifying of
12086           state change.
12087         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12088           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12089           this header directly, but it is currently not installed on most
12090           systems.
12091
12092 2006-03-05  Dan Williams  <dcbw@redhat.com>
12093
12094         Process netlink messages in device subclasses rather than in
12095         NetworkManager.c.  Also add support for recognizing Wireless Events.
12096         
12097         * configure.in
12098                 - Find GLIB_GENMARSHAL
12099
12100         * src/Makefile.am
12101                 - Since we're marshalling custom types for wireless event signals,
12102                         we get to create our own marshallers using GLIB_GENMARSHAL
12103
12104         * src/NetworkManager.c
12105                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12106                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12107                         cut down somewhat.  We no longer process signals here.
12108                 - (nm_data_new): create the netlink monitor here, and remove a
12109                         useless call to nm_policy_schedule_device_change_check()
12110                 - (nm_data_free): get rid of the netlink monitor here
12111                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12112                 - (main): don't create the netlink monitor here, let nm_data_new
12113                         do that.  Call nm_policy_schedule_device_change_check() right
12114                         before we jump to the mainloop to figure out which device
12115                         to use first
12116
12117         * src/NetworkManagerSystem.[ch]
12118                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12119                         convert back and forth from interface names to interface
12120                         indexes
12121
12122         * src/nm-device-802-11-wireless.c
12123                 - (real_init): connect to wireless-event signals from the netlink
12124                         monitor object
12125                 - (nm_device_802_11_wireless_event): new function, schedule handler
12126                         for wireless event signals from the netlink monitor object.  We
12127                         want the handler to run in the device's context
12128                 - (wireless_event_helper): handle wireless-event signals from netlink
12129                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12130                         signal handler
12131
12132         * src/nm-device-802-11-wireless.h
12133                 - remove unused prototype for nm_device_802_11_wireless_new
12134
12135         * src/nm-device-802-3-ethernet.c
12136                 - (real_init): new function; set up signal handlers for link events
12137                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12138                         handler for netlink link activated events on device's main loop
12139                 - (link_activated_helper): when we get a link activated event, set
12140                         the device's link to be active
12141                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12142                         handler for netlink link deactivated events on device's main loop
12143                 - (link_deactivated_helper): when we get a link deactivated event, set
12144                         the device's link to be inactive
12145                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12146                         dispose
12147
12148         * src/nm-device-802-3-ethernet.h
12149                 - remove unused prototype for nm_device_802_3_ethernet_new
12150
12151         * src/nm-device.[ch]
12152                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12153                         but locks the device list
12154                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12155
12156         * src/nm-netlink-monitor.[ch]
12157                 - (nm_netlink_monitor_class_install_signals): New signal
12158                         "wireless-event"
12159                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12160                         at the device list
12161                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12162
12163         * src/nm-marshal-main.c
12164                 - Include generated nm-marshal.c and nm-marshal.h
12165
12166         * src/nm-marshal.list
12167                 - List of custom marshal functions
12168
12169 2006-03-05  Dan Williams  <dcbw@redhat.com>
12170
12171         * gnome/applet/applet-notifications.h
12172                 - Protect prototype of nma_send_event_notification() because it
12173                         includes libnotify-specific types
12174                 - Include libnotify/libnotify.h too, since we technically need it
12175
12176         * gnome/applet/applet.c
12177                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12178                 - (nma_show_vpn_login_banner_dialog): add some error checking
12179
12180 2006-03-04  Dan Williams  <dcbw@redhat.com>
12181
12182         Clean up activation cancellation.  Should be a lot faster now.  Observed
12183         an issue with wireless devices between stage 2 and 3 of activation, where
12184         activation would be cancelled, but the device thread wouldn't notice until
12185         the supplicant association timed out.  Reorganize activation such that
12186         a cancellation handler gets immediately scheduled in the device's thread,
12187         and devices have a chance to perform any custom cleanup too.
12188
12189         * src/nm-device.[ch]
12190                 - (activation_cancel_handler): new device-type-specific function
12191                         for cleaning up device-type-specific stuff on cancellation
12192                 - (cancel_activation): removed
12193                 - (nm_device_activation_cancel): subsume functionality of
12194                         real_cancel_activation, but instead of doing anything, punt
12195                         operation to a handler that's run in device-thread context
12196                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12197                         a warning message
12198                 - (activation_handle_cancel_helper): cancellation handler run in
12199                         device-thread context, calls device-type-specific cancelation,
12200                         then tears down the activation request
12201                 - (real_activation_cancel_handler): generic cancellation handler,
12202                         deals with cancelling any in-process DHCP request
12203                 - (nm_device_activate_stage1_device_prepare,
12204                    nm_device_activate_stage2_device_config,
12205                    nm_device_activate_stage3_ip_config_start,
12206                    nm_device_activate_stage4_ip_config_get,
12207                    nm_device_activate_stage4_ip_config_timeout,
12208                    nm_device_activate_stage5_ip_commit): don't call
12209                         nm_device_schedule_activation_handle_cancel() any more, since
12210                         cancellation will have been already scheduled for us by
12211                         nm_device_activation_cancel().  Just exit the function and
12212                         assume that the cancel handler will be called next.
12213
12214         * src/nm-device-802-3-ethernet.c
12215                 - (real_act_stage2_config): remove; didn't do anything anyway
12216
12217         * src/nm-device-802-11-wireless.c
12218                 - (supplicant_status_cb): ensure we don't do anything if the activation
12219                         got cancelled
12220                 - (real_activation_cancel_handler): implement; cancel user key request
12221                         on activation cancellation
12222
12223 2006-03-04  Dan Williams  <dcbw@redhat.com>
12224
12225         * src/nm-device-802-11-wireless.c
12226                 - (supplicant_send_network_config): assume that drivers that don't
12227                         support WPA pretty much suck, and can't handle NM scanning
12228                         along with wpa_supplicant.
12229
12230 2006-03-03  Robert Love  <rml@novell.com>
12231
12232         * configure.in: Bump version to 0.6.0.
12233         * NEWS: Update.
12234
12235 2006-03-03  Robert Love  <rml@novell.com>
12236
12237         * configure.in: Require DBUS 0.60 or later.
12238
12239 2006-03-03  Dan Williams  <dcbw@redhat.com>
12240
12241         Fix a crash if an "Other wireless network" was chosen, failed, then
12242         chosen again from the applet's menu.  If the other network wasn't
12243         noticed in a scan, it wouldn't have any capabilities, but would still
12244         be listed because the user forced the network.  To fix this, we set
12245         sensible capabilities on the forced network, which will get overwritten
12246         with the correct ones if the network shows up later in a scan.
12247         
12248         * src/nm-ap-security.h
12249                 - Add a new "get_default_capabilities_func" member to the
12250                         NMAPSecurity class
12251
12252         * src/nm-ap-security.c
12253                 - (nm_ap_security_get_default_capabilities): new function
12254
12255         * src/nm-ap-security.c
12256           src/nm-ap-security-wep.c
12257           src/nm-ap-security-wpa-psk.c
12258           src/nm-ap-security-wpa-eap.c
12259                 - Implement get_default_capabilities_func() for all, which
12260                         uses the information contained in a specific NMAPSecurity
12261                         object to determine default AP capabilites necessary
12262                         to support that object
12263
12264         As a secondary measure, we now prune artificial access points that fail
12265         to be activated right away.  The thing failed, and we have no scan data for
12266         it, so it's pretty much useless since security information is only saved
12267         in the applets when a connection is successful.
12268
12269         * src/NetworkManagerAPList.c
12270                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12271                         not artificial.  If we see it, it's no longer a figment of the
12272                         user's imagination :)
12273
12274         * src/NetworkManagerPolicy.c
12275                 - (nm_policy_activation_failed): send along the failed AP if we
12276                         have it
12277
12278         * src/nm-device-802-11-wireless.c
12279                 - (real_activation_failure_handler): remove artificial APs from
12280                         the device list, because activation failed
12281
12282 2006-03-02  Robert Love  <rml@novell.com>
12283
12284         Add support for retrieving both the per-device speed and the
12285         per-network maximum supported rate.  Then change the getProperties
12286         DBUS API for both networks and devices to report this informaiton.
12287         Finally, display the information via both nm-applet and nm-tool:
12288         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12289           and set it.
12290         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12291           Information' dialog.
12292         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12293         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12294           network_device_get_speed() and network_device_set_speed() for
12295           retrieving and setting, respectively, a network device's current
12296           speed.
12297         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12298         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12299           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12300           not matter (yet) what the units are, because we only feed it its own
12301           output.  Implement SIOCGIRATE and set the per-network maximum
12302           supported rate during scanning.
12303         * src/nm-device-802-11-wireless.h: Export the function
12304           nm_device_802_11_wireless_get_bitrate().
12305         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12306           function nm_device_802_3_ethernet_get_speed() for returning an
12307           802.3's current speed, in Mb/s.
12308         * test/nm-tool.c: Display the per-device current speed, if available,
12309           and the per-network maximum rate.
12310
12311 2006-03-02  Dan Williams  <dcbw@redhat.com>
12312
12313         * src/nm-device-802-11-wireless.c
12314                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12315                         card when it gets initialized.  Since devices don't get added to
12316                         the scan list until they are initialized, this function wasn't
12317                         setting the intitial scan interval correctly, and was leaving
12318                         it at 0.  This caused cards to get many scan requests in a short
12319                         amount of time when they were initialized
12320
12321 2006-03-02  Robert Love  <rml@novell.com>
12322
12323         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12324           active device.  But do not do what we used to do and override the
12325           state, which caused the dreaded icon race of '05.
12326
12327 2006-03-02  Robert Love  <rml@novell.com>
12328
12329         Commit Dan's update of my previous commit:
12330         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12331           set_mode() function itself does the check.  But do only set the
12332           frequency if in Ad-Hoc mode.
12333
12334 2006-03-02  Robert Love  <rml@novell.com>
12335
12336         Patch by Brian Magnuson <magnuson@rcn.com>:
12337         * src/nm-device-802-11-wireless.c: During scanning, only set the
12338           wireless mode to infrastructure if it is not currently in
12339           infrastructure mode.  For some driver, setting the mode is a costly
12340           operation, apparently.
12341
12342 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12343
12344         * Makefile.am: use the correct dir for autostart mechanism.
12345
12346 2006-02-28  Dan Williams  <dcbw@redhat.com>
12347
12348         Patch from Brian Magnuson <magnuson@rcn.com>
12349         * gnome/applet/applet.c
12350                 - (nma_show_vpn_failure_dialog): fix errors left over from
12351                         libnotify support changes
12352
12353 2006-02-28  Dan Williams  <dcbw@redhat.com>
12354
12355         * src/vpn-manager/nm-vpn-act-request.[ch]
12356                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12357                         just one value
12358                 - (nm_vpn_act_request_is_failed): new function; return whether or
12359                         not the vpn activation request has failed
12360
12361         * src/vpn-manager/nm-vpn-manager.c 
12362                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12363                         daemon to kill the connection when the activation request fails.
12364                         Fixes issue where NM would get confused if the VPN activation
12365                         request timed out, and would not allow further VPN connections
12366                         on that service.
12367
12368 2006-02-28  Dan Williams  <dcbw@redhat.com>
12369
12370         * gnome/applet/applet.c
12371                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12372                         overlapping connection requests, disable all VPN menu items
12373                         but the active VPN connection
12374
12375 2006-02-28  Dan Williams  <dcbw@redhat.com>
12376
12377         * src/vpn-manager/nm-vpn-connection.c
12378                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12379                         called g_object_unref() on the connection's parent device
12380                         when it should have been ref-ed instead.  Fixes crash with
12381                         repeated vpn connect requests
12382
12383 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12384
12385         * gnome/applet/applet.glade:
12386         Mark a few strings non-translatable, since they shouldn't be.
12387
12388 2006-02-28  Dan Williams  <dcbw@redhat.com>
12389
12390         * src/vpn-manager/nm-vpn-service.c
12391                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12392                         already running, don't blindly ask it to connect, but wait until
12393                         it's in the STOPPED state first.  Fixes an assertion when user
12394                         starts a second vpn connection without stopping the first.
12395                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12396                         dbus service exists before continuing with the connection
12397                         process, and reduce latency while waiting for it to become
12398                         available
12399                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12400                         waiting for the vpn service daemon to become available
12401                 - General log message cleanups; show progress via "Stage x of 4"
12402                         rather than not telling anyone how many stages there are
12403
12404 2006-02-28  Robert Love  <rml@novell.com>
12405
12406         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12407         * src/backends/NetworkManagerSuSE.c: Implement the interface
12408           nm_system_should_modify_resolv_conf() for SUSE.
12409         * src/backends/NetworkManagerDebian.c,
12410           src/backends/NetworkManagerGentoo.c,
12411           src/backends/NetworkManagerRedHat.c,
12412           src/backends/NetworkManagerSlackware.c: Add stub.
12413         * src/named-manager/Makefile.am: Grab includes from src.
12414         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12415           automatic updating of resolv.conf.  This is useful for testing,
12416           broken static configurations, and administrator lock-down.
12417
12418 2006-02-28  Dan Williams  <dcbw@redhat.com>
12419
12420         * src/nm-device-802-11-wireless.c
12421                 - Move all the wpa_supplicant-related management stuff into its
12422                         own struct, just for oranization's sake
12423                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12424                         to a GIOChannel/GSource
12425                 - (supplicant_log_stdout): new function; grab output from the
12426                         wpa_supplicant stdout pipe and write it to our logs.
12427
12428 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12429
12430         * src/nm-device-802-11-wireless.c:
12431         Err, fix thinko in my previous commit.
12432
12433 2006-02-28  Robert Love  <rml@novell.com>
12434
12435         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12436
12437 2006-02-28  Robert Love  <rml@novell.com>
12438
12439         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12440           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12441           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12442           deserializers are responsible for freeing the returned DBUS strings.
12443
12444 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12445
12446         * src/nm-device-802-11-wireless.c:
12447         The scan list is being pruned prematurely.  We should prune after
12448         the device has gone MIA for three scans, not one.  Split out the
12449         interval to realtime seconds function to better serve this.
12450
12451 2006-02-27  Robert Love  <rml@novell.com>
12452
12453         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12454           Open the pid file O_TRUNC, so if it already exists we truncate it to
12455           zero length.  Also, be more verbose about warnings generated during
12456           writing out the pid file.  Finally, always write out the pid file if
12457           in daemon mode.  Use "--pid-file" to override the default.
12458
12459 2006-02-27  Robert Love  <rml@novell.com>
12460
12461         Patch by R. Vinay <rvinay@novell.com>:
12462         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12463           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12464           Novell bug #153628).
12465           
12466 2006-02-27  Robert Love  <rml@novell.com>
12467
12468         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12469           entry so user can hit <ENTER> after entering passphrase (Novell bug
12470           #153738).
12471
12472 2006-02-27  Dan Williams  <dcbw@redhat.com>
12473
12474         * gnome/applet/*
12475                 - Mass search/replace of:
12476                         nmwa -> nma
12477                         NMWirelessApplet -> NMApplet
12478                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12479                    (it ain't just for wireless anymore, ma!)
12480                 - Fix duplicate function name printing when using nm_warning
12481                 - wireless-applet.glade -> applet.glade
12482
12483 2006-02-27  Dan Williams  <dcbw@redhat.com>
12484
12485         * dispatcher-daemon/NetworkManagerDispatcher.c
12486                 - Accept --pid-file with a path to a pidfile, write it out on
12487                         startup, and delete it on shutdown
12488
12489         * src/NetworkManager.c
12490                 - Accept --pid-file with a path to a pidfile, write it out on
12491                         startup, and delete it on shutdown
12492                 - Move nm_print_usage() lower
12493
12494         * initscripts/RedHat/NetworkManager.in
12495                 - Use new --pid-file option
12496                 - Fix service stopping to wait a bit for NM to quit
12497
12498         * initscripts/RedHat/NetworkManagerDispatcher.in
12499                 - Use new --pid-file option
12500
12501 2006-02-26  Dan Williams  <dcbw@redhat.com>
12502
12503         * src/Makefile.am
12504                 - make and install nm-crash-logger
12505
12506         * src/nm-logging.[ch]
12507                 - New files; consolidate logging and crash handling
12508
12509         * src/nm-crash-logger.c
12510           src/gdb-cmd
12511                 - Standalong crashlogger for NM, grab a backtrace
12512                         using GDB
12513
12514         * src/NetworkManager.[ch]
12515                 - Remove signal handling and put it into nm-logging.c
12516
12517 2006-02-26  Dan Williams  <dcbw@redhat.com>
12518
12519         * configure.in
12520           gnome/applet/Makefile.am
12521                 - Conditionalize all the notify stuff
12522
12523         Merge most of Chris Aillon's notification patch:
12524         
12525         * gnome/applet/applet-notifications.[ch]
12526                 - New files; show a notification
12527         
12528         * gnome/applet/applet-dbus-devices.[ch]
12529                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12530                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12531                         new functions, do the right thing when a device change occurs
12532
12533         * gnome/applet/applet-dbus.c
12534                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12535                         signals, so we can handle them specially
12536
12537         * gnome/applet/applet.[ch]
12538                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12539                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12540                 - (nmwa_notify_state): remove
12541                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12542                         notification work is now done when the appropriate dbus signals
12543                         are received.
12544                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12545                         defer execution of the notification/dialog stuff.  That was an
12546                         artifact of the previous multi-threaded nature of the applet
12547                         and is now pointless.
12548                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12549                         no longer needed.  Function folded into applet-notifications.c
12550
12551         * src/NetworkManagerPolicy.c
12552                 - (nm_policy_activation_finish): send the AP along with the device
12553                         status change signal, if the connection is wireless.  Should
12554                         fix the race where applet would show a connection to "unknown"
12555
12556 2006-02-25  Robert Love  <rml@novell.com>
12557
12558         Add WPA Enterprise support:
12559         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12560           nm-gconf-wso-wpa-eap.h.
12561         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12562           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12563           serialization and deserialization.
12564         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12565           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12566           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12567         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12568           settings related to WPA Enterprise.
12569         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12570           instantiate WPA Enterprise wireless-security-option.
12571         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12572           Implement WPA Enterprise wireless-security-option object.
12573         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12574           defines.  Cleanup.
12575         * libnm-util/cipher-wpa-psk-hex.c,
12576           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12577         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12578           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12579           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12580           including the cipher to DBUS method, and
12581           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12582           to output.
12583         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12584           nm-ap-security-wpa-eap.h
12585         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12586           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12587         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12588           files.  Implement NMAPSecurityWPA_EAP object.
12589         * src/nm-ap-security-wpa-psk.c: Cleanup.
12590         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12591           an NMAPSecurityWPA_EAP object via the method
12592           nm_ap_security_wpa_eap_new_deserialize().
12593         * src/nm-dbus-nm.c: Cleanup.
12594         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12595           WPA Enterprise support.
12596
12597 2006-02-24  Robert Love  <rml@novell.com>
12598
12599         Patch from Timo Hoenig <thoenig@suse.de>:
12600         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12601
12602 2006-02-24  Robert Love  <rml@novell.com>
12603
12604         Patch from Dan Winship <danw@novell.com>:
12605         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12606           area to transparent.
12607
12608 2006-02-21  Dan Williams  <dcbw@redhat.com>
12609
12610         * gnome/applet/applet.[ch]
12611           gnome/applet/applet-dbus.c
12612                 - Implement notification support for VPN messages too
12613
12614 2006-02-21  Dan Williams  <dcbw@redhat.com>
12615
12616         * gnome/applet/applet-dbus-info.c
12617                 - Clean up warning messages to not double-print the function
12618
12619 2006-02-21  Dan Williams  <dcbw@redhat.com>
12620
12621         * gnome/applet/applet-compat.c
12622                 - (convert_one_entry): accept entries without a key_type and
12623                         convert them to unencrypted networks
12624
12625 2006-02-21  Dan Williams  <dcbw@redhat.com>
12626
12627         * gnome/libnm_glib/libnm_glib.c
12628                 - Use __func__ everywhere we can
12629                 - Code cleanups
12630                 - Use dbus pending calls rather than blocking
12631                 - Reduce busywaits for our thread to start and stop
12632                         (gnome.org #330562)
12633                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12634                         stomp on others using the default shared dbus connection.
12635                         Fixes #rh177546# and gnome.org #326572
12636
12637 2006-02-21  Dan Williams  <dcbw@redhat.com>
12638
12639         Patch from Rodney Dawes <dobey@novell.com>
12640         * configure.in
12641           gnome/applet/Makefile.am
12642           gnome/applet/applet.c
12643                 - Add libnotify support if '--enable-notify=yes' is passed
12644                   at configure time
12645
12646 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12647
12648         * configure.in (ALL_LINGUAS): ko added. (Korean)
12649
12650 2006-02-15  Robert Love  <rml@novell.com>
12651
12652         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12653           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12654           and WPA_SUPPLICANT_CONTROL_SOCKET.
12655         
12656 2006-02-15  Robert Love  <rml@novell.com>
12657
12658         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12659           information about what connection stage we are at, provide the total
12660           number of stages, e.g. "Stage 2 of 5", so users know how far along
12661           they are if they experience problems.
12662
12663 2006-02-15  Robert Love  <rml@novell.com>
12664
12665         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12666           define to $sysconfdir.
12667         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12668           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12669           type of VPN and then editing another results in a mangled dialog
12670           box containing the widgets from both VPNs (fixes Novell #150854).
12671           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12672
12673 2006-02-14  Robert Love  <rml@novell.com>
12674
12675         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12676           syslog's file descriptor.
12677
12678 2006-02-14  Robert Love  <rml@novell.com>
12679
12680         Fix bug around since the change to "deal with APs changing settings on
12681         us," checked in on the fifth of February in the year of the dog, 
12682         wherein connecting to non-broadcast encrypted networks always fails
12683         because nm_ap_get_encrypted() always returns FALSE, even when the user
12684         provided a key, because the newly-created fake AP does not have any
12685         capabilities set, which is a sypmtom of security settings not matching
12686         capabilities (Novell bug #150784):
12687         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12688           nm_ap_add_capabilities_from_security(), which sets the given AP's
12689           capabilities off the given security settings.  Also improve our
12690           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12691           NM_AUTH_CIPHER_AUTO.
12692         * src/nm-device-802-11-wireless.c: Call the function
12693           nm_ap_add_capabilities_from_security() to ensure that capabilities
12694           match newly updated security settings.
12695
12696 2006-02-14  Robert Love  <rml@novell.com>
12697
12698         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12699           error as a string, not an integer, if possible; do not print the
12700           function name twice; always give the interface, if possible; misc.
12701           cleanup.
12702
12703 2006-02-12  Dan Williams  <dcbw@redhat.com>
12704
12705         Patch from Tom Parker <palfrey@tevp.net>
12706         * src/NetworkManagerSystem.h
12707                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12708                         no longer used
12709
12710         * src/backends/NetworkManagerDebian.c
12711                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12712                         unused variables
12713
12714 2006-02-12  Dan Williams  <dcbw@redhat.com>
12715
12716         * vpn-daemons/openvpn/intltool-extract.in
12717           vpn-daemons/openvpn/intltool-merge.in
12718           vpn-daemons/openvpn/intltool-update.in
12719           vpn-daemons/pptp/intltool-extract.in
12720           vpn-daemons/pptp/intltool-merge.in
12721           vpn-daemons/pptp/intltool-update.in
12722                 - Remove from CVS, they should get created by intltoolize,
12723                         shouldn't they?
12724
12725 2006-02-12  Dan Williams  <dcbw@redhat.com>
12726
12727         * vpn-daemons/pptp/src/pppd/patchlevel.h
12728         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12729                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12730                         Makefile-defined VERSION
12731
12732 2006-02-09  Dan Williams  <dcbw@redhat.com>
12733
12734         Patch from: Vinay A R <rvinay@novell.com>
12735         * src/vpn-manager/nm-vpn-act-request.[ch]
12736                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12737                         IPSec VPNs require them for std gateway.
12738                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12739                         and 'user_routes_count'
12740                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12741                         defined routes  from NMVPNActRequest object, returns the string
12742                         array of routes.
12743
12744         * src/vpn-manager/nm-vpn-manager.[ch]
12745                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12746                         for 'user_routes' and 'user_routes_count'
12747         
12748         * src/vpn-manager/nm-dbus-vpn.c
12749                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12750                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12751         
12752         * src/vpn-manager/nm-vpn-service.c
12753                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12754                         the vpn daemon
12755
12756         Modifications by Dan:
12757         * src/vpn-manager/nm-vpn-service.c
12758                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12759                         arrays into dbus
12760
12761         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12762         * vpn-daemons/pptp/src/nm-pptp-service.c
12763         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12764                 - Grab user routes from dbus message
12765                 - Free all string arrays we got from dbus
12766
12767 2006-02-07  Robert Love  <rml@novell.com>
12768
12769         Patch by Stefan Seyfried <seife@suse.de>:
12770         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12771
12772 2006-02-06  Robert Love  <rml@novell.com>
12773
12774         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12775
12776 2006-02-06  Robert Love  <rml@novell.com>
12777
12778         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12779           test ">=" is never false.  If no newline is found, we loop forever.
12780           We can just check for ">" because the following if() will see the
12781           zero-th argument if the while() gets that far.
12782
12783 2006-02-05  Dan Williams  <dcbw@redhat.com>
12784
12785         Refine handling of non-broadcast networks.
12786
12787         * src/NetworkManagerAPList.c
12788                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12789                         property from scanned AP to the AP from the device list
12790
12791         * src/nm-device-802-11-wireless.c
12792                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12793                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12794                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12795                         networks since those don't have APs.
12796                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12797                         AP as non-SSID-broadcasting
12798                 - (process_scan_results): don't handle non-SSID-broadcasting here
12799
12800 2006-02-05  Dan Williams  <dcbw@redhat.com>
12801
12802         * src/nm-device-802-11-wireless.c
12803                 - (get_supplicant_timeout): new function; return
12804                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12805                         14 channels.  These are likely a/b/g cards, like Atheros, and
12806                         slow as hell to scan.
12807                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12808                         get_supplicant_timeout()
12809
12810 2006-02-05  Dan Williams  <dcbw@redhat.com>
12811
12812         * src/dhcp-manager/nm-dhcp-manager.c
12813                 - Loose a commit race with Robert; make sure size check
12814                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12815
12816 2006-02-05  Robert Love  <rml@novell.com>
12817
12818         Patch by Christoph Brill <chrisbrill@gmx.net>:
12819         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12820           with DHCP_SERVICE_NAME.
12821
12822 2006-02-05  Dan Williams  <dcbw@redhat.com>
12823
12824         Remove anything having to do with device_setup_func from the
12825         AP security objects, since it's no longer used.
12826
12827         * src/nm-ap-security.h
12828                 - Kill device_setup_func and nm_ap_security_device_setup()
12829
12830         * src/nm-ap-security-wep.c
12831           src/nm-ap-security-wpa-psk.c
12832                 - (real_device_setup): remove
12833
12834         * src/nm-ap-security.c
12835                 - (real_device_setup): remove
12836                 - (nm_ap_security_device_setup): remove
12837
12838         * src/nm-device-802-11-wireless.[ch]
12839                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12840                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12841                         and done by wpa_supplicant now anyway
12842
12843 2006-02-05  Dan Williams  <dcbw@redhat.com>
12844
12845         * src/nm-device-802-11-wireless.c
12846                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12847                         settings on us.  Previously NM would loop asking for the
12848                         key but getting the same one back.  Now, if the NMI-supplied
12849                         cipher doesn't overlap with the scanned AP capabilities,
12850                         we request a completely new key from the user.
12851
12852 2006-02-05  Dan Williams  <dcbw@redhat.com>
12853
12854         * src/NetworkManagerUtils.c
12855                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12856                         Handle newline killing better
12857
12858 2006-02-05  Dan Williams  <dcbw@redhat.com>
12859
12860         * gnome/applet/nm-gconf-wso.c
12861                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12862                         of unencrypted access point security info.
12863
12864 2006-02-03  Robert Love  <rml@novell.com>
12865
12866         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12867           user's encryption key, so we print the err_msg_cmd not the command,
12868           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12869           sense.
12870
12871 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12872
12873         * initscript/RedHat/NetworkManagerDispatcher.in:
12874         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12875         Patch from Dan Walsh <dwalsh@redhat.com>
12876
12877 2006-02-03  Robert Love  <rml@novell.com>
12878
12879         * dispatcher-daemon/NetworkManagerDispatcher.c,
12880           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12881           but use the sysconfdir.
12882
12883 2006-02-03  Robert Love  <rml@novell.com>
12884
12885         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12886           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12887           'char *'.
12888         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12889           nm_ip4_config_get_hostname() and
12890           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12891         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12892           leak g_strdup() result.
12893
12894 2006-02-03  Robert Love  <rml@novell.com>
12895
12896         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12897           broadcast == TRUE.  Also, copy broadcast and artificial properties
12898           from source network to destination in nm_ap_copy().
12899         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12900           since we now default new networks to non-hidden.
12901
12902 2006-02-03  Dan Williams  <dcbw@redhat.com>
12903
12904         * gnome/applet/main.c
12905                 - (main): change the NEVER->ALWAYS so we start at the
12906                         beginning of the session, if being session-managed
12907
12908 2006-02-03  Dan Williams  <dcbw@redhat.com>
12909
12910         * gnome/applet/main.c
12911                 - (main): in a variation on Robert's patch, change
12912                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12913                         he wants.
12914
12915 2006-02-02  Robert Love  <rml@novell.com>
12916
12917         * src/Makefile.am: If we aren't going to create the run directory at,
12918           uh, run-time, create it during install.  Then users just doing
12919           'make install' are cool, too.  While we are here, create the
12920           dispatcher.d directory, too.
12921         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12922           the exact run directory.
12923         * Makefile.am: Install nm-applet.desktop.
12924
12925 2006-02-02  Robert Love  <rml@novell.com>
12926
12927         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12928           structure, which denotes whether or not the AP is hidden.  This is a
12929           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12930           can show up in the scan list.  Add nm_ap_get_broadcast() and
12931           nm_ap_set_broadcast() accessor interfaces.
12932         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12933           nm_ap_set_broadcast().
12934         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12935           "getProperties" method, which denotes whether or not the given
12936           network is hidden.
12937         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12938           an artificial network.  Set broadcast to TRUE when scanning returns
12939           an ESSID and FALSE when not.
12940         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12941           from "getProperties" method on a network.  Possible TODO is to
12942           somehow display this.
12943         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12944
12945 2006-02-02  Dan Williams  <dcbw@redhat.com>
12946
12947         * src/nm-device-802-11-wireless.c
12948                 - (supplicant_interface_init): don't try to create
12949                         /var/run/NetworkManager, since that should be done by
12950                         the distro package.  Causes problems for stuff like SELinux
12951
12952 2006-02-02  Robert Love  <rml@novell.com>
12953
12954         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12955         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12956           Check for and handle empty string for iface.
12957
12958 2006-02-01  Robert Love  <rml@novell.com>
12959
12960         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12961           manpage.
12962
12963 2006-01-31  Dan Williams  <dcbw@redhat.com>
12964
12965         * nm-applet.desktop
12966                 - Add --sm-disable to Exec arguments, presuming that when
12967                         using autostart, we don't want session management
12968
12969 2006-01-31  Robert Love  <rml@novell.com>
12970
12971         * src/NetworkManagerAP.c: Add two new manufacturer default network
12972           names: linksys-a and linksys-g.  These are found (at least) on the
12973           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
12974           own ESSID.
12975
12976 2006-01-31  Robert Love  <rml@novell.com>
12977
12978         * src/NetworkManagerAP.c: Optimize the function
12979           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
12980           machine code.  This is the first in a series of code tweaks aiming to
12981           generate better machine code and make NetworkManager all the better.
12982           Just kidding.  Who has time to go through the assembly generated for
12983           every function?  I certainly don't.  I have a wife, a kid, a job,
12984           a mortgage, a mistress.  But this function was so bad, I was called
12985           to arms.  Like the book.
12986
12987 2006-01-31  Robert Love  <rml@novell.com>
12988
12989         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
12990           AP is not broadcasting, to scan with probe request frames.  Required
12991           for non-broadcast networks.
12992
12993 2006-01-31  Robert Love  <rml@novell.com>
12994
12995         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
12996           preprocessor define (still 20s).  Fix message text in nm_info()
12997           s/too too/took too/.
12998
12999 2006-01-30  Dan Williams  <dcbw@redhat.com>
13000
13001         * src/nm-device-802-11-wireless.c
13002                 - (supplicant_monitor_start): increase connect/auth timeout to
13003                         20 seconds from 10 seconds
13004
13005 2006-01-30  Dan Williams  <dcbw@redhat.com>
13006
13007         * src/Makefile.am
13008                 - Define LOCALSTATEDIR
13009
13010         * src/nm-device-802-11-wireless.c
13011                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13012                         socket where we want it to
13013
13014         * src/wpa_ctrl.[ch]
13015                 - (wpa_ctrl_open): accept location to put local control socket
13016
13017 2006-01-30  Robert Love  <rml@novell.com>
13018
13019         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13020           get_ip4_string() for "domain_name".
13021
13022 2006-01-30  Robert Love  <rml@novell.com>
13023
13024         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13025           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13026           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13027           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13028           support for "Automatic" pairwise and group cipher configuration by
13029           letting wpa_supplicant handle the details.  Add UI elements, new
13030           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13031           charm.  Note this does more than add a nice feature, it fixes a bug.
13032           Apparently, some people have AP's where the pairwise cipher does not
13033           match the group cipher.  Insane, but true.
13034
13035 2006-01-30  Dan Williams  <dcbw@redhat.com>
13036
13037         * gnome/applet/applet-dbus-devices.c
13038                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13039                         functions, grab device driver name from NetworkManager
13040                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13041
13042         * gnome/applet/applet.c
13043                 - (nmwa_update_info): show driver name in Connection Information
13044                         dialog
13045
13046         * gnome/applet/nm-device.[ch]
13047                 - (network_device_get_driver, network_device_set_driver): add
13048                         accessors for driver name
13049
13050         * gnome/applet/wireless-applet.glade
13051                 - Add line for driver name to Connection Information dialog
13052
13053         * src/nm-dbus-device.c
13054                 - (nm_dbus_device_get_driver): new function to return driver name
13055                 - (nm_dbus_device_methods): hook up driver name function to dbus
13056
13057         * test/nm-tool.c
13058                 - (get_driver_name): new function
13059                 - (detail_device): grab and show driver name
13060
13061 2006-01-30  Robert Love  <rml@novell.com>
13062
13063         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13064           does not parse the markup if it is not part of the format.
13065
13066 2006-01-30  Robert Love  <rml@novell.com>
13067
13068         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13069           FALSE, we have no security options for this dialog, so we throw up
13070           an error dialog instead of a broken passphrase dialog.  Fixes
13071           Novell #138404.
13072         * gnome/applet/wireless-security-manager.c,
13073           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13074           does not add any security options, not even NONE, print a warning
13075           and return FALSE.  This let's functions constructing a dialog bail
13076           out if the device's capabilities and the network's requirements have
13077           zero overlap.
13078
13079 2006-01-27  Robert Love  <rml@novell.com>
13080
13081         * configure.in: Require wpa_supplicant.  Detect location of binary and
13082           use it.  Override with "--with-wpa_supplicant=foo".
13083         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13084           path to wpa_supplicant but use the auto-detected or user-provided
13085           value from configure.
13086
13087 2006-01-27  Robert Love  <rml@novell.com>
13088
13089         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13090           but the DHCP server did not return a hostname, try to look up our
13091           name via DNS and set the system hostname to that.
13092
13093 2006-01-27  Dan Williams  <dcbw@redhat.com>
13094
13095         * src/backends/NetworkManagerRedHat.c
13096                 - Add NM_CONTROLLED system network script support for RH/Fedora
13097
13098 2006-01-27  Dan Williams  <dcbw@redhat.com>
13099
13100         * src/backends/NetworkManagerGentoo.c
13101                 - (nm_system_device_get_disabled): add missing function.
13102                         Gnome BZ #328780
13103
13104 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13105
13106         * configure.in: Added vi in ALL_LINGUAS line.
13107         
13108 2006-01-26  Robert Love  <rml@novell.com>
13109
13110         * src/Makefile.am, src/kernel-types.h: Now that two different source
13111           files are feeling the crack-addled leakage of kernel types such as
13112           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13113           types in user-space -- define a header and include it as needed.
13114         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13115         * src/nm-device-802-3-ethernet.h: Remove defines.
13116         * src/wpa.c: Remove defines and include kernel-types.h.
13117
13118 2006-01-26  Robert Love  <rml@novell.com>
13119
13120         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13121           work.
13122
13123 2006-01-26  Robert Love  <rml@novell.com>
13124
13125         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13126         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13127           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13128           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13129           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13130           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13131           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13132           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13133           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13134           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13135           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13136           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13137           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13138           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13139           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13140           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13141           Kill unused variables, labels, and static functions.  Don't pass
13142           string literals as the format string for printf-like functions.
13143
13144 2006-01-25  Dan Williams  <dcbw@redhat.com>
13145
13146         * gnome/applet/wireless-applet.glade
13147                 - Remove WPA2 Checkbox
13148
13149         * gnome/applet/wireless-security-manager.c
13150                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13151                         This means the Wireless Security menu now has two WPA options,
13152                         one for "WPA Personal" and one for "WPA2 Personal"
13153
13154         * gnome/applet/wso-wpa-psk.[ch]
13155                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13156                         'wpa2' argument to determine WPA version to use
13157                 - (append_dbus_params_func): pass stored WPA version to cipher
13158                         rather than using the (removed) checkbox
13159
13160 2006-01-24  Robert Love  <rml@novell.com>
13161
13162         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13163           before we g_strdup(), not the ultimate string.
13164
13165 2006-01-23  Dan Williams  <dcbw@redhat.com>
13166
13167         * src/NetworkManagerAP.[ch]
13168                 - (nm_ap_new_from_ap): copy original essid too
13169                 - (nm_ap_unref): free original essid
13170                 - (nm_ap_get_orig_essid): new function
13171                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13172                         but keep original essid around too
13173
13174         * src/nm-device-802-11-wireless.c
13175                 - (supplicant_send_network_config): send wpa_supplicant the
13176                         _original_ essid, and not as a string, but in hex.  Should
13177                         allow us to connect to more APs that use wierd character
13178                         encodings for their essids
13179
13180         * utils/nm-utils.[ch]
13181                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13182                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13183                         use the current locale as a hint for what encoding the essid
13184                         might be in.  Obviously not 100% accurate, but the idea here is
13185                         that if a user's locale is ex. ja_JP, they are more likely than
13186                         not to be in Japan, where access points will likely be in some
13187                         Japanese encoding.
13188
13189 2006-01-23  Dan Williams  <dcbw@redhat.com>
13190
13191         * libnm-util/cipher-private.h
13192           libnm-util/cipher.c
13193           libnm-util/cipher.h
13194                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13195
13196 2006-01-23  Robert Love  <rml@novell.com>
13197
13198         Patch by Timo Hoenig <thoenig@suse.de>:
13199         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13200           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13201           by DHCP and pass it to the backends, allowing distribution-specific
13202           behavior with respect to the DHCP-supplied hostname (if nothing else,
13203           some distributions might not want to set the hostname).
13204         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13205           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13206           Also update our NIS behavior.
13207         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13208           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13209           Add stub functions.
13210
13211 2006-01-23  Robert Love  <rml@novell.com>
13212
13213         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13214           gnome-session does autostart.  TODO: We need to install this to
13215           $prefix/share/autostart/.
13216
13217 2006-01-22  Dan Williams  <dcbw@redhat.com>
13218
13219         * src/NetworkManagerAP.[ch]
13220           src/nm-dbus-nmi.c
13221           src/nm-device-802-11-wireless.c         
13222                 - Make nm_ap_get_essid return "const char *"
13223
13224 2006-01-22  Dan Williams  <dcbw@redhat.com>
13225
13226         * src/NetworkManagerAP.[ch]
13227                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13228
13229         * src/NetworkManagerAPList.[ch]
13230                 - (nm_ap_list_diff): removed
13231                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13232                         deal with access points changing essids on us
13233
13234         * src/nm-device-802-11-wireless.c
13235                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13236                         src/NetworkManagerAPList.c
13237                 - (real_can_interrupt_activation): new function; allow interruption
13238                         of device activation if we are waiting for a network key
13239
13240         * src/NetworkManagerPolicy.c
13241                 - (nm_policy_device_change_check): allow interruption of currently
13242                         activating devices if the device allows it.  Previous behavior
13243                         would refuse to activate a just-plugged wired device if a
13244                         wireless device was waiting for a key.
13245
13246         * src/nm-device.[ch]
13247                 - (nm_device_can_interrupt_activation): new function; ask devices
13248                         whether their activation can be interrupted
13249
13250 2006-01-20  Robert Love  <rml@novell.com>
13251
13252         * Makefile.am, configure.in: Add new man subdirectory.
13253         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13254           man/Makefile.am: Add man pages for NetworkManager and its
13255           crime-solving bumbling buddy, NetworkManagerDispatcher.
13256         * man/.cvsignore: Add.
13257         * initscript/Debian/NetworkManager,
13258           initscript/Gentoo/NetworkManager.in,
13259           initscript/RedHat/NetworkManager.in,
13260           initscript/RedHat/NetworkManagerDispatcher.in,
13261           initscript/SUSE/networkmanager-dispatcher.in,
13262           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13263
13264 2006-01-20  Robert Love  <rml@novell.com>
13265
13266         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13267           instead of queuing.  This prevents the running of multiple NM
13268           daemons concurrently, which does not work whatsoever and results in
13269           neither daemon working correctly.  Also, we don't handle queuing and
13270           name-owner-changes, anyhow.
13271
13272 2006-01-20  Robert Love  <rml@novell.com>
13273
13274         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13275         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13276           to sbin, not bin.
13277
13278 2006-01-19  Robert Love  <rml@novell.com>
13279
13280         * configure.in: Require hal 0.5.0 or later.
13281
13282 2006-01-18  Robert Love  <rml@novell.com>
13283
13284         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13285           Allow backends to flag a device (in whatever distro-dependent way
13286           they so desire) as disabled.  NM will ignore any such device.
13287         * src/backends/NetworkManagerDebian.c,
13288           src/backends/NetworkManagerRedHat.c,
13289           src/backends/NetworkManagerSlackware.c: Add stub function
13290           nm_system_device_get_disabled() that always returns FALSE (enabled).
13291         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13292           SUSE-specific configuration structure.  Fill it in from the
13293           NM_CONTROLLED variable in the system networking scripts.  If this var
13294           exists and is "no", we ignore the device.
13295
13296 2006-01-17  Robert Love  <rml@novell.com>
13297
13298         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13299           identical for NM.  For a full discussion, see the thread at
13300           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13301
13302 2006-01-17  Dan Williams  <dcbw@redhat.com>
13303
13304         * src/nm-device.c
13305                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13306                         function.  Fixes crash when wired DHCP fails.
13307
13308 2006-01-16  Robert Love  <rml@novell.com>
13309
13310         * src/Makefile.am: Don't install NMLoadModules
13311         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13312           from src/ to test/ as no one uses it anymore.  Note that I would be
13313           fine with removing it altogether.
13314
13315 2006-01-16  Robert Love  <rml@novell.com>
13316
13317         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13318           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13319           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13320           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13321           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13322           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13323           declarations, ever.
13324         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13325           NM_STATE_DISCONNECTED is zero).
13326
13327 2006-01-16  Robert Love  <rml@novell.com>
13328
13329         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13330           uninitialized parameter and buffer overflow.  Novell #143496.
13331
13332 2006-01-16  Dan Williams  <dcbw@redhat.com>
13333
13334         Apply the PtP Address bits of a patch from Tim Niemueller
13335
13336         * src/nm-ip4-config.[ch]
13337                 - Add ip4_ptp_address member to object
13338                 - (nm_ip4_config_copy): copy ptp address too
13339                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13340                         new functions
13341                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13342                         rather than local tunnel ip address
13343
13344         * src/vpn-manager/nm-vpn-service.c
13345                 - (print_vpn_config): update for PtP address
13346                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13347                         DBusMessageIters in preparation for getting routes from the VPN
13348                         service daemons too
13349
13350         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13351                 - (send_config_info): update for PtP address, clean up code
13352                 - (main): update for PtP address, clean up code, fix typo
13353
13354         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13355                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13356
13357         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13358                 - (pptp_ip_up): update for PtP address
13359
13360         * vpn-daemons/pptp/src/nm-pptp-service.c
13361                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13362
13363         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13364                 - (print_vpn_config): update for PtP address
13365                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13366
13367 2006-01-16  Dan Williams  <dcbw@redhat.com>
13368
13369         * gnome/applet/applet.c
13370                 - (nmwa_add_networks_helper): don't indicate an active network
13371                         if NM is disconnected or asleep
13372
13373 2006-01-16  Dan Williams  <dcbw@redhat.com>
13374
13375         * src/NetworkManagerPolicy.c
13376                 - (nm_policy_device_change_check): switch devices if we lose the link
13377                         on an ethernet device. 
13378
13379 2006-01-16  Dan Williams  <dcbw@redhat.com>
13380
13381         * gnome/applet/wso-wpa-psk-hex.[ch]
13382                 - Renamed -> wso-wpa-psk.[ch]
13383
13384         * gnome/applet/wso-wpa-psk.[ch]
13385                 - New files
13386
13387         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13388                 - Removed, rolled into wso-wpa-psk.[ch]
13389
13390         * gnome/applet/Makefile.am
13391                 - Updated for above changes
13392
13393         * gnome/applet/wireless-applet.glade
13394                 - Consolidate WPA-PSK options into one notebook
13395                         widget, and make dialogs invisible by default
13396                         to fix screen oddities
13397
13398         * gnome/applet/wireless-security-manager.c
13399                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13400                         than both the old hex & passphrase ones
13401
13402 2006-01-16  Dan Williams  <dcbw@redhat.com>
13403
13404         * gnome/applet/other-network-dialog.c
13405                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13406
13407 2006-01-16  Dan Williams  <dcbw@redhat.com>
13408
13409         * gnome/applet/applet.c
13410                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13411                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13412                         prevention to realize window before trying to get server
13413                         time
13414
13415         * gnome/applet/other-network-dialog.c
13416                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13417                         prevention to realize window before trying to get server
13418                         time
13419
13420         * gnome/applet/passphrase-dialog.c
13421                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13422                         prevention to realize window before trying to get server
13423                         time
13424
13425 2006-01-16  Robert Love  <rml@novell.com>
13426
13427         Patch from Timo Hoenig  <thoenig@suse.de:
13428         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13429           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13430           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13431           libnm-util/dbus-helpers.h: add checks whether headers are used
13432           within a C++ build.
13433
13434 2006-01-16  Dan Williams  <dcbw@redhat.com>
13435
13436         * gnome/applet/wireless-security-option.c
13437                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13438
13439 2006-01-16  Dan Williams  <dcbw@redhat.com>
13440
13441         * libnm-util/cipher-wpa-psk-passphrase.c
13442                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13443                         be 8 - 63 characters inclusive
13444
13445 2006-01-16  Dan Williams  <dcbw@redhat.com>
13446
13447         * src/nm-dbus-nm.c
13448                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13449
13450 2006-01-13  Robert Love  <rml@novell.com>
13451
13452         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13453         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13454           modules that do not use an interface.
13455
13456 2006-01-13  Dan Williams  <dcbw@redhat.com>
13457
13458         * src/nm-device.c
13459           src/nm-device.h
13460                 - Allow subclasses to implement deactivate_quickly()
13461                 - (nm_device_deactivate_quickly): call subclass
13462                         deactivate_quickly() methods
13463                 - (nm_device_set_active_link): small cleanups, and don't
13464                         deactivate the device right away because we risk a deadlock
13465                         when called from device thread, waiting for the device
13466                         thread to cancel activation
13467
13468         * src/nm-device-802-11-wireless.c
13469                 - (real_deactivate_quickly): new function
13470                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13471                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13472                         so that we kill the supplicant when we sleep too
13473                 - (supplicant_interface_init): work around naive naming attempts of
13474                         wpa_ctrl when naming sockets
13475
13476 2006-01-13  Dan Williams  <dcbw@redhat.com>
13477
13478         * src/nm-device-802-11-wireless.c
13479                 - (supplicant_cleanup): delete old device control sockets too
13480                 - (supplicant_get_device_socket_path): new function to consolidate
13481                         locations that need a path to a device's control socket
13482
13483 2006-01-12  Robert Love  <rml@novell.com>
13484
13485         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13486           description so that the description is unique for each
13487           pair (device,provider).  Fixes Novell #142773.
13488
13489 2006-01-12  Dan Williams  <dcbw@redhat.com>
13490
13491         * src/nm-device-802-11-wireless.c
13492                 - (supplicant_exec): ensure GError is correctly initialized
13493                         Reported by Diego González (gnome.org #326708)
13494
13495 2006-01-11  Robert Love  <rml@novell.com>
13496
13497         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13498           define if_mii(), open code the same results, and do so without any
13499           type punning.
13500
13501 2006-01-11  Robert Love  <rml@novell.com>
13502
13503         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13504           that wso_foo_new() returned non-NULL.  Instead, only append the new
13505           wso to wsm->options if the wso is non-NULL.  The crux is that we
13506           assume that the relevant key types are implied by WEP and WPA as
13507           appropriate.  To be sure, they should be, but we should not expect
13508           drivers to not be oozing piles of wolf fecal matter.
13509
13510 2006-01-11  Robert Love  <rml@novell.com>
13511
13512         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13513         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13514           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13515           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13516           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13517           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13518           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13519         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13520           comparing values within DBL_EPSILON.  Also fix shadowed variable
13521           usage.
13522
13523 2006-01-11  Dan Williams  <dcbw@redhat.com>
13524
13525         Add options for WPA2 and WPA1+CCMP (AES).
13526
13527         * gnome/applet/wireless-applet.glade
13528                 - Add UI bits for WPA+CCMP
13529
13530         * gnome/applet/other-network-dialog.c
13531                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13532                         and don't allow creation of WPA2 Ad-Hoc networks since
13533                         wpa_supplicant doesn't support them
13534
13535         * gnome/applet/wireless-security-manager.c
13536                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13537                         on to the specific wireless security option being created
13538
13539         * gnome/applet/wireless-security-option.[ch]
13540                 - (wso_wpa_create_key_type_model): new utility function to create
13541                         the model required for WPA Key Type combo box
13542
13543         * gnome/applet/wso-private.h
13544           gnome/applet/wireless-security-option.h
13545                 - Move private function prototypes into wso-private.h
13546
13547         * gnome/applet/wso-wpa-psk-hex.[ch]
13548           gnome/applet/wso-wpa-psk-passphrase.[ch]
13549                 - (append_dbus_params_func): get WPA version from checkbox and pass
13550                         it to the dbus serialization helper
13551                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13552                         key type combo changes
13553                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13554                         model and options
13555
13556         * libnm-util/cipher-wpa-psk-hex.c
13557           libnm-util/cipher-wpa-psk-passphrase.c
13558                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13559                         new function; allow the cipher to be changed after object creation
13560
13561         * src/nm-ap-security-wpa-psk.c
13562                 - (set_description): Do WPA2 descriptions too
13563
13564         * src/nm-ap-security.c
13565                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13566
13567 2006-01-11  Robert Love  <rml@novell.com>
13568
13569         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13570           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13571           from the ifreq structure in lieu of an open coded solution.  Removes
13572           a life-threatening type-punning.
13573         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13574           types, ever, whatsoever, baby.
13575
13576 2006-01-11  Robert Love  <rml@novell.com>
13577
13578         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13579           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13580           assignments to applet->nm_state into a new nmwa_set_state() function
13581           for both cleanliness and to help debugging.
13582
13583 2006-01-10  Robert Love  <rml@novell.com>
13584
13585         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13586           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13587           seconds, exclusive.  That is, we want to sleep x seconds such that
13588           1 < x < 2.
13589
13590 2006-01-10  Robert Love  <rml@novell.com>
13591
13592         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13593           the attr fields according to the example in the email available at
13594           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13595           Conversely, we do have to free 'name', so we do so, fixing a leak.
13596
13597 2006-01-10  Robert Love  <rml@novell.com>
13598
13599         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13600           sure that we close the socket!
13601
13602 2006-01-10  Robert Love  <rml@novell.com>
13603
13604         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13605           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13606           src/nm-device.c: Fix a FIXME!  Reimplement the function
13607           nm_device_update_hw_address() in device subclass variants,
13608           nm_device_802_3_ethernet_set_address() and
13609           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13610           This fixes the existing bug where MAC addresses are all zeros.
13611
13612 2006-01-10  Robert Love  <rml@novell.com>
13613
13614         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13615           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13616           option to give users ability to globally disconnect and put NM to
13617           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13618           clean disconnect.
13619
13620 2006-01-09  Robert Love  <rml@novell.com>
13621
13622         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13623           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13624           User-space does not supply these types, so we have to define them
13625           ourselves.  The relevant kernel maintainer refused to accept a patch
13626           switching these headers to the proper C99 types.
13627
13628 2006-01-09  Dan Williams  <dcbw@redhat.com>
13629
13630         Apply Robert's 'tray icon redo' patch with fixes
13631         * gnome/applet/applet.c
13632           gnome/applet/applet.h
13633                 - Instead of using a menu bar + menu item, simulate menu
13634                         behavior using a popup menu.  Highlight the area around
13635                         the icon more like a menu too, by playing with the
13636                         applet's size requisition
13637
13638 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13639         * libnm-util/dbus-helpers.c
13640           libnm-util/dbus-helpers.h
13641                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13642                         to 'exception_namespace' (:namespace is a keyword in
13643                         C++)
13644
13645 2006-01-09  Dan Williams  <dcbw@redhat.com>
13646
13647         * src/NetworkManagerPolicy.c
13648                 - (nm_policy_device_change_check): don't autoswitch away from
13649                         Ad-Hoc networks, since there's really no concept of
13650                         "link"
13651
13652         * src/nm-dbus-nm.c
13653                 - (nm_dbus_nm_create_wireless_network): mark created networks
13654                         as Ad-Hoc networks
13655
13656         * src/nm-device-802-11-wireless.c
13657                 - (real_activation_success_handler): add user-created Ad-Hoc
13658                         networks to the device's scan list
13659
13660 2006-01-08  Dan Williams  <dcbw@redhat.com>
13661
13662         We now require a patch for wpa_supplicant to support Ad-Hoc
13663         networks:
13664           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13665
13666         * src/nm-device-802-11-wireless.c
13667                 - (supplicant_send_network_config): turn off wpa_supplicant's
13668                         scanning.  Fixes Ad-Hoc networks.
13669
13670 2006-01-08  Dan Williams  <dcbw@redhat.com>
13671
13672         * src/nm-ap-security.c
13673           src/nm-ap-security.h
13674                 - Add a user_created argument to the write_supplicant_config
13675                         functions
13676
13677         * src/nm-ap-security-wep.c
13678           src/nm-ap-security-wpa-psk.c
13679           src/nm-device-802-11-wireless.c
13680                 - Make Ad-Hoc mode somewhat work, at least write the
13681                         correct options to wpa_supplicant
13682
13683 2006-01-08  Dan Williams  <dcbw@redhat.com>
13684
13685         * src/nm-device-802-11-wireless.c
13686                 - Remove unused code from the old device activation path
13687
13688 2006-01-08  Dan Williams  <dcbw@redhat.com>
13689
13690         * libnm-util/dbus-helpers.c
13691                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13692                         dbus when key == NULL
13693
13694 2006-01-08  Dan Williams  <dcbw@redhat.com>
13695
13696         * gnome/applet/nm-gconf-wso-wpa-psk.c
13697                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13698                         correct arguments to nmu_security_deserialize_wpa_psk()
13699
13700         * src/nm-ap-security-wpa-psk.c
13701                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13702                         arguments to nmu_security_deserialize_wpa_psk()
13703
13704 2006-01-08  Dan Williams  <dcbw@redhat.com>
13705
13706         * gnome/applet/wso-wpa-psk-hex.c
13707           gnome/applet/wso-wpa-psk-passphrase.c
13708                 - Hook up the append_dbus_params_func() function
13709
13710 2006-01-08  Dan Williams  <dcbw@redhat.com>
13711
13712         * src/nm-device-802-11-wireless.c
13713                 - (get_wireless_capabilities): correctly detect driver WPA
13714                         capabilities
13715
13716 2006-01-08  Dan Williams  <dcbw@redhat.com>
13717
13718         * gnome/applet/Makefile.am
13719           gnome/applet/wso-wpa-psk-hex.c
13720           gnome/applet/wso-wpa-psk-hex.h
13721                 - New files, implement WPA-PSK Hex key input
13722
13723         * gnome/applet/wireless-applet.glade
13724                 - Change existing wpa-psk stuff to wpa-psk-hex
13725                 - Add new widgets for wpa-psk-passphrase
13726
13727         * gnome/applet/wireless-security-manager.c
13728                 - (wsm_set_capabilities): enable WPA options
13729
13730         * gnome/applet/wso-wpa-psk-passphrase.c
13731                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13732                         for WPA-PSK passphrase
13733
13734 2006-01-08  Dan Williams  <dcbw@redhat.com>
13735
13736         * include/NetworkManager.h
13737                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13738                         applet/info-daemons
13739
13740         * gnome/applet/passphrase-dialog.c
13741                 - Use the constant.  Fixes a bug where the arguments to
13742                         dbus_message_new_error() were incorrect
13743
13744         * src/nm-dbus-nmi.c
13745                 - Use the constant
13746
13747 2006-01-07  Dan Williams  <dcbw@redhat.com>
13748
13749         * src/nm-device-802-11-wireless.c
13750                 - Add a link timeout so we allow the supplicant time to
13751                         reassociate if it can, before we deactivate the card
13752                 - Fix up link status and link updating so things work better
13753
13754 2006-01-07  Dan Williams  <dcbw@redhat.com>
13755
13756         * src/nm-device-802-11-wireless.c
13757                 - Switch over to using wpa_supplicant
13758                 - Add a timeout of 10s for association of the supplicant
13759                 - Start the monitor callback of the supplicant
13760
13761 2006-01-07  Dan Williams  <dcbw@redhat.com>
13762
13763         * src/NetworkManagerUtils.c
13764                 - (nm_utils_supplicant_request,
13765                   nm_utils_supplicant_request_with_check):
13766                         pass correct buffer length to wpa_ctrl_request()
13767
13768 2006-01-07  Dan Williams  <dcbw@redhat.com>
13769
13770         * src/nm-device-private.h
13771           src/nm-device.c
13772                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13773                         this function available to subclasses
13774
13775 2006-01-06  Robert Love  <rml@novell.com>
13776
13777         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13778           user plugging in a network cable signals their preference for to
13779           switch, unless the user explicitly selected a wireless network and
13780           therefore signaled their preference for said wireless network over
13781           wired.  In other words, do exactly what makes sense.
13782
13783 2006-01-06  Robert Love  <rml@novell.com>
13784
13785         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13786           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13787           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13788           showing up in my greps.
13789
13790 2006-01-06  Robert Love  <rml@novell.com>
13791
13792         * gnome/applet/applet-dbus-devices.c,
13793           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13794           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13795           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13796           New Network' both failed in the non-encrypted case because we were
13797           not appending the security options to the DBUS message.  And
13798           'Connect to Other' was also failing in the encrypted case because
13799           we were not incrementing to the next DBUS parameter.  All fixed.
13800           Thanks to dcdw for some debugging help.
13801
13802 2006-01-06  Robert Love  <rml@novell.com>
13803
13804         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13805           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13806           hangup code and add per-device hangup.  Tie last commit into the
13807           GNOME applet.  TODO:  Save, understand, and respond to the state of
13808           each dialup device.
13809
13810 2006-01-06  Robert Love  <rml@novell.com>
13811
13812         Patch by Timo Hoenig <thoenig@suse.de>:
13813         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13814           hangup specific dialup devices.
13815         * src/backends/NetworkManagerDebian.c,
13816           src/backends/NetworkManagerGentoo.c,
13817           src/backends/NetworkManagerRedHat.c,
13818           src/backends/NetworkManagerSlackware.c: Add stub backend.
13819         * src/backends/NetworkManagerRedHat.c,
13820           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13821           hangup specific dialup devices.
13822
13823 2006-01-04  Robert Love  <rml@novell.com>
13824
13825         * gnome/applet/applet-dbus-devices.c,
13826           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13827           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13828           connections.
13829
13830 2006-01-04  Dan Williams  <dcbw@redhat.com>
13831
13832         First dump of wpa_supplicant-related code.  It's not hooked up to
13833         anything yet though.  Thanks to Kay Sievers for
13834         wpa_supplicant_wrapper.c, which formed the basis for this work,
13835         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13836
13837         * src/Makefile.am
13838           src/wpa_ctrl.[ch]
13839                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13840
13841         * src/NetworkManagerUtils.[ch]
13842                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13843                         Add convenience functions for talking to wpa_supplicant
13844
13845         * src/nm-ap-security.[ch]
13846           src/nm-ap-security-wep.c
13847           src/nm-ap-security-wpa-psk.[ch]
13848                 - Update and implement real_write_supplicant_config functions
13849                         in all security types
13850                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13851                         nm-ap-security-wpa-psk.c
13852
13853         * src/nm-device-802-11-wireless.c
13854                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13855                    wpa_supplicant_start, wpa_supplicant_interface_init,
13856                    wpa_supplicant_send_network_config): add functions to talk to
13857                         wpa_supplicant and write network config to it
13858
13859 2006-01-04  Robert Love  <rml@novell.com>
13860
13861         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13862           values so that distribution-backends can differentiate between the
13863           various types (modem, ISDN, et cetera) of dialup device that they
13864           support.
13865         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13866           needed.
13867
13868 2006-01-03  Dan Williams  <dcbw@redhat.com>
13869
13870         * src/NetworkManagerPolicy.c
13871           src/nm-device.[ch]
13872           src/nm-device-802-11-wireless.c
13873                 - Move wireless-specific activation failure and success code
13874                         into wireless device class
13875
13876 2006-01-03  Robert Love  <rml@novell.com>
13877
13878         Patch by Preggna S:
13879         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13880           IPsec does not require that a VPN client be bound to an interface,
13881           due to the use of the in-kernel IPSec bits.  So make the tunnel
13882           device optional.
13883
13884 2006-01-03  Dan Williams  <dcbw@redhat.com>
13885
13886         * src/NetworkManagerAP.c
13887                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13888                         the WPA IE specifies that WEP is supported
13889
13890         * src/nm-device-802-11-wireless.c
13891                 - (process_scan_results): don't mark an AP as supporting WEP
13892                         if there's already other encryption capability info
13893
13894 2006-01-03  Dan Williams  <dcbw@redhat.com>
13895
13896         * src/dhcp-manager/nm-dhcp-manager.c
13897                 - Recognize activation cancellation when waiting for DHCP
13898                         configuration from dhcdbd
13899                 - Ignore non-dhcdbd messages
13900
13901         * src/nm-device.c
13902                 - (real_act_stage3_ip_config_start): return to correct behavior
13903                         of letting the dhcp-manager notify us of failure or
13904                         success rather than incorrectly doing that ourselves
13905                 - (nm_device_activate_stage4_ip_config_get): deal with
13906                         activation cancellation a bit earlier
13907
13908 2006-01-03  Dan Williams  <dcbw@redhat.com>
13909
13910         * src/nm-device-802-11-wireless.c
13911           src/nm-device.[ch]
13912                 - Add hooks to subclasses for stage3_ip_config_start and
13913                         stage4_ip_config_timeout
13914
13915         * src/nm-device-802-3-ethernet.c
13916                 - (real_get_generic_capabilities): make devices NM-supported
13917                         by default
13918
13919 2006-01-03  Robert Love  <rml@novell.com>
13920
13921         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13922           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13923           latter cannot differentiate between error and the address -1; misc.
13924           clean up.
13925
13926 2006-01-03  Dan Williams  <dcbw@redhat.com>
13927
13928         * src/NetworkManager.c
13929                 - Move link-checking/probing into the device subclasses
13930                         themselves
13931
13932         * src/nm-device.[ch]
13933           src/nm-device-802-11-wireless.c
13934           src/nm-device-802-3-ethernet.c
13935                 - Do periodic link checking in device subclasses rather
13936                         than being triggered from NetworkManager.c
13937                 - discover_wireless_capabilities -> get_wireless_capabilities
13938                 - discover_generic_capabilities -> get_generic_capabilities
13939                 - Device subclass activation routines now return a value of type
13940                         NMActStageReturn to indicate what step to perform next
13941                 - Devices now override stage4_get_ip4_config if they choose
13942
13943 2006-01-01  Dan Williams  <dcbw@redhat.com>
13944
13945         * src/nm-device-802-11-wireless.c
13946                 - (real_init): don't chain up to parent init because we don't
13947                         need to do that anymore
13948
13949         * src/nm-device.c
13950                 - (discover_device_type): fix arguments to ioctl() to correctly
13951                         pass interface name
13952                 - (nm_device_new): consolidate generic device initialization into
13953                         nm_device_new()
13954                 - (real_init): remove, consolidated to nm_device_new()
13955                 - (nm_device_deactivate, real_deactivate): consolidate
13956
13957 2006-01-01  Dan Williams  <dcbw@redhat.com>
13958
13959         * src/nm-activation-request.c
13960                 - Change dhcp_state member of the NMActRequest structure
13961                         from guint8 to guint32
13962
13963         * src/dhcp-manager/nm-dhcp-manager.[ch]
13964                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13965                         than guint8 to match the dbus argument.  Turns out we were
13966                         overwriting memory since we were passing in only a guint8
13967
13968 2005-12-31  Dan Williams  <dcbw@redhat.com>
13969
13970         * refactor NMDevice into a GObject-based framework with separate
13971                 objects for wired and wireless.  The following files are no
13972                 longer used but should stick around for a bit so we don't
13973                 loose code through the cracks:
13974                         NetworkManagerDevice.c
13975                         NetworkManagerDevice.h
13976                         NetworkManagerWireless.c
13977                         NetworkManagerWireless.h
13978
13979         The intent here is to allow each device type to manage its own
13980         connection & activation life-cycle, ie to allow wireless devices
13981         to interface with wpa_supplicant, etc.  There's a fair bit of
13982         encapsulation breakage right now that should gradually get pulled
13983         back into each device, along with things like periodic property
13984         updates and link probing.
13985
13986 2005-12-29  Dan Williams  <dcbw@redhat.com>
13987
13988         * include/NetworkManager.h
13989                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
13990                         between networks that don't have any encryption at all
13991
13992 2005-12-29  Dan Williams  <dcbw@redhat.com>
13993
13994         * test/test-common.c
13995           test/test-common.h
13996           test/Makefile.am
13997                 - Move to a test-common subdirectory
13998
13999         * test/libnm-util/test-ciphers.c
14000                 - Move test data to test-inputs.h
14001                 - Test WPA ciphers too
14002
14003         * test/libnm-util/test-dbus-helpers.c
14004                 - Test serialization/deserialization of ciphers
14005
14006 2005-12-29  Dan Williams  <dcbw@redhat.com>
14007
14008         * gnome/applet/applet-dbus-devices.c
14009                 - Replace 'enc' parameter with 'capabilities' for wireless networks
14010                         in dbus calls to NM
14011                 - Set capabilities on WirelessNetwork objects
14012                 - Receive and save type-specific device capabilities too
14013
14014         * gnome/applet/applet-dbus-info.c
14015           gnome/applet/applet-dbus.c
14016                 - Passphrase dialog no longer a singleton; new instance gets created
14017                         on each request.  Updates to deal with that.
14018
14019         * gnome/applet/applet.c
14020                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14021                         than single 'encrypted' flag
14022                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14023                         menu items
14024                 - Passphrase dialog updates per above
14025
14026         * gnome/applet/menu-items.c
14027                 - (network_menu_item_update): use AP capabilities to determine
14028                         encryption
14029
14030         * gnome/applet/nm-device.[ch]
14031                 - Add accessors for type-specific device capabilities
14032
14033         * gnome/applet/other-network-dialog.c
14034                 - Rework to respect device capabilities.  i.e., if the device doesn't
14035                         support WPA, remove that option from the security dropdown
14036
14037         * gnome/applet/passphrase-dialog.c
14038                 - Massive rework so that a new instance is created each time
14039                         it's used, to support wireless network capabilities
14040
14041         * gnome/applet/wireless-network.[ch]
14042                 - Add accessors and members for wireless network capabilities
14043
14044         * gnome/applet/wireless-security-manager.[ch]
14045                 - (wsm_set_capabilities): called after creation to set which
14046                         security options get shown to the user
14047
14048 2005-12-29  Dan Williams  <dcbw@redhat.com>
14049
14050         * libnm-util/cipher-wpa-psk-passphrase.c
14051                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14052                         like other ciphers
14053
14054 2005-12-23  Dan Williams  <dcbw@redhat.com>
14055
14056         * gnome/applet/applet-dbus-info.c
14057                 - (nmi_dbus_get_key_for_network): if there's no entry in
14058                         GConf for a network, assume we want a new key
14059                 - (nmi_save_network_info): serialize wireless security info
14060                         into GConf so its saved
14061
14062         * src/nm-dbus-nm.c
14063                 - Fix warning as we may not be passed security info when
14064                         connecting to a wireless network
14065
14066 2005-12-23  Dan Williams  <dcbw@redhat.com>
14067
14068         * gnome/applet/applet-compat.c
14069                 - Fix bugs in GConf entry conversion
14070
14071         * gnome/applet/applet-dbus-info.c
14072                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14073                         list being zero-length
14074
14075         * libnm-util/cipher-*
14076           libnm-util/dbus-helpers.c
14077                 - All ciphers must now return hashed keys as UTF-8 valid
14078                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14079                         through dbus as strings too.
14080                 - Consolidate various functions that do bin->hex and hex->bin
14081                         conversion into cipher.c
14082
14083         * src/nm-ap-security-wep.c
14084           src/nm-ap-security-wpa-psk.c
14085                 - Handle NULL keys since we may not know keys right away
14086
14087         * src/nm-dbus-nmi.c
14088                 - (nm_dbus_get_network_data_cb): actually advance to the start
14089                         of the wireless security info before we try to deserialize it
14090
14091         * libnm-util/test-ciphers.c
14092                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14093
14094 2005-12-22  Dan Williams  <dcbw@redhat.com>
14095
14096         * gnome/applet/applet-compat.[ch]
14097                 - Convert old-format GConf and keyring entries
14098                         when the applet starts up.
14099
14100         * gnome/applet/applet.c
14101                 - (nmwa_get_instance): Call the conversion function
14102                         on startup before dbus is initialized
14103
14104 2005-12-22  Dan Williams  <dcbw@redhat.com>
14105
14106         * gnome/applet/applet-dbus-info.c
14107                 - Remove nmi_dbus_create_error_message() in favor of
14108                         nmu_create_dbus_error_message()
14109                 - (nmi_dbus_get_network_properties): Error message cleanups
14110                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14111                         gconf key rather than 'addresses', since they really are BSSIDs
14112                 - (nmi_dbus_get_network_properties): Dispose of the security
14113                         object when we're done with it
14114
14115 2005-12-21  Dan Williams  <dcbw@redhat.com>
14116
14117         * Consolidate the info-daemon's "updateNetworkInfo" and
14118                 "addNetworkAddress" calls into just "updateNetworkInfo"
14119
14120 2005-12-21  Dan Williams  <dcbw@redhat.com>
14121
14122         * Make connection after key retrieval work again
14123
14124 2005-12-21  Dan Williams  <dcbw@redhat.com>
14125
14126         * gnome/applet/nm-gconf-wso*
14127                 - Make the serialize functions return gboolean
14128                         rather than int
14129
14130         * gnome/applet/nm-gconf-wso.c
14131                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14132                         parent class handling so we don't segfault
14133
14134         * src/NetworkManagerAP.[ch]
14135                 - (nm_ap_get_capabilities): new function, return capabilities
14136                         now that something can use them
14137                 - (nm_ap_set_encrypted): assume that an access point supports
14138                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14139                         we even tell whether it just supports WEP40?
14140
14141         * src/NetworkManagerDevice.c
14142                 - (ap_need_key): resurrect and update for the New World Order
14143                 - (nm_device_wireless_get_activation_ap): if we're not given
14144                         security info to use, create some based on access point
14145                         capabilities
14146
14147         * src/nm-ap-security-wep.c
14148                 - (nm_ap_security_wep_new_from_ap): create a new object
14149                         based on a certain access point's capabilities
14150
14151         * src/nm-ap-security.c
14152                 - (nm_ap_security_new_from_ap): delegate creation of a new
14153                         object based on access point capabilities to a subclass
14154                 - (nm_ap_security_copy_properties): don't segfault if we
14155                         don't have a key yet
14156
14157         * src/nm-dbus-nm.c
14158                 - (nm_dbus_nm_set_active_device): provide more informative
14159                         output when errors occur.  Also construct security info
14160                         for a given access point if we weren't given any
14161
14162 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14163
14164         * configure.in: Added Lithuanian to ALL_LINGUAS.
14165
14166 2005-12-21  Dan Williams  <dcbw@redhat.com>
14167
14168         * test/libnm-util
14169                 - Add some testcases for WEP ciphers
14170
14171 2005-12-17  Dan Williams  <dcbw@redhat.com>
14172
14173         * Fix bugs
14174
14175 2005-12-17  Dan Williams  <dcbw@redhat.com>
14176
14177         * include/NetworkManager.h
14178                 - Finally kill NMEncKeyType
14179
14180         * gnome/applet/applet-dbus-info.c
14181                 - (nmi_save_network_info): convert to NMGConfWSO
14182
14183         * gnome/applet/nm-gconf-wso-*.c
14184                 - Implement gconf serialization functions
14185
14186         * src/NetworkManagerPolicy.c
14187                 - (nm_policy_activation_finish): fix up meaning of
14188                         automatic/user_requested
14189
14190 2005-12-17  Dan Williams  <dcbw@redhat.com>
14191
14192         * gnome/applet/*
14193                 - More applet cleanups
14194                 - Use the dbus-method-dispatcher
14195
14196         * libnm-util/dbus-method-dispatcher.[ch]
14197                 - Generalize the implementation from NM in
14198                         NetworkManagerUtils.c
14199
14200 2005-12-16  Dan Williams  <dcbw@redhat.com>
14201
14202         * gnome/applet/*
14203                 - Fix up the passphrase dialog to use all the
14204                         WirelessSecurityOption stuff (untested)
14205
14206 2005-12-16  Dan Williams  <dcbw@redhat.com>
14207
14208         * Move nm_gconf_get_*_helper() functions to separate files,
14209                 gconf-helpers.c & gconf-helpers.h
14210
14211         * New NMGConfWSO objects for managing the gconf side of things.
14212                 Eventually these should be merged with the
14213                 WirelessSecurityOption objects and a common base (that can
14214                 serialize/deserialize from dbus & gconf) should be
14215                 refactored out, but for now they are separate.
14216
14217 2005-12-16  Robert Love  <rml@novell.com>
14218
14219         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14220           binaries unless they exist (nm_spawn_process() emits a warning if
14221           asked to spawn a non-existant process).
14222
14223 2005-12-16  Dan Williams  <dcbw@redhat.com>
14224
14225         * gnome/applet/applet-dbus-info.c
14226                 - Clean up lots of gconf-related code
14227
14228 2005-12-16  Robert Love  <rml@novell.com>
14229
14230         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14231
14232 2005-12-16  Dan Williams  <dcbw@redhat.com>
14233
14234         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14235
14236         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14237                 bits still to be done)
14238
14239 2005-12-16  Dan Williams  <dcbw@redhat.com>
14240
14241         * Finally move info-daemon related stuff out of
14242                 NetworkManagerDbus.c to nm-dbus-nmi.c
14243
14244 2005-12-16  Dan Williams  <dcbw@redhat.com>
14245
14246         * Kill auth_method for access points, since that's now done
14247                 by NMAPSecurity objects
14248
14249         * Add a copy-constructor of sorts to NMAPSecurity
14250                 (how do you do this properly in glib???)
14251
14252 2005-12-15  Dan Williams  <dcbw@redhat.com>
14253
14254         * Exorcise encryption key hashing on APs
14255         * Use libnm-util's serialization/deserialization in both the
14256                 applet and NM
14257         * Random other stuff
14258
14259 2005-12-15  Robert Love  <rml@novell.com>
14260
14261         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14262           is being added to the icon naming spec, so let's use that (Tango CVS
14263           has the icon).  Because it is new, however, we fall back to the
14264           current "gnome-lockscreen" if the new icon is not around, thus
14265           behavior is the same.
14266         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14267           factory junk.
14268
14269 2005-12-15  Robert Love  <rml@novell.com>
14270
14271         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14272           well, help to give.  Couple other misc. bits.
14273
14274 2005-12-15  Dan Williams  <dcbw@redhat.com>
14275
14276         * libnm-util/dbus-helpers.[ch]
14277                 - Make this the one-stop-shop for serializing/deserializing
14278                         AP & connection security settings over dbus.  Both NM
14279                         and applets should use this to ensure consistent dbus
14280                         API going forwared.
14281
14282 2005-12-15  Robert Love  <rml@novell.com>
14283
14284         Patch by Timo Hoenig  <thoenig@suse.de>:
14285         * src/NetworkManagerDbus.c
14286                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14287                         if HAL jumps off the system bus.  Otherwise libdbus
14288                         (dbus_connection_dispatch) will try to run the filter
14289                         function of our libhal context which is already freed.
14290
14291 2005-12-15  Alexander Shopov  <ash@contact.bg>
14292
14293         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14294
14295 2005-12-14  Dan Williams  <dcbw@redhat.com>
14296
14297         * include/NetworkManager.h
14298           src/NetworkManagerWireless.c
14299                 - Rearrange 802.11 wireless-specific capabilities again
14300
14301         * src/Makefile.am
14302                 - Forgot to add wpa.c/wpa.h to the makefiles
14303
14304         * src/NetworkManagerAP.[ch]
14305                 - Implement access point capabilities and parse the
14306                         WPA/RSN IEs into the capability bitfield
14307                 - Switch the "encrypted" attribute to utilize the bitfield
14308                         and capabilities rather than being independent
14309
14310         * src/NetworkManagerDevice.c
14311                 - (nm_device_wireless_get_activation_ap): break it horribly
14312                         until we can push NMAPSecurity objects into access point
14313                         objects and through the activation chain
14314                 - Stuff WPA & RSN IEs into AP capabilities
14315
14316         * src/nm-dbus-nm.c
14317                 - Take a shot at actually making setActiveDevice work
14318
14319         * src/wpa.[ch]
14320                 - Make the API a bit saner
14321
14322 2005-12-14  Dan Williams  <dcbw@redhat.com>
14323
14324         * include/NetworkManager.h
14325                 - Add 802.11-specific capability for 802.1x key
14326                         management
14327
14328         * src/wpa.[ch]
14329                 - Pull in WPA IE and RSN IE parsing code from
14330                         wpa_supplicant so we can determine access point
14331                         capabilities
14332                 - Move WPA-related constants here from NetworkManagerAP.h
14333                         and NetworkManagerDevice.c
14334
14335         * src/NetworkManagerDevice.c
14336           src/NetworkManagerAP.[ch]
14337                 - Use WPA-related constants from wpa.h
14338
14339 2005-12-14  Dan Williams  <dcbw@redhat.com>
14340
14341         * include/NetworkManager.h
14342                 - Update and split 802.11 wireless-specific capabilities from
14343                         generic device capabilities
14344
14345         * src/NetworkManagerDevice.c
14346           src/NetworkManagerDevicePrivate.h
14347                 - (nm_device_wireless_discover_capabilities): Move 802.11
14348                         wireless-specific capability checks to
14349                         NetworkManagerWireless.c
14350                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14351                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14352
14353         * src/NetworkManagerWireless.[ch]
14354                 - (nm_802_11_wireless_discover_capabilities): Check extended
14355                         802.11 wireless-specific capabilities of the driver
14356
14357 2005-12-14  Robert Love  <rml@novell.com>
14358
14359         Patch from Stefan Scheler <sscheler@suse.de>:
14360         * src/NetworkManagerDevice.c: call backend code to activate and
14361           deactivate NIS.
14362         * src/NetworkManagerSystem.h: add new NIS interfaces.
14363         * src/backends/NetworkManagerDebian.c,
14364           src/backends/NetworkManagerGentoo.c,
14365           src/backends/NetworkManagerRedHat.c,
14366           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14367           support.
14368         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14369
14370 2005-12-14  Dan Williams  <dcbw@redhat.com>
14371
14372         * src/nm-ap-security*.[ch]
14373                 - Add AP security abstractions to NetworkManager
14374
14375         * src/nm-dbus-device.c
14376                 - Begin to parse new format dbus messages from the applet
14377                         and construct an AP security object from the message
14378
14379         * libnm-util/dbus-helpers.c
14380                 - Use message iters so we can append the key as a fixed
14381                         array of bytes, which actually works rather than
14382                         using dbus_message_append_args() as we were before
14383
14384 2005-12-14  Dan Williams  <dcbw@redhat.com>
14385
14386         * src/NetworkManagerDbus.c
14387           gnome/applet/applet-dbus.c
14388                 - Fix up dbus service replacement options.  The applet
14389                         should allow replacement, NM itself should not.
14390
14391 2005-12-13  Robert Love  <rml@novell.com>
14392
14393         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14394           Instead, fail silently if config is NULL by not asserting and not
14395           returning FALSE.  Also, make sure we always fclose() the file.
14396
14397 2005-12-13  Robert Love  <rml@novell.com>
14398
14399         Patch by Stefan Scheler <sscheler@suse.de>:
14400         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14401            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14402            via DHCP.  Still need the backends to commit the NIS domain name and
14403            and servers to yp.conf as needed.
14404
14405 2005-12-13  Robert Love  <rml@novell.com>
14406
14407         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14408           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14409
14410 2005-12-13  Robert Love  <rml@novell.com>
14411
14412         * src/named-manager/nm-named-manager.c: Don't unref the config until
14413           after we call rewrite_resolv_conf(), because get_last_default_domain()
14414           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14415           `config != NULL' failed" assertion failures and "Could not commit DNS
14416           changes" warnings.
14417
14418 2005-12-12  Dan Williams  <dcbw@redhat.com>
14419
14420         * libnm-util/dbus-helpers.[ch]
14421           libnm-util/Makefile.am
14422                 - new helper calls to consolidate locations where
14423                         NM's setDevice method is called
14424
14425         * gnome/applet/applet-dbus-devices.c
14426           gnome/applet/wireless-security-option.c
14427           gnome/applet/wso-*
14428                 - Implement dbus message param append function for
14429                         all wireless security options
14430
14431 2005-12-12  Robert Love  <rml@novell.com>
14432
14433         * libnm-util/cipher-wep-passphrase.c,
14434           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14435           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14436           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14437           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14438           When handling keys, we don't care what the sign is.  The compiler
14439           guarantees us that we get our 8-bits, which is all we care about.
14440         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14441
14442 2005-12-12  Dan Williams  <dcbw@redhat.com>
14443
14444         * gnome/applet/applet-dbus-devices.[ch]
14445           gnome/applet/applet.c
14446           gnome/applet/other-network-dialog.c
14447           gnome/applet/wireless-security-manager.[ch]
14448           gnome/applet/wireless-security-option.[ch]
14449           gnome/applet/wso-*
14450                 - Push the wireless security options further into the applet
14451
14452 2005-12-12  Robert Love  <rml@novell.com>
14453
14454         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14455           return any name servers.  That is perfectly valid.  (Novell #134369).
14456
14457 2005-12-11  Dan Williams  <dcbw@redhat.com>
14458
14459         * gnome/applet/wso-*
14460           gnome/applet/wireless-security-option.*
14461           gnome/applet/Makefile.am
14462                 - split each security option out so we can eventually
14463                         have each one build up their own dbus message
14464                         arguments to send to NM
14465
14466 2005-12-11  Dan Williams  <dcbw@redhat.com>
14467
14468         * Make validation of the key work correctly
14469
14470 2005-12-11  Dan Williams  <dcbw@redhat.com>
14471
14472         * Hook more bits of the Other Network Dialog up to the
14473                 wireless security manager stuff, and restructure
14474                 bits of the dialog so there's less code.
14475
14476 2005-12-10  Dan Williams  <dcbw@redhat.com>
14477
14478         * gnome/applet/Makefile.am
14479                 - Add libnm-util to includes
14480                 - Add libnm-util to link list
14481                 - Add wireless-security-common.* to compile list
14482
14483         * gnome/applet/other-network-dialog.c
14484                 - Convert to using the WirelessSecurityManager code and
14485                         widgets
14486
14487         * gnome/applet/passphrase-dialog.c
14488                 - Comment out references to stuff in the glade file that
14489                         cause runtime errors until it can be fixed up
14490                         to use the WirelessSecurityManager code
14491
14492         * gnome/applet/wireless-applet.glade
14493                 - Rename some widgets
14494                 - Add widgets for the WirelessSecurityManager code
14495                 - Remove passphrase-related stuff since that's now
14496                         handled by the WirelessSecurityManager code
14497
14498 2005-12-10  Dan Williams  <dcbw@redhat.com>
14499
14500         * gnome/applet/applet-dbus-devices.c
14501                 - Print out error message details for dbus pending call callbacks
14502                 - Move nmwa_dbus_update_devices() up
14503
14504         * gnome/applet/applet-dbus-vpn.c
14505                 - Print out error message details for dbus pending call callbacks
14506
14507 2005-12-10  Dan Williams  <dcbw@redhat.com>
14508
14509         * libnm-util/*
14510                 - More fixups
14511                 - Remove cipher-manager.* because we don't need it
14512                 - Forgot to add gnome-keyring-md5 files to compile list
14513
14514 2005-12-09  Dan Williams  <dcbw@redhat.com>
14515
14516         * libnm-util/*
14517           configure.in
14518           Makefile.am
14519                 - Add a utility library for clients of NetworkManager.  It's
14520                         only targetted at applets for the moment, and contains
14521                         a generalized 802.11 cipher framework for different
14522                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14523
14524 2005-12-09  Robert Love  <rml@novell.com>
14525
14526         * src/NetworkManagerDevice.c: handle error better in
14527           nm_device_set_mode().
14528
14529 2005-12-08  Robert Love  <rml@novell.com>
14530
14531         * include/NetworkManager.h: add WPA capabilities constants
14532         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14533           or WPA2 and add the capabilities bits as appropriate.
14534
14535 2005-12-08  Robert Love  <rml@novell.com>
14536
14537         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14538           NetworkManagerDispatcher.
14539         * configure.in, initscript/SUSE/.cvsignore,
14540           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14541           initscript.
14542
14543 2005-12-08  Robert Love  <rml@novell.com>
14544
14545         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14546
14547 2005-12-08  Robert Love  <rml@novell.com>
14548
14549         * src/NetworkManagerDevice.c: We want to fall back on and default to
14550           IW_MODE_AUTO, not -1, which is more in line with our previous
14551           behavior.  Otherwise, we try to set the wireless mode to -1 in
14552           nm_device_set_mode().
14553
14554 2005-12-07  Robert Love  <rml@novell.com>
14555
14556         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14557           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14558           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14559           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14560           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14561           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14562           zero.
14563
14564 2005-12-07  Robert Love  <rml@novell.com>
14565
14566         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14567           supplied IP is invalid, fall back to DHCP.
14568
14569 2005-12-07  Dan Williams  <dcbw@redhat.com>
14570
14571         * Convert NETWORK_MODE_* constants to IW_MODE_*
14572         * Make all the get_mode/set_mode functions take and return 'int'
14573         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14574
14575 2005-12-07  Robert Love  <rml@novell.com>
14576
14577         * src/NetworkManagerDevice.c: strncpy() buffer check.
14578         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14579
14580 2005-12-06  Dan Williams  <dcbw@redhat.com>
14581
14582         * gnome/applet/applet-dbus.c
14583                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14584
14585         * gnome/applet/applet-dbus-vpn.c
14586                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14587                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14588                         to TRUE here if stage was ACTIVATED
14589
14590 2005-12-06  Dan Williams  <dcbw@redhat.com>
14591
14592         * Change nm_device_is_* functions to better names:
14593                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14594                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14595
14596 2005-12-06  Dan Williams  <dcbw@redhat.com>
14597
14598         * Change naming of NMDeviceType to something more sensible:
14599                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14600                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14601                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14602
14603 2005-12-06  Dan Williams  <dcbw@redhat.com>
14604
14605         * Move NetworkManager.h -> include/NetworkManager.h
14606         * Split out VPN stuff into include/NetworkManagerVPN.h
14607         * Fix up makefiles to include new location
14608         * Fix up sources to include NetworkManagerVPN.h
14609
14610 2005-12-06  Dan Williams  <dcbw@redhat.com>
14611
14612         Various changes in the applet to move VPN connection "state" -> "stage",
14613         which it actually is.  I'd like to change the signal as well when we
14614         break compat in the near future.
14615
14616 2005-12-06  Dan Williams  <dcbw@redhat.com>
14617
14618         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14619         * initscript/Slackware/rc.networkmanager
14620                 - Cosmetic fix
14621
14622         * src/backends/NetworkManagerSlackware.c
14623                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14624                         interfaces
14625
14626 2005-12-05  Robert Love  <rml@novell.com>
14627
14628         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14629           to free, particularly here as it just barfs.
14630
14631 2005-12-05  Dan Williams  <dcbw@redhat.com>
14632
14633         * gnome/applet/applet-dbus.c
14634                 - Work with dbus 0.6 too
14635
14636 2005-12-03  Dan Williams  <dcbw@redhat.com>
14637
14638         * src/NetworkManagerUtils.[ch]
14639           src/nm-ip4-config.c
14640                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14641                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14642
14643 2005-12-01  Robert Love  <rml@novell.com>
14644
14645         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14646           need a NULL for the '...' parameter, too, to fill the so-called
14647           sentinel.
14648
14649 2005-12-01  Robert Love  <rml@novell.com>
14650
14651         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14652           interface is already gone, so don't call rtnl_link_change() to down
14653           it (which will segfault, anyhow).
14654
14655 2005-11-22  Robert Love  <rml@novell.com>
14656
14657         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14658           gateway is not set, just print a little note.  Configurations without
14659           gateways are valid.
14660
14661 2005-11-22  Robert Love  <rml@novell.com>
14662
14663         * README: update
14664
14665 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14666
14667         * configure.in: Added Finnish translation to ALL_LINGUAS
14668
14669 2005-11-14  Robert Love  <rml@novell.com>
14670
14671         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14672           Niemueller <tim@niemueller.de>.
14673
14674 2005-11-08  Dan Williams  <dcbw@redhat.com>
14675
14676         Patch from Bill Moss <bmoss@clemson.edu>
14677         * src/NetworkManagerDevice.c
14678                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14679                         of nm_policy_schedule_activation_finish() to prevent a
14680                         race condition that causes the link to be dropped
14681
14682 2005-11-08  Dan Williams  <dcbw@redhat.com>
14683
14684         Patch from Bill Moss <bmoss@clemson.edu>
14685         * src/NetworkManagerAPList.c
14686           src/NetworkManagerDevice.c
14687           src/NetworkManagerDbus.c
14688                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14689                         we get more readable ether/mac addresses
14690
14691 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14692
14693         * gnome/applet/main.c: Don't set the restart command.  This fixes
14694         the issue where the restart command was getting copies of all its
14695         arguments for each time the applet was restarted.
14696
14697 2005-11-02  Robert Love  <rml@novell.com>
14698
14699         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14700           if the widget state differs from our saved state.  This ensures we
14701           do not enter an endless loop of death and destruction.  Also, this
14702           guarantees us that we enforce the widget state.
14703
14704 2005-11-02  Robert Love  <rml@novell.com>
14705
14706         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14707         * gnome/applet/applet-dbus-devices.c: invoke the new function
14708           nmwa_enable_wireless_set_active() to ensure that the state of the
14709           'Enable Wireless' checkbox matches the daemon's state.  This is a
14710           concern because the daemon remembers the state.
14711
14712 2005-11-02  Robert Love  <rml@novell.com>
14713
14714         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14715           Enabled", as checkboxes should be actions/commands not positive
14716           statements, otherwise they are confusing in the unselected case.  See
14717           examples in GNOME HIG, Chapter 6.
14718
14719 2005-11-02  Robert Love  <rml@novell.com>
14720
14721         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14722           show a list of wireless networks or the wireless devices or the
14723           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14724           a bad bug: If wireless is disabled and the user picks a wireless
14725           network, NM will switch to the network, only to immediately switch
14726           back, as wireless is disabled.  This also reassures people that NM
14727           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14728
14729 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14730
14731         * gnome/applet/applet.c:
14732         * gnome/applet/applet.h:
14733         Partial backout of Dan's timeout animation patch.
14734         Timeout IDs cannot legally be 0, so revert the code in place to handle
14735         a timeout ID of 0 to denote the timeout isn't running.
14736
14737 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14738
14739         * src/NetworkManagerPolicy.c:
14740         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14741
14742 2005-10-28  Robert Love  <rml@novell.com>
14743
14744         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14745           "Import Saved Configuration..." to make it clear that importing is
14746           not the next step, but an option.  As an aside, a nice TODO would be
14747           to move Importing out of the vpn-specific dialog and into the main
14748           property editor, as Importing goes with Adding, but that will require
14749           some rearchitecting of the VPN stuff I suspect.
14750
14751 2005-10-27  Dan Williams  <dcbw@redhat.com>
14752
14753         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14754         we should replace most of the distro-specific backend code
14755         with libnl stuff.
14756
14757         Get it here:  http://people.suug.ch/~tgr/libnl/
14758
14759         * configure.in
14760           src/Makefile.am
14761                 - Add checks for libnl pkgconfig file
14762                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14763
14764         * src/NetworkManagerSystem.c
14765           src/nm-ip4-config.[ch]
14766                 - Use libnl rather than ioctl() for most things
14767                 - Remove unused functions
14768
14769 2005-10-27  Robert Love  <rml@novell.com>
14770
14771         * src/backends/NetworkManagerSuSE.c: fix warning message text
14772
14773 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14774
14775         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14776
14777 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14778
14779         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14780         project page <http://www.gnome.org/projects/NetworkManager/>
14781
14782 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14783
14784         * gnome/applet.c: Also use translator credits if we don't have
14785         the new GtkAboutDialog (older versions of GTK+)
14786
14787 2005-10-26  Robert Love  <rml@novell.com>
14788
14789         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14790           failure; correct usage text for "--no-daemon"
14791
14792 2005-10-25  Dan Williams  <dcbw@redhat.com>
14793
14794         * src/NetworkManagerDevice.c
14795                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14796                         no scan results
14797                 - (free_process_scan_cb_data): unref the device when freeing results
14798                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14799                         so we don't unref the device underneath ourselves
14800
14801 2005-10-25  Dan Williams  <dcbw@redhat.com>
14802
14803         * Back out 2005-10-24 commit from Tor Krill.  Patch
14804                 causes nameservers never to be removed from named.
14805
14806 2005-10-24  Dan Williams  <dcbw@redhat.com>
14807
14808         Clean up wireless scanning and wireless link probing.
14809
14810         * src/NetworkManagerDevice.c
14811                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14812                         just see if there's an activation request on the device, and check the
14813                         current link against the activation request access point's ESSID.
14814                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14815                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14816                         don't call process_scan_results() on zero-length data
14817                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14818                         15 seconds (from 10)
14819
14820 2005-10-24  Dan Williams  <dcbw@redhat.com>
14821
14822         Cleanup some applet stuff:
14823
14824         - Animation timeouts.  If NM died while the applet was animating,
14825                 the applet would not hide itself.  This is now fixed.
14826
14827         - Remove some dead code
14828
14829         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14830                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14831
14832         - Track animation timeout using a gboolean rather than the timeout's
14833                 ID, since timeout IDs can legally be 0.
14834
14835 2005-10-24  Dan Williams  <dcbw@redhat.com>
14836
14837         * src/backends/interface_parser.c
14838                 - Add void to function declarations that need it
14839                         to match patch from Engin AYDOGAN
14840
14841         * src/backends/interface_parser.h
14842                 - Remove unused prototype for ifparser_interfaces()
14843
14844         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14845         * src/backends/interface_parser.h:
14846                 - Compile fixes for gcc 4.0.2 (add void)
14847
14848 2005-10-24  Dan Williams  <dcbw@redhat.com>
14849
14850         Patch from Tor Krill <tor@krill.nu>
14851         * src/named-manager/nm-named-manager.c
14852                 - Write more than just the first nameserver to /etc/resolv.conf
14853                 - Write out valid /etc/resolv.conf on exit
14854
14855 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14856
14857         * gnome/applet/applet-dbus-vpn.c:
14858         Get rid of spurious newlines in debug console output
14859
14860 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14861
14862         * src/backends/NetworkManagerGentoo.c:
14863         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14864
14865 2005-10-20  Robert Love  <rml@novell.com>
14866
14867         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14868           direct comparison of floating point values, which is never correct.
14869           Also some misc. cleanup.
14870
14871 2005-10-19  Robert Love  <rml@novell.com>
14872
14873         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14874
14875 2005-10-19  Robert Love  <rml@novell.com>
14876
14877         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14878           sensitivity of the buttons.  Specificaly, do the right thing if
14879           there are no entries.
14880
14881 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14882
14883         * configure.in: Update check for adequate wireless-tools
14884         with an AC_TRY_COMPILE for the new symbols we use.
14885
14886 2005-10-19  Dan Williams  <dcbw@redhat.com>
14887
14888         * src/NetworkManagerDevice.c
14889                 - (process_scan_results): don't drop the last (or only)
14890                         access point we see
14891
14892 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14893
14894         * src/backends/NetworkManagerSlackware.c:
14895         Patch from Nico <lordllucifer@gmail.com>
14896                 - Update the Slackware backend.
14897
14898 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14899
14900         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14901         if we've got GLib 2.8.0
14902
14903 2005-10-18  Robert Love  <rml@novell.com>
14904
14905         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14906           function nm_schedule_state_change_signal_broadcast() when we
14907           deactivate a device, too.
14908
14909 2005-10-18  Robert Love  <rml@novell.com>
14910
14911         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14912           be used uninitialized.
14913
14914 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14915
14916         * test/libnm_glib_test.c: Test unregistering, too.
14917
14918 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14919
14920         * configure.in: Bump to 0.5.0
14921
14922 2005-10-17  Dan Williams  <dcbw@redhat.com>
14923
14924         * NetworkManager.h
14925                 - Remove WPA-related constants so they aren't part of the
14926                         upcoming release.
14927
14928 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14929
14930         * gnome/applet/applet.c:
14931         * gnome/applet/applet.h:
14932         Desensitize the 'Connection Information' menu item when there is
14933         no active connection.
14934
14935 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14936
14937         * gnome/libnm_glib/libnm_glib.c:
14938         Make libnm_glib_unregister_callback () actually unregister the callback
14939
14940 2005-10-17  Robert Love  <rml@novell.com>
14941
14942         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14943           two seconds -- tries is updated every 1/10 of a second, not every
14944           second..
14945
14946 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14947
14948         * gnome/applet/applet-dbus-info.c:
14949         Let D-BUS know that we haven't handled a message when we haven't.
14950
14951 2005-10-17  Robert Love  <rml@novell.com>
14952
14953         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14954           in order to remain 64-bit clean.
14955
14956 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14957
14958         * gnome/applet/applet-dbus-info.c:
14959         Find network encryption keys asynchronously
14960
14961 2005-10-17  Robert Love  <rml@novell.com>
14962
14963         * src/backends/NetworkManagerDebian.c,
14964           src/backends/NetworkManagerRedHat,
14965           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14966           comment delimiter.
14967
14968 2005-10-17  Robert Love  <rml@novell.com>
14969
14970         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14971           "/etc"
14972
14973 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14974
14975         * src/NetworkManagerDevice.c: (process_scan_results)
14976         Fix logic that checks to see whether we have an ESSID.
14977
14978 2005-10-15  Dan Williams  <dcbw@redhat.com>
14979
14980         Move scanning code into NetworkManager rather than use iwlib's
14981         iw_scan() function, so that we can figure out AP capabilities.
14982
14983         * NetworkManager.h
14984                 - Add AP capability bits
14985
14986         * src/NetworkManagerAP.[ch]
14987                 - Add capability field to NMAccessPoint structure
14988                 - Add WPA & RSN Information Element fields and accessor
14989                         functions to NMAccessPoint
14990
14991         * src/NetworkManagerDevice.c
14992                 - Remove usage of iw_scan
14993                 - Add scanning code to NetworkManager rather than use
14994                         iw_scan() from iwlib
14995
14996         * src/NetworkManagerUtils.[ch]
14997                 - (nm_dispose_scan_results): remove, unused
14998
14999 2005-10-14  Christopher Aillon  <caillon@redhat.com>
15000
15001         * gnome/libnm_glib/libnm_glib.c:
15002         * gnome/libnm_glib/libnm_glib.h:
15003         Use guint instead of gint for callback IDs.
15004
15005 2005-10-12  Christopher Aillon  <caillon@redhat.com>
15006
15007         * gnome/applet/applet.c:
15008         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
15009         every 1000ms.  It will unconditionally call nmwa_update_state which
15010         kills the existing animation timeout and registers a new one with a
15011         callback to draw a new frame every 100ms.  There are 11 connecting
15012         icon frames, so the last 2 frames kept getting dropped.  Only reset
15013         the animation timeout if we aren't animating.
15014
15015 2005-10-11  Dan Williams  <dcbw@redhat.com>
15016
15017         * gnome/applet/applet-dbus-devices.c
15018                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15019                         We want to grab the product & vendor from net.physical_dev
15020                         rather than info.parent.
15021
15022 2005-10-11  Dan Williams  <dcbw@redhat.com>
15023
15024         * src/NetworkManagerDevice.c
15025                 - Use the driver's WE version for scanning rather than
15026                         the WE version NM was compiled with.  Fixes random
15027                         crashes in iw_scan () in iwlib.
15028
15029 2005-10-10  Dan Williams  <dcbw@redhat.com>
15030
15031         * Remove nm_system_load_device_modules() from backend files
15032                 and from NetworkManager.c
15033
15034 2005-10-10  Dan Williams  <dcbw@redhat.com>
15035
15036         * src/NetworkManagerPolicy.c
15037                 - Fix some bugs introduced by the capabilities patch
15038
15039 2005-10-10  Dan Williams  <dcbw@redhat.com>
15040
15041         * gnome/applet/applet-dbus-info.c
15042                 - (nmi_dbus_get_network_key): hide the menu when putting up
15043                         the keyring dialog.  (not sure if the code is right...)
15044
15045 2005-10-09  Dan Williams  <dcbw@redhat.com>
15046
15047         Patch from Bill Moss <bmoss@clemson.edu>
15048         * src/NetworkManagerDevice.c
15049                 - (nm_device_set_user_key_for_network): don't try to set auth
15050                         mode on the AP from the allowed list if it's NULL
15051
15052 2005-10-09  Dan Williams  <dcbw@redhat.com>
15053
15054         * Replace the "driver support level" stuff with capabilities.  The
15055                 capability field is a bitfield that is more flexible than the
15056                 old driver support level thing.  It's mostly so we can easily
15057                 figure out what supports WPA and what doesn't, but should be
15058                 quite useful later.
15059
15060 2005-10-09  Dan Williams  <dcbw@redhat.com>
15061
15062         * test/nmtest.c
15063                 - Removed
15064
15065         * test/nm-tool.c
15066           test/Makefile.am
15067                 - Added new "nm-tool" tool that gives quite a bit more
15068                         information
15069
15070 2005-10-07  Robert Love  <rml@novell.com>
15071
15072         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15073           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15074           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15075           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15076           appropriate
15077
15078 2005-10-07  Robert Love  <rml@novell.com>
15079
15080         * configure.in: Change our compile flags for the betterment of mankind.
15081           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15082           prototype is very bad on 64-bit platforms as types default to int but
15083           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15084           "-Wmissing-declarations" to warn if we define an exported function
15085           but fail to put it in a header.
15086
15087 2005-10-07  Robert Love  <rml@novell.com>
15088
15089         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15090           by the name nm_update_device_wireless_timeouts() and once tried,
15091           without success, to steal my pet turtle.
15092
15093 2005-10-07  Robert Love  <rml@novell.com>
15094
15095         * Cleanup prototypes: put some functions in header files and mark
15096           others as 'static' -- feel free to invert
15097         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15098           nm_vpn_manager_vpn_connection_list_copy()
15099         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15100           nm_vpn_service_get_dbus_connection()
15101         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15102           nm_vpn_manager_vpn_connection_list_copy()
15103         * src/vpn-manager/nm-vpn-service.c: make
15104           nm_vpn_service_act_request_failed() and
15105           nm_vpn_service_stage2_daemon_wait() static
15106         * src/vpn-manager/nm-vpn-service.h: add prototype for
15107           nm_vpn_service_get_dbus_connection()
15108
15109 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15110
15111         * gnome/applet/applet.c:
15112         * gnome/applet/applet.h:
15113         * gnome/applet/icons/Makefile.am:
15114         Convey information about the current connection stage in the
15115         icons themselves instead of creating a separate progress bar.
15116
15117 2005-10-04  Robert Love  <rml@novell.com>
15118
15119         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15120           convert an ether_addr structure's MAC into a string, because the
15121           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15122           versus 07:3B:04, while the former will not.
15123
15124 2005-10-04  Robert Love  <rml@novell.com>
15125
15126         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15127           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15128           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15129           default route in the 'Connection Information' dialog, send primary
15130           and secondary name servers in in "getProperties" DBUS method, add
15131           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15132           secondary domain name servers are crucial pieces of information
15133           that a user might need in debugging a network problem.
15134
15135 2005-10-04  Robert Love  <rml@novell.com>
15136
15137         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15138           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15139           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15140           default route in the 'Connection Information' dialog, send default
15141           route in "getProperties" DBUS method, add network_device_set_route(),
15142           and network_device_get_route().  The Gateway is a crucial piece of
15143           connection-related information that a user might need in debugging a
15144           network problem.
15145
15146 2005-10-03  Robert Love  <rml@novell.com>
15147
15148         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15149           NULL.
15150
15151 2005-10-02  Dan Williams  <dcbw@redhat.com>
15152
15153         * Shorten time taken to sleep by fastpathing bits of device deactivation
15154                 necessary for sleep.
15155
15156         * Fix issue where deactivating a device might deactivate the active
15157                 VPN connection, even if the VPN was not using the device.
15158
15159 2005-10-02  Dan Williams  <dcbw@redhat.com>
15160
15161         * gnome/applet/applet.c
15162                 - Adjust signal strength -> icon mapping values slightly
15163                         (so that 51% signal doesn't show a 75% icon) by adding
15164                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15165                         shows 50% icon, etc.
15166
15167 2005-09-29  Robert Love  <rml@novell.com>
15168
15169         * src/NetworkManager.c: removed unused variable.
15170
15171 2005-09-28  Dan Williams  <dcbw@redhat.com>
15172
15173         Support for named + DBus, using Red Hat DBus patches for named.  You
15174         can find those patches here, with "dbus" in the patch's filename:
15175
15176                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15177
15178         Don't forget the named dbus service file either.
15179
15180         Instead of writing a config file and spawing a named process, NM will
15181         use an already-running dbus-enabled named if it finds one.  NM will
15182         update named's forwarder configuration on the fly using dbus.
15183
15184         If there is no dbus-enabled named running, NM will automatically fall
15185         back to writing the most-recent DNS server information to /etc/resolv.conf
15186         and calling nm_system_update_dns() to kick the system's resolver.
15187
15188         Accordingly, all named-related configure-time options have been removed.
15189
15190 2005-09-26  Robert Love  <rml@novell.com>
15191
15192         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15193           ISDN support!
15194         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15195           bug in error path if "ASKPASSWORD" is "no".
15196
15197 2005-09-26  Robert Love  <rml@novell.com>
15198
15199         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15200           comment in /etc/resolv.conf -- ';' is not.
15201
15202 2005-09-19  Dan Williams  <dcbw@redhat.com>
15203
15204         * src/backends/NetworkManagerRedHat.c:
15205         * src/backends/NetworkManagerDebian.c:
15206         * src/backends/NetworkManagerSlackware.c:
15207         * src/backends/NetworkManagerGentoo.c:
15208         * src/backends/NetworkManagerSUSE.c:
15209         Fix invocations of "/sbin/ip address" to use short form instead
15210
15211 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15212
15213         * src/nm-dbus-device.c: Don't assert when getting
15214         addresses of a not yet connected interface.
15215
15216         * gnome/applet/applet.c: Free icons if loading fails.
15217         Use translator-credits so translators can make themselves known.
15218
15219 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15220
15221         * src/NetworkManagerAP.c:
15222         * src/NetworkManagerAP.h:
15223         * src/NetworkManagerDevice.c:
15224         Set a blacklist for certain common manufacturer default ESSIDs:
15225         APs with these ESSIDs are extremely likely to be completely
15226         different networks: connecting to one should not make NM
15227         auto-connect to every other AP with the same default ESSID.
15228
15229 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15230
15231         * gnome/applet/wireless-applet.glade:
15232         The passphrase entry should also activate the default
15233
15234         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15235
15236         * gnome/applet/applet-dbus-devices.c:
15237         * gnome/applet/applet.c:
15238         * gnome/applet/nm-device.c:
15239         * gnome/applet/nm-device.h:
15240         * src/NetworkManagerUtils.c:
15241         * src/NetworkManagerUtils.h:
15242         * src/nm-dbus-device.c:
15243         I've got a fever, and the only cure for it is less ioctl.
15244         Make NM push IP data rather than make the applet open a socket
15245         to the device.
15246
15247 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15248
15249         * gnome/applet/applet.c:
15250         * gnome/applet/applet-dbus-devices.c:
15251         * gnome/applet/applet-dbus-info.c:
15252         * gnome/applet/passphrase-dialog.c:
15253         * gnome/libnm_glib/libnm_glib.c:
15254         * gnome/vpn-properties/nm-vpn-properties.c:
15255         * src/autoip.c:
15256         * src/backends/NetworkManagerRedHat.c:
15257         * src/named-manager/nm-named-manager.c:
15258         * src/NetworkManagerAPList.c:
15259         * src/NetworkManager.c:
15260         * src/NetworkManagerDbus.c:
15261         * src/NetworkManagerDevice.c:
15262         * src/NetworkManagerPolicy.c:
15263         * src/NetworkManagerSystem.c:
15264         * src/nm-dbus-device.c:
15265         * src/nm-dbus-nm.c:
15266         * src/vpn-manager/nm-vpn-manager.c:
15267         * src/vpn-manager/nm-vpn-service.c:
15268         * test/libnm_glib_test.c:
15269         * test/nminfotest.c:
15270         * test/nmtestdevices.c:
15271         Fix a bunch of 'unused variable' compiler warnings
15272
15273         * NetworkManager.h:
15274         * gnome/applet/applet-dbus-info.c:
15275         * gnome/applet/applet-dbus-info.h:
15276         * gnome/applet/applet.c:
15277         * gnome/applet/applet.h:
15278         * src/NetworkManager.c:
15279         * src/NetworkManagerDbus.c:
15280         * src/NetworkManagerDbus.h:
15281         * src/NetworkManagerDevice.c:
15282         * src/NetworkManagerDevice.h:
15283         * src/NetworkManagerMain.h:
15284         * src/NetworkManagerWireless.c:
15285         * src/NetworkManagerWireless.h:
15286         * src/nm-dbus-nm.c:
15287         Make NetworkManager be smart about how frequently to scan
15288         based on its current state.  Remove the UI for choosing when
15289         to scan.  Scanning still may disabled completely by the user
15290         via the "Wireless Enabled" menu item.
15291
15292 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15293
15294         * gnome/applet/applet.c:
15295         Also overlay the vpn connecting icons onto the wired icon,
15296         when appropriate.
15297
15298         * gnome/vpn-properties/nm-vpn-properties.glade:
15299         Clean up a few strings to use better grammar and proper casing.
15300
15301 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15302
15303         * gnome/applet/vpn-connection.c:
15304         * gnome/applet/vpn-connection.h:
15305         Add nmwa_vpn_connection_is_activating ()
15306
15307         * gnome/applet/applet.c:
15308         * gnome/applet/applet.h:
15309         * gnome/applet/icons/nm-vpn-connecting*.png:
15310         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15311         the user know something's happening between clicking the VPN item and it
15312         actually being connected.
15313
15314 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15315
15316         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15317         failure case as well.
15318
15319 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15320
15321         * gnome/panel/eggtrayicon.[ch]:
15322         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15323
15324 2005-09-07  Dan Williams  <dcbw@redhat.com>
15325
15326         Patch from Bill Moss <bmoss@clemson.edu>
15327         * src/applet-dbus.c
15328                 - (nmwa_dbus_filter): strip whitespace from beginning
15329                         and end of VPN login banner
15330
15331 2005-09-07  Dan Williams  <dcbw@redhat.com>
15332
15333         * The great VPN Manager rewrite of 2005
15334
15335 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15336
15337         * gnome/applet/menu-items.c:
15338         * gnome/applet/nm-device.c:
15339         * gnome/applet/wireless-network.c:
15340         * gnome/libnm_glib/libnm_glib.c:
15341         * src/NetworkManagerDbusUtils.c:
15342         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15343         g_malloc0 doesn't return NULL
15344
15345 2005-09-06  Dan Williams  <dcbw@redhat.com>
15346
15347         Patch from Tomislav Vujec <tvujec@redhat.com>
15348         * src/NetworkManagerDevice.c
15349                 - (nm_get_device_by_udi): don't return a device when we
15350                         actually didn't find what we were looking for
15351
15352 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15353
15354         * gnome/applet/applet-dbus-devices.c:
15355         * gnome/applet/applet-dbus-devices.h:
15356         * gnome/applet/applet-dbus.c:
15357         * src/NetworkManagerDbus.c:
15358         * src/NetworkManagerDbus.h:
15359         * src/NetworkManagerDevice.c:
15360         * src/nm-dbus-device.c:
15361         Make NM push updates about active device strength when it changes,
15362         rather than having the applet poll every 2s.
15363
15364 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15365
15366         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15367         network_device_set_strength
15368
15369 2005-09-04  Dan Williams  <dcbw@redhat.com>
15370
15371         Patch from Bill Nottingham <notting@redhat.com>
15372         * src/NetworkManagerDevice.c
15373                 - (nm_device_activation_cancel): reset the quit_activation flag
15374
15375 2005-09-04  Dan Williams  <dcbw@redhat.com>
15376
15377         * src/nm-activation-request.c
15378                 - (nm_act_request_unref): actually free the structure,
15379                         which we didn't seem to be doing before
15380
15381 2005-09-04  Dan Williams  <dcbw@redhat.com>
15382
15383         Patch from John Palmieri <johnp@redhat.com>
15384         * gnome/applet/applet-dbus-devices.c
15385                 - Fix up unreffing of DBusMessage objects
15386
15387 2005-09-04  Dan Williams  <dcbw@redhat.com>
15388
15389         Patch from John Palmieri <johnp@redhat.com>
15390         * gnome/applet/nm-device.c
15391                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15392
15393 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15394
15395         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15396
15397 2005-09-02  Bill Nottingham  <notting@redhat.com>
15398
15399         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15400
15401 2005-09-01  Dan Williams  <dcbw@redhat.com>
15402
15403         * src/NetworkManager.c
15404                 - (nm_remove_device_from_list): rename to nm_remove_device
15405                 - (nm_hal_device_removed): call nm_remove_device()
15406
15407         * src/NetworkManagerDevice.c
15408                 - Change the NMWirelessScanCB member 'reschedule' which
15409                         wasn't used to 'force' to indicate that we need to
15410                         force a scan when adding a device
15411
15412         * src/nm-dbus-nm.c
15413                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15414                         from the device list
15415                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15416
15417 2005-09-01  Robert Love  <rml@novell.com>
15418
15419         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15420           and the check "!iface" in the error case is probably never true.
15421
15422 2005-09-01  Dan Williams  <dcbw@redhat.com>
15423
15424         Patch from Bill Nottingham <notting@redhat.com>
15425         * src/backends/NetworkManagerRedHat.c
15426                 - Add initial dialup support to Red Hat/Fedora backend
15427
15428 2005-09-01  Dan Williams  <dcbw@redhat.com>
15429
15430         * gnome/applet/applet-dbus-devices.c
15431                 - Sort both wireless networks and devices again, which got
15432                         broken when removing threading
15433
15434 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15435
15436         * gnome/applet/applet.c:
15437         Only show the "Stop/Start All Wireless Devices" menuitem
15438         if we actually have wireless devices.
15439
15440         * gnome/applet/applet-dbus-info.c:
15441         * gnome/applet/applet.c:
15442         * gnome/applet/other-network-dialog.c:
15443         * gnome/applet/vpn-password-dialog.c:
15444         Drop the gtk_dialog_run () calls in favor of connecting to
15445         "response" signals, needed now that the applet is not threaded.
15446
15447 2005-08-31  Dan Williams  <dcbw@redhat.com>
15448
15449         Patch from Bill Moss <bmoss@clemson.edu>
15450         * src/NetworkManagerDevice.c
15451                 - (nm_device_wireless_scan): fix scan timeout values
15452
15453 2005-08-30  Dan Williams  <dcbw@redhat.com>
15454
15455         * gnome/applet/wireless-applet.glade
15456                 - HIG-ify the Other Wireless Networks dialog a bit more
15457                 - Fix some potential segfaults in the info dialog
15458
15459 2005-08-30  Dan Williams  <dcbw@redhat.com>
15460
15461         * gnome/applet/applet-dbus-devices.c
15462                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15463
15464 2005-08-30  Dan Williams  <dcbw@redhat.com>
15465
15466         * gnome/applet/applet-dbus.[ch]
15467                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15468                         they weren't being used anyway
15469
15470 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15471
15472         * test/nmtestdevices.c: (print_usage), (main):
15473         Check the number of arguments, and fix a typo
15474
15475 2005-08-29  Dan Williams  <dcbw@redhat.com>
15476
15477         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15478         * gnome/applet/applet.c
15479                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15480
15481 2005-08-29  Dan Williams  <dcbw@redhat.com>
15482
15483         * gnome/applet/*
15484                 - Don't use threads any more.  Anything that blocks
15485                         (like gtk_dialog_run()) will  have to get fixed up which
15486                         should happen quickly.  We really only had threads to make
15487                         the animation smooth, and when everything got converted over
15488                         to DBus Pending Calls, the need for threads kind of went away
15489
15490 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15491
15492         * gnome/applet/applet.c: Draw VPN connections as radio items
15493         since we don't yet support multiple VPNs.
15494         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15495         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15496
15497 2005-08-29  Dan Williams  <dcbw@redhat.com>
15498
15499         Patch from j@bootlab.org
15500         - Make --without-named work
15501         - Make --with-dhcdbd work correctly
15502
15503 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15504
15505         * configure.in: Added "ca" to ALL_LINGUAS.
15506
15507 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15508
15509         * Fix up VPN state handling between the applet and NetworkManager,
15510                 so that the applet doesn't show a VPN as connected when one
15511                 really is not
15512                         - The applet no longer has a pointer to the active VPN's
15513                                 name, but tracks each VPNs state individually
15514                         - NM no longer has a "getActiveVPNConnection" method
15515                         - NM no longer broadcasts the "VPNConnectionChange" signal
15516                         - NM now broadcasts a "VPNConnectionStateChange" signal
15517                                 whenever the state of a VPN changes
15518
15519 2005-08-26  Dan Williams <dcbw@redhat.com>
15520
15521         * gnome/applet/applet-dbus-devices.c
15522           gnome/applet/applet-dbus-vpn.c
15523                 - Remove calls to dbus_pending_call_ref() because we already
15524                         "own" the pending call
15525                 - Remove calls to dbus_pending_call_get_completed() because
15526                         when we are in the callback, the pending call is completed
15527                         by definition
15528
15529 2005-08-22  Dan Williams <dcbw@redhat.com>
15530
15531         Patch by Bill Moss <bmoss@clemson.edu>
15532         * src/dhcp-manager/nm-dhcp-manager.c
15533                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15534                         some time to send out a RELEASE if they like
15535
15536 2005-08-22  Dan Williams <dcbw@redhat.com>
15537
15538         Noticed by Bill Moss <bmoss@clemson.edu>
15539         * src/NetworkManagerDbus.c
15540                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15541                         instead of just cancelling its activation
15542
15543         * src/NetworkManagerDevice.c
15544                 - (nm_device_deactivate): some small cleanups
15545                 - (nm_device_set_user_key_for_network): deactivate the device
15546                         instead of just cancelling its activation
15547
15548 2005-08-22  Dan Williams <dcbw@redhat.com>
15549
15550         Noticed by Bill Moss <bmoss@clemson.edu>
15551         * src/NetworkManagerDevice.c
15552                 - (nm_device_wireless_scan): fix scan timeout, we were
15553                         waiting way too long for scans to complete
15554
15555 2005-08-22  Dan Williams <dcbw@redhat.com>
15556
15557         Patch from j@bootlab.org:
15558         * src/backends/NetworkManagerDebian.c
15559                 - Make the Debian backend work for static IP again
15560
15561 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15562
15563         * gnome/applet/other-network-dialog.c:
15564         The "Create New Network" and "Connect to Other Network"
15565         dialogs share alot of code, but shouldn't share a window
15566         title.  Give them different ones.
15567
15568         * gnome/applet/wireless-applet.glade:
15569         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15570         Some more minor UI tweaks.
15571
15572 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15573
15574         * gnome/applet/other-network-dialog.c:
15575         * gnome/applet/wireless-applet.glade:
15576         Also need mnemonic widgets, and underline enabled.
15577
15578 2005-08-19  Dan Williams <dcbw@redhat.com>
15579
15580         * vpn-daemons/vpnc/nm-vpnc-service.c
15581                 - (vpnc_watch_cb): remove no-longer-relevant comment
15582                 - (write_config_option): new function, helper to write
15583                         config options to vpnc's stdin
15584                 - (nm_vpnc_config_write): use the new helper, make the
15585                         code shorter
15586
15587 2005-08-19  Christopher Aillon <caillon@redhat.com>
15588
15589         * gnome/applet/passphrase-dialog.c:
15590         * gnome/applet/wireless-applet.glade:
15591         Make the passphrase dialog response based, and treat
15592         responses other than OK (such as Esc, [X]) as a cancel.
15593
15594 2005-08-18  Christopher Aillon <caillon@redhat.com>
15595
15596         * initscript/Gentoo/NetworkManager:
15597         * initscript/RedHat/NetworkManager:
15598         * initscript/RedHat/NetworkManagerDispatcher:
15599         * initscript/SUSE/networkmanager:
15600         CVS remove these in place of .in replacements
15601
15602         * configure.in:
15603         * initscript/Gentoo/NetworkManager.in:
15604         * initscript/RedHat/NetworkManager.in:
15605         * initscript/RedHat/NetworkManagerDispatcher.in:
15606         * initscript/SUSE/networkmanager.in:
15607         These scripts now are generated so they work still when
15608         NM is built using a bindir other than /usr/bin
15609
15610 2005-08-18  Dan Williams <dcbw@redhat.com>
15611
15612         * gnome/applet/main.c
15613                 - Revert previous change for --no-session since
15614                         --sm-disable does the same thing
15615
15616 2005-08-18  Dan Williams <dcbw@redhat.com>
15617
15618         * gnome/applet/applet-dbus-info.c
15619                 - (nmi_dbus_create_error_message): new function
15620                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15621                         functions.  Also don't check for both device _and_ network before
15622                         asking for a user's key, because we may not have gotten all our
15623                         networks back from NM quite yet (due to the dbus pending calls
15624                         coming in later).  Fixes a hang in NM/nm-applet.
15625
15626         * src/NetworkManagerDbus.c
15627                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15628                         slightly more sane manner, even though we are still broken for
15629                         certain other error conditions.
15630                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15631                         to the info-daemon too
15632
15633         * src/NetworkManagerDevice.c
15634                 - Fix some debug messages to be info messages instead
15635
15636 2005-08-18  Dan Williams <dcbw@redhat.com>
15637
15638         * gnome/applet/main.c
15639                 - Add new "--no-session" parameter that disables applet
15640                         session management, ie for testing
15641
15642 2005-08-18  Christopher Aillon <caillon@redhat.com>
15643
15644         * gnome/applet/other-network-dialog.c:
15645         * gnome/applet/wireless-applet.glade: More mnemonics
15646
15647 2005-08-17  Robert Love  <rml@novell.com>
15648
15649         * initscript/SUSE/networkmanager: update
15650
15651 2005-08-17  Dan Williams  <dcbw@redhat.com>
15652
15653         * Tag NM_0_4_1_RELEASE
15654
15655 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15656
15657         * gnome/applet/applet.c: More translatable string cleanup
15658
15659
15660 2005-08-17  Dan Williams  <dcbw@redhat.com>
15661
15662         * gnome/applet/applet-dbus-info.c
15663                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15664                         from the dbus message, which tells us to unconditionally
15665                         ask the user for a new key.  Otherwise, we pull the key from
15666                         the keyring and return it.  If we fail to get the key from the
15667                         keyring, we ask the user for a new key.
15668                 - (nmi_dbus_get_network_key): new function to grab the key for
15669                         an essid from the keyring.
15670                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15671                         Also, don't return any key in the dbus message.
15672
15673         * src/NetworkManagerDbus.[ch]
15674                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15675                         indicate that we unconditionally want a new key.  This function
15676                         is now also used to get keys from the info-daemon which are
15677                         pre-stored, not just for asking the user for a new key.  The
15678                         "new_key" parameter indicates whether or not we wish to ask the
15679                         user for a new key.
15680                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15681                         info-daemon in the return message, so use NULL instead.  The
15682                         key will be filled in at connect time by calling
15683                         nm_dbus_get_user_key_for_network()
15684
15685         * src/NetworkManagerDevice.c
15686                 - (nm_device_wireless_configure): update for "new_key" param to
15687                         nm_dbus_get_user_key_for_network().  We initially set new_key
15688                         to FALSE to see if we have a stored key in the info-daemon, but
15689                         if the connection is unsuccessful at this stage we request a
15690                         new one
15691
15692 2005-08-17  Dan Williams  <dcbw@redhat.com>
15693
15694         * gnome/applet/icons/nm-no-connection.png
15695           gnome/applet/icons/nm-device-wired.png
15696                 - Use Diana's new RJ45 connector icons
15697
15698 2005-08-17  Dan Williams  <dcbw@redhat.com>
15699
15700         * src/NetworkManagerPolicy.c
15701                 - (nm_policy_device_change_check): clarify switching rules if
15702                         both new and old devices are valid; mainly, don't switch
15703                         away from user-requested wireless connection back to a wired
15704                         one
15705
15706 2005-08-17  Dan Williams  <dcbw@redhat.com>
15707
15708         * gnome/applet/Makefile.am
15709                 - Relocate the applet to /usr/bin since it is no longer
15710                         executed by anything, but directly by the user
15711
15712 2005-08-17  Dan Williams  <dcbw@redhat.com>
15713
15714         Patch from Bill Moss <bmoss@clemson.edu>
15715
15716         * gnome/applet/applet-dbus-info.[ch]
15717                 - (nmi_save_network_info): save timestamp for network if it
15718                         was a change requested by the user
15719                 - (nmi_dbus_update_network_info): get user_requested from dbus
15720                         message and pass to nmi_save_network_info()
15721
15722         * gnome/applet/applet.c
15723                 - (nmwa_update_network_timestamp): remove
15724                 - (nmwa_menu_item_activate): don't set timestamp on networks
15725                         here, only after a successful connect in nmi_save_network_info()
15726
15727         * src/NetworkManagerDbus.[ch]
15728                 - (nm_dbus_update_network_info): pass user_requested into the 
15729                         dbus message
15730
15731         * src/NetworkManagerPolicy.c
15732                 - (nm_policy_activation_finish): pass user_requested to
15733                         nm_dbus_update_network_info()
15734
15735 2005-08-16  Robert Love  <rml@novell.com>
15736
15737         * gnome/applet/applet.c: Better "Dial Up" menu item.
15738
15739 2005-08-16  Robert Love  <rml@novell.com>
15740
15741         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15742           "Connection Information" menu item.
15743
15744 2005-08-16  Dan Williams  <dcbw@redhat.com>
15745
15746         Patch from j@bootlab.org
15747         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15748
15749         * configure.in: allow specifying the path to dhcdbd
15750
15751 2005-08-16  Robert Love  <rml@novell.com>
15752
15753         Patch from j@bootlab.org
15754         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15755           src/backends/interface_parser.h: Debian dialup support.
15756
15757 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15758
15759         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15760         * gnome/applet/applet.c: Add some mnemonics for VPNC
15761
15762         * vpn-daemons/.cvsignore: fix this up a little bit
15763
15764 2005-08-16  Robert Love  <rml@novell.com>
15765
15766         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15767           support.
15768
15769 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15770
15771         * gnome/applet/applet.c: Split markup out of translatable strings
15772         and clean up logic a little bit.  (fixes #309012)
15773
15774 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15775
15776         * gnome/vpn-properties/nm-vpn-properties.c:
15777         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15778         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15779         Makeshift fix to remove newlines from translatable strings.
15780         Note that we now return an allocated string, so callers of
15781         get_confirmation_details () must now call g_free () on the
15782         result. (fixes #309033).
15783
15784 2005-08-12  Robert Love  <rml@novell.com>
15785
15786         * gnome/applet/applet-dbus.c: remove newlines from translatable
15787           strings--not needed here anyway. (fix b.g.o #309011)
15788         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15789
15790 2005-08-11  Robert Love  <rml@novell.com>
15791
15792         * gnome/applet/applet.c: mark string as translatable.
15793
15794 2005-08-11  Robert Love  <rml@novell.com>
15795
15796         * initscript/SUSE/networkmanager: update.
15797
15798 2005-08-11  Dan Williams  <dcbw@redhat.com>
15799
15800         * src/nm-dhcp-manager.c
15801                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15802                         an gateway returned from DHCP, try to use the address of the DHCP
15803                         server as the gateway instead.  Found by Ralf Ertzinger.
15804
15805 2005-08-10  Robert Love  <rml@novell.com>
15806
15807         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15808           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15809
15810 2005-08-10  Dan Williams  <dcbw@redhat.com>
15811
15812         Patch from Bill Moss <bmoss@clemson.edu>
15813         * Consolidate writes of access point information updates to the info daemon
15814                 so that we only do it when the connection to the access point was
15815                 successful.  Also consolidates updates to GConf in the Gnome applet.
15816
15817         * src/nm-netlink-monitor.c
15818                 - Silence compile warning when calling g_object_new()
15819
15820 2005-08-08  Dan Williams  <dcbw@redhat.com>
15821
15822         Patch from Steev <steev@steev.net>:
15823         * src/backends/NetworkManagerGentoo.c
15824                 - Stub new dialup backend functions
15825
15826 2005-08-08  Dan Williams  <dcbw@redhat.com>
15827
15828         Patch from Colin Slater:
15829         * src/backends/NetworkManagerGentoo.c
15830                 - (nm_system_update_dns): Fix exit status check for restarting
15831                         nscd
15832
15833 2005-08-05  Robert Love  <rml@novell.com>
15834
15835         * NetworkManager.h,
15836           gnome/applet/applet-dbus-devices.c,
15837           gnome/applet/applet-dbus-devices.h,
15838           gnome/applet/applet-dbus.c,
15839           gnome/applet/applet.c,
15840           gnome/applet/applet.h,
15841           src/NetworkManager.c,
15842           src/NetworkManagerMain.h,
15843           src/NetworkManagerSystem.h,
15844           src/backends/NetworkManagerRedHat.c,
15845           src/backends/NetworkManagerSuSE.c,
15846           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15847
15848 2005-08-05  Robert Love  <rml@novell.com>
15849
15850         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15851           machine's hostname to make adhoc creation idiot-proof.
15852
15853 2005-08-04  Robert Love  <rml@novell.com>
15854
15855         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15856           freed.
15857
15858 2005-08-04  Dan Williams  <dcbw@redhat.com>
15859
15860         * gnome/applet/applet-dbus-info.c
15861           gnome/applet/applet-dbus-info.h
15862                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15863                         to store key, key type, and auth method rather than just auth method
15864                 - (nmi_dbus_update_network_info): new function
15865                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15866
15867         * gnome/applet/passphrase-dialog.c
15868                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15869                         of saving the info ourselves
15870
15871         * gnome/libnm_glib/libnm_glib.c
15872                 - Remove the stupid version check for dbus
15873
15874         * src/NetworkManagerAP.c
15875           src/NetworkManagerAP.h
15876                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15877
15878         * src/NetworkManagerDbus.c
15879           src/NetworkManagerDbus.h
15880                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15881                         more than just the auth method
15882
15883         * src/NetworkManagerDevice.c
15884                 - Update network info at the appropriate times
15885
15886 2005-07-29  Ray Strode  <rstrode@redhat.com>
15887
15888         * src/NetworkManager.c (nm_info_handler): don't use input as format
15889         string (Spotted by Ian Jackson).
15890
15891 2005-07-27  Dan Williams  <dcbw@redhat.com>
15892
15893         * src/nm-dbus-nm.c
15894           src/nm-dbus-net.c
15895                 - Random cleanups of spacing
15896
15897         * gnome/applet/applet.h
15898           gnome/applet/other-network-dialog.c
15899           gnome/applet/passphrase-dialog.c
15900                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15901
15902         Patch from Bill Moss:
15903                 - Make Other Wireless Networks work again with encryption keys
15904
15905 2005-07-26  Dan Williams  <dcbw@redhat.com>
15906
15907         Patch from Steev <steev@steev.net>:
15908         * src/backends/NetworkManagerGentoo.c
15909           src/backends/Makefile.am
15910                 - Fix up Gentoo backend
15911
15912 2005-07-26  Robert Love  <rml@novell.com>
15913
15914         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15915
15916 2005-07-25  Robert Love  <rml@novell.com>
15917
15918         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15919           in the same group as the wireless networks, since they are all
15920           mutually exclusive.
15921
15922 2005-07-24  Ray Strode  <rstrode@redhat.com>
15923
15924         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15925         remove unneeded NULL arg from g_object_new().  Any
15926         warnings caused by not having the extra NULL are just a
15927         result of a bug in glib 2.7.0 - 2.7.2.
15928
15929 2005-07-22  Robert Love  <rml@novell.com>
15930
15931         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15932
15933 2005-07-22  Robert Love  <rml@novell.com>
15934
15935         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15936           parameters (gcc 4.0.2 warning fix).
15937
15938 2005-07-18  Robert Love  <rml@novell.com>
15939
15940         Suggested by Aaron Bockover (abockover@novell.com)
15941         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15942           s/Ascii/ASCII
15943         * gnome/applet/passphrase-dialog.c: ditto
15944         * gnome/applet/wireless-applet.glade: ditto
15945
15946 2005-07-13  Dan Williams  <dcbw@redhat.com>
15947
15948         Patch from Ray Strode <halfline@gmail.com>
15949         * vpn-daemons/vpnc/nm-vpnc-service.c
15950                 - Don't let vpnc daemonize, fixes some races with PID file reading
15951
15952 2005-07-13  Dan Williams  <dcbw@redhat.com>
15953
15954         Patch from Ray Strode <halfline@gmail.com>
15955         * Random cleanups for strict CFLAGS
15956
15957 2005-07-07  Dan Williams  <dcbw@redhat.com>
15958
15959         Patch from Derek Atkins <warlord@MIT.EDU>
15960         * src/nm-dbus-net.c:
15961                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15962
15963 2005-07-07  Dan Williams  <dcbw@redhat.com>
15964
15965         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15966         * src/backends/NetworkManagerGentoo.c
15967                 - Gentoo backend Static IP nameserver fixes
15968                 - General Gentoo backend goodness
15969
15970 2005-07-07  Dan Williams  <dcbw@redhat.com>
15971
15972         Patch from Bastien Nocera:
15973         * gnome/applet/applet.c
15974                 - Fix up error reporting when icons or glade files are missing
15975
15976 2005-07-07  Robert Love  <rml@novell.com>
15977
15978         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
15979           are not any VPN connections above it.
15980
15981 2005-07-07  Robert Love  <rml@novell.com>
15982
15983         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
15984
15985 2005-07-05  Robert Love  <rml@novell.com>
15986
15987         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
15988           zero.
15989
15990 2005-07-05  Robert Love  <rml@novell.com>
15991
15992         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
15993           on wired or unencrypted wireless.
15994
15995 2005-07-01  Robert Love  <rml@novell.com>
15996
15997         * src/NetworkManagerSystem.c: Print the error via strerror().
15998
15999 2005-06-30  Robert Love  <rml@novell.com>
16000
16001         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
16002           then exit if the glade file is not found.  currently the application
16003           just hangs.
16004
16005 2005-06-30  Robert Love  <rml@novell.com>
16006
16007         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
16008           explicitly up all interfaces on wake from sleep.
16009
16010 2005-06-30  Robert Love  <rml@novell.com>
16011
16012         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16013           with information about the currently active connection.
16014         * gnome/applet/applet.h: (ditto)
16015         * gnome/applet/wireless-applet.glade: (ditto), new file
16016
16017 2005-06-30  Robert Love  <rml@novell.com>
16018
16019         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16020         * src/nm-dbus-nm.c: print when we sleep and wake up.
16021         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16022         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16023           in /sbin unless D-BUS is, folks).
16024         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16025
16026 2005-06-27  Robert Love  <rml@novell.com>
16027
16028         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16029           case.
16030
16031 2005-06-27  Robert Love  <rml@novell.com>
16032
16033         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16034           items radios.
16035
16036 2005-06-26  Robert Love  <rml@novell.com>
16037
16038         * src/NetworkManagerDevice.c: be specific about which device in
16039           nm_info() message.
16040
16041 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16042
16043         * src/nm-netlink-monitor.c: correct spelling error.
16044
16045 2005-06-23  Robert Love  <rml@novell.com>
16046
16047         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16048         * gnome/applet/passphrase-dialog.c: more of that keyring!
16049
16050 2005-06-23  Robert Love  <rml@novell.com>
16051
16052         * configure.in: remove extraneous GNOMEKEYRING directives.
16053         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16054         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16055         * gnome/applet/passphrase-dialog.c: whitespace.
16056
16057 2005-06-23  Robert Love  <rml@novell.com>
16058
16059         * src/NetworkManagerDevice.c: division in assignment was flipped.
16060
16061 2005-06-23  David Zeuthen  <david@fubar.dk>
16062
16063         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16064         signal to the child to indicate that we got what we wanted when we
16065         see two new-lines right after each other.
16066         (nmwa_vpn_request_password): Pass a structure with several members
16067         instead of just the passwords
16068
16069 2005-06-23  Dan Williams <dcbw@redhat.com>
16070
16071         * src/NetworkManager.c
16072           src/NetworkManagerMain.h
16073                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16074                 - (nm_hal_init): new function, init libhal context then add devices
16075                 - (nm_hal_deinit): new function, clean up libhal context
16076                 - (nm_data_free): Move Hal cleanup here
16077                 - (main): check whether Hal is running, and if so, get a list of
16078                         network devices from it
16079
16080         * src/NetworkManagerDbus.c
16081                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16082                         and when it appears, get a list of network devices from it.  If
16083                         Hal goes away, clean up the libhal context
16084
16085 2005-06-22  Robert Love  <rml@novell.com>
16086
16087         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16088           permissions of scripts before executing.
16089
16090 2005-06-21  Robert Love  <rml@novell.com>
16091
16092         * initscript/SUSE/networkmanager: update.
16093         * src/backends/NetworkManagerSuSE.c: cleanup.
16094
16095 2005-06-21  Robert Love <rml@novell.com>
16096
16097         * gnome/applet/applet.c: use menu mnemonics.
16098         * gnome/applet/menu-items.c: (ditto)
16099
16100 2005-06-21  Robert Love  <rml@novell.com>
16101
16102         * applet/applet-dbus-devices.c: mark non-static functions static.
16103         * applet/applet-dbus-vpn.c: (ditto)
16104         * applet/applet.c: (ditto)
16105         * applet/nm-device.h: (ditto)
16106         * applet/other-network-dialog.c: (ditto)
16107         * applet/passphrase-dialog.c: (ditto)
16108         * NetworkManager.c: (ditto)
16109         * NetworkManagerDbus.c: (ditto)
16110         * NetworkManagerDevice.c: (ditto)
16111         * NetworkManagerPolicy.c: (ditto)
16112         * NetworkManagerUtils.c: (ditto)
16113         * NetworkManagerWireless.c: (ditto)
16114         * NetworkManagerWireless.h: (ditto)
16115         * nm-netlink-monitor.c: (ditto)
16116         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16117         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16118         * autoip.c: include autoip.h.
16119         * autoip.h: new file.  define get_autoip().
16120         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16121         * NetworkManagerDbus.h: remove duplicate definitions.
16122
16123 2005-06-20  Robert Love  <rml@novell.com>
16124
16125         * Makefile.am: Add missing intltool-foo.in generated files to
16126           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16127           with the start of stuff to cleanup on 'distclea'.
16128         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16129           stuff right and 'distcheck' works.
16130         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16131           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16132           Makefile.am for each.  And systray/Makefile needs to be redone.
16133
16134 2005-06-19  Dan Williams <dcbw@redhat.com>
16135
16136         * src/NetworkManagerDevice.c
16137         - (nm_device_wireless_process_scan_results): scan every 20s when
16138           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16139
16140 2005-06-19  Dan Williams <dcbw@redhat.com>
16141
16142         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16143
16144 2005-06-18  Ray Strode <rstrode@redhat.com>
16145
16146         * src/nm-netlink-monitor.c 
16147         (nm_netlink_monitor_event_handler): check for the presence
16148         of either error condition not both. 
16149         
16150         (nm_netlink_monitor_error_handler): emit error signal if
16151         error occurs.
16152
16153         (nm_netlink_monitor_event_handler),
16154         (nm_netlink_monitor_error_handler),
16155         (nm_netlink_monitor_disconnect_handler): if an 
16156         assertion fails disconnect the event handler to prevent 
16157         infinite loops.
16158
16159         * src/nm-netlink-monitor.h: add new error condition
16160         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16161
16162 2005-06-18  Ray Strode <rstrode@redhat.com>
16163
16164         * src/nm-netlink-monitor.c 
16165         (nm_netlink_monitor_event_handler): remove bogus < 0
16166         check on unsigned value and return early if the kernel
16167         didn't send any bytes.
16168
16169 2005-06-17  Robert Love  <rml@novell.com>
16170
16171         * initscript/SUSE/networkmanager: Change the Provides and default
16172         run levels
16173
16174 2005-06-16  Dan Williams <dcbw@redhat.com>
16175
16176         Patch from Robert Love:
16177         * gnome/applet/applet.c
16178                 - Beautify some applet menu item names
16179
16180 2005-06-17  David Zeuthen  <davidz@redhat.com>
16181
16182         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16183         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16184         Also add new methods can_export, import_file and export.
16185
16186         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16187         to the main UI
16188
16189         * gnome/vpn-properties/nm-vpn-properties.c:
16190         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16191         nm-vpn-ui-interface.h.
16192         (update_edit_del_sensitivity): Also update "Export" sensitivity
16193         (add_vpn_connection): Also add new SVC_NAME column
16194         (import_settings): New function
16195         (retrieve_data_from_selected_connection): New function
16196         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16197         this function
16198         (export_cb): New function
16199         (init_app): Also setup the "export" widget
16200         (main): Support the --import-service and --import-file commandline
16201         arguments
16202
16203         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16204         D-BUS 0.34
16205
16206 2005-06-16  Dan Williams <dcbw@redhat.com>
16207
16208         Patch from Robert Love:
16209         * gnome/applet/menu-items.c
16210                 - (network_menu_item_new): pass -1 as wireless network
16211                         menu items height size request rather than ascent / 2
16212
16213 2005-06-16  Dan Williams <dcbw@redhat.com>
16214
16215         * Clean up wording in Wireless Scan Methods menu items and constants
16216
16217 2005-06-16  Robert Love  <rml@novell.com>
16218
16219         * po/POTFILES.in
16220                 - remove gtkcell* files
16221
16222 2005-06-15  Dan Williams <dcbw@redhat.com>
16223
16224         Patch from Robert Love: make the applet stetic
16225
16226         * gnome/applet/Makefile.am
16227                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16228
16229         * gnome/applet/gtkcellview.h
16230           gnome/applet/gtkcellview.c
16231           gnome/applet/gtkcellrendererprogress.h
16232           gnome/applet/gtkcellrendererprogress.c
16233                 - Removed
16234
16235         * gnome/applet/menu-items.c
16236                 - Progress bars are 5:1 size ratio
16237                 - Use GTK progress bars rather than internal ones
16238
16239 2005-06-15  Dan Williams <dcbw@redhat.com>
16240
16241         Patch from Robert Love:
16242         * initscript/SUSE/networkmanager
16243                 - Fix typo
16244
16245 2005-06-15  Dan Williams <dcbw@redhat.com>
16246
16247         * src/backends/NetworkManagerSuSE.c
16248           src/backends/NetworkManagerRedHat.c
16249           src/backends/NetworkManagerDebian.c
16250                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16251
16252 2005-06-15  Dan Williams <dcbw@redhat.com>
16253
16254         * src/backends/NetworkManagerDebian.c
16255                 - Add nm_system_device_get_use_dhcp() to debian backend
16256
16257         Patch from Kay Sievers:
16258         * src/backends/NetworkManagerSuSE.c
16259                 - Update debian backend for static IP nameservers
16260
16261         * src/NetworkManagerDevice.c
16262                 - Actually set the device to use static IP or DHCP rather
16263                         than always DHCP
16264
16265 2005-06-15  Dan Williams <dcbw@redhat.com>
16266
16267         Patch from Thom May:
16268         * src/backends/NetworkManagerDebian.c
16269                 - Update debian backend for static IP nameservers
16270
16271 2005-06-15  Dan Williams <dcbw@redhat.com>
16272
16273         Patches from Robert Love:
16274         * gnome/applet/wireless-applet.glade
16275                 - Tighten up wording
16276
16277         * src/NetworkManagerDevice.c
16278                 - Remove misplaced ';'
16279
16280         * configure.in
16281           initscript/Makefile.am
16282           initscript/SUSE/Makefile.am
16283           initscript/SUSE/networkmanager
16284                 - Add SUSE initscript
16285
16286 2005-06-12  David Zeuthen  <davidz@redhat.com>
16287
16288         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16289
16290         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16291
16292         * gnome/vpn-properties/nm-vpn-properties.c: New file
16293
16294         * gnome/vpn-properties/Makefile.am: New file
16295
16296         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16297         array of passwords
16298
16299         * src/vpn-manager/nm-vpn-manager.c
16300         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16301         instead of just a single one
16302
16303         * src/vpn-manager/nm-dbus-vpn.c:
16304         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16305         here
16306         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16307
16308         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16309         Change the interface here to give a list of passwords. Also, don't
16310         require username, but do require service
16311
16312         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16313         the binary for the auth-dialog and use that instead of putting up a
16314         dialog asking for a single password
16315
16316         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16317         however do remember the service
16318
16319         * gnome/applet/main.c (main): Setup i18n
16320
16321         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16322         connection to '%s'" to the tooltip if we are connected using VPN
16323         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16324         key to determine whether we the auth-dialog needs to
16325         reprompt. Also cope with the fact that the auth-dialog now returns
16326         an array of passwords.
16327         (nmwa_menu_configure_vpn_item_activate): New handler for
16328         "Configure VPN..." menu item
16329         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16330         (is_vpn_available): New function to determine if we got any
16331         NM-compatible VPN software installed
16332         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16333         items only if we have NM-compatible VPN software installed
16334         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16335         logic for detecting when VPN connections are removed
16336
16337         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16338         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16339         since these are defined elsewhere
16340
16341         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16342         function used to keep track of whether the last attempt succeded
16343         (nmwa_dbus_filter): Update last_attempt according to whether the
16344         VPN connection could be established or not
16345
16346         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16347         Change prototype to take an array of passwords, not just a single
16348         password
16349
16350         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16351         update service, not user
16352         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16353         dbus_active_vpn_name is not NULL before using it
16354         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16355         string array instead of assuming a single password
16356
16357         * gnome/applet/applet-dbus-info.c:
16358         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16359         user name; don't read from gconf
16360
16361         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16362         VPN_NAME_FILES_DIR
16363
16364         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16365
16366         * configure.in: Add checks for gmodule-2.0.
16367         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16368         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16369         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16370         for details
16371
16372         * vpn-daemons/Makefile.am: Removed
16373
16374         * vpn-daemons/README: New file to describe extensions points for VPN
16375         software
16376
16377 2005-06-10  Dan Williams <dcbw@redhat.com>
16378
16379         * src/backends/NetworkManagerRedHat.c
16380                 - (get_current_profile_name): new function, grab current network profile name from
16381                         /etc/sysconfig/network
16382                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16383                         update an IP4 Config structure's settings from it
16384                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16385                         get DNS info from current network profile
16386
16387 2005-06-09  Dan Williams <dcbw@redhat.com>
16388
16389         Patch from Robert Love:
16390         * src/NetworkManagerDevice.c
16391           src/NetworkManagerUtils.c
16392                 - 64-bit build fixes
16393
16394 2005-06-09  Dan Williams <dcbw@redhat.com>
16395
16396         Patch from Kay Sievers and Robert Love:
16397         * configure.in
16398           src/backends/Makefile.am
16399           src/backends/NetworkManagerSuSE.c
16400                 - Add SuSE support
16401
16402 2005-06-09  Dan Williams <dcbw@redhat.com>
16403
16404         * NetworkManager.h
16405                 - Add NMWirelessScanMethod enum for scan methods
16406
16407         * gnome/applet/applet-dbus-devices.c
16408                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16409                 - (nmwa_dbus_update_scanning_enabled): remove
16410                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16411                         since it got removed
16412                 - (nmwa_dbus_enable_scanning): remove
16413
16414         * gnome/applet/applet-dbus-info.c
16415                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16416                         update the wireless scanning method from NMI
16417                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16418                         method value to NetworkManager
16419                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16420
16421         * gnome/applet/applet-dbus-info.h
16422                 - Add prototype for nmi_dbus_signal_update_scan_method
16423
16424         * gnome/applet/applet.c
16425                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16426                         Wireless Scanning menu based on current wireless scan method
16427                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16428                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16429                         and update our menu items to make sure the right one is checked
16430                 - (nmwa_set_scanning_enabled_cb): remove
16431                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16432                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16433                         Scanning menu item
16434                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16435                         from GConf
16436                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16437                         so we get notified of preference values too
16438                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16439
16440         * gnome/applet/applet.h
16441                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16442                 - Add wireless scan method member to applet data
16443                 - Remove pause_scanning_item, add Wireless Scanning submenu
16444
16445         * src/NetworkManager.c
16446                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16447                 - (main): grab scanning method from NMI if we can
16448
16449         * src/NetworkManagerDbus.c
16450                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16451                         nm_dbus_update_wireless_scan_method()
16452                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16453                         from NMI
16454                 - (nm_dbus_nmi_is_running): redundant function, removed
16455                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16456                         when NMI comes back
16457
16458         * src/NetworkManagerDevice.c
16459                 - (nm_device_is_activated): return TRUE if the device is activated
16460                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16461                         and we are activated
16462
16463         * src/nm-dbus-nm.c
16464                 - (nm_dbus_nm_set_scanning_enabled): removed
16465                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16466                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16467
16468 2005-06-09  Dan Williams <dcbw@redhat.com>
16469
16470         * NetworkManager.h
16471           src/vpn-manager/nm-vpn-service.c
16472                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16473
16474 2005-05-27  Dan Williams <dcbw@redhat.com>
16475
16476         * vpn-daemons/vpnc/nm-vpnc-service.c
16477                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16478                         Should fix the bug where the VPN connection terminates the first time.
16479
16480 2005-05-20  Dan Williams <dcbw@redhat.com>
16481
16482         * NetworkManager.h
16483                 - Differentiate VPN config signals between bad VPN config options
16484                         and bad IP config
16485
16486         * gnome/applet/applet-dbus-info.h
16487                 - Add prototypes for wireless network and vpn connection update functions
16488
16489         * gnome/applet/applet-dbus.c
16490                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16491
16492         * gnome/applet/applet.c
16493                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16494                         error signals
16495                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16496                         propogation to NetworkManager
16497                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16498                         notify propogation to NetworkManager
16499
16500         * src/NetworkManagerDbus.c
16501                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16502                         are updating so a network can be removed from it if necessary
16503
16504         * src/vpn-manager/nm-vpn-manager.c
16505                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16506
16507         * vpn-daemons/vpnc/nm-vpnc-service.c
16508                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16509                 - (nm_vpnc_dbus_signal_launch_failed): remove
16510                 - (nm_vpnc_dbus_signal_connect_failed): remove
16511                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16512                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16513                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16514                         for new generalized error signal function, remove config file stuff
16515                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16516                         we can write configuration options to it
16517                 - (nm_vpnc_config_file_generate): removed
16518                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16519                 - (nm_vpnc_config_options_validate): validate the config options we receive
16520                         from NetworkManager to block potential exploits
16521                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16522                         starting vpnc
16523                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16524                         to NetworkManager
16525
16526 2005-05-16  Dan Williams  <dcbw@redhat.com>
16527
16528         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16529                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16530                         is not "connect"
16531
16532 2005-05-16  Dan Williams  <dcbw@redhat.com>
16533
16534         Patch from Tomislav Vujec <tvujec@redhat.com>
16535         * gnome/applet/applet-dbus-info.c
16536                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16537                         GConf and pass them to NetworkManager.  New key is 'routes' under
16538                         the VPN connection, and should be a string list
16539
16540         * src/NetworkManagerSystem.c
16541                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16542                         set them on the device when we set the rest of the VPN config.  Ensure
16543                         they are in the correct format since they are passed directly to the
16544                         command line.
16545
16546         * src/backends/NetworkManagerRedHat.c
16547           src/backends/NetworkManagerDebian.c
16548                 - (nm_system_device_add_route_via_device_with_iface): new function
16549
16550         * src/vpn-manager/nm-dbus-vpn.c
16551                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16552
16553         * src/vpn-manager/nm-vpn-manager.c
16554                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16555                         them into the IP4 config functions
16556
16557 2005-05-15  Dan Williams  <dcbw@redhat.com>
16558
16559         From Filip Miletic:
16560         * po/sr.po
16561           po/sr@Latn.po
16562           configure.in
16563                 - Serbian translation added
16564
16565 2005-05-15  Dan Williams  <dcbw@redhat.com>
16566
16567         * dispatcher-daemon/NetworkManagerDispatcher.c
16568                 - (main): sync arguments with NetworkManager and the applet, now use
16569                         "--no-daemon" rather than "daemon=no"
16570                 - (nmd_print_usage): Fix script path in usage message
16571
16572 2005-05-15  Dan Williams  <dcbw@redhat.com>
16573
16574         * src/NetworkManagerDevice.[ch]
16575           src/NetworkManagerPolicy.c
16576           src/NetworkManager.c
16577           src/nm-dbus-nm.c
16578                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16579                         longer send the DeviceNoLongerActive signal unconditionally, but only
16580                         when the device is actually active.
16581
16582         * dispatcher-daemon/NetworkManagerDispatcher.c
16583                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16584                         and simplify the logic
16585                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16586                         we free it later on
16587
16588         * initscript/RedHat/Makefile.am
16589           initscript/RedHat/NetworkManagerDispatcher
16590                 - Add initscript for NetworkManagerDispatcher
16591
16592
16593         Patch from Bill Moss:
16594         * dispatcher-daemon/NetworkManagerDispatcher.c
16595                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16596
16597         * src/NetworkManagerDbus.c
16598                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16599                         and DeviceNowActive gets signaled, then the device has a new IP address
16600                         anyway.  There's no need for a separate signal.
16601
16602         * src/NetworkManagerDevice.c
16603                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16604
16605         * src/NetworkManagerPolicy.c
16606                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16607                         activates successfully.  This kind of went missing when I reworked the
16608                         activation code.
16609
16610 2005-05-15  Dan Williams  <dcbw@redhat.com>
16611
16612         * configure.in
16613                 - Check for dhcdbd and error if its not found
16614
16615         * src/dhcp-manager/Makefile.am
16616           src/dhcp-manager/nm-dhcp-manager.c
16617                 - Use path to dhcdbd that configure found
16618
16619 2005-05-14  Dan Williams  <dcbw@redhat.com>
16620
16621         * gnome/applet/nm-device.c
16622                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16623                         sort wireless networks alphabetically
16624
16625         * gnome/applet/applet-dbus-devices.c
16626                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16627                         before copying them over to the GUI
16628
16629 2005-05-14  Dan Williams  <dcbw@redhat.com>
16630
16631         * src/NetworkManager.c
16632                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16633                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16634                         the device list, as does nm_get_active_device() which is called from
16635                         nm_vpn_manager_deactivate_vpn_connection().
16636
16637 2005-05-14  Dan Williams  <dcbw@redhat.com>
16638
16639         * NetworkManager.h
16640                 - Add signals for VPN Launch and Connect failures
16641
16642         * gnome/applet/applet-dbus.c
16643                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16644
16645         * gnome/applet/applet.c
16646                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16647                         function to handle all VPN failure messages
16648                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16649                         function to hanlde all VPN failure  messages
16650                 - (show_warning_dialog): work around focus-stealing prevention
16651
16652         * gnome/applet/other-network-dialog.c
16653           gnome/applet/passphrase-dialog.c
16654                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16655                         problem where it never enabled for ASCII Key and Hex Key types
16656
16657         * gnome/applet/wireless-applet.glade
16658                 - Add window title to Other Wireless Network Dialog
16659
16660         * src/vpn-manager/nm-dbus-vpn.c
16661                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16662                         function to handle all VPN failure messages
16663
16664         * src/vpn-manager/nm-vpn-manager.c
16665                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16666
16667         * vpn-daemons/vpnc/nm-vpnc-service.c
16668                 - (nm_vpnc_dbus_signal_launch_failed): new function
16669                 - (nm_vpnc_dbus_signal_connect_failed): new function
16670                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16671                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16672                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16673                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16674
16675 2005-05-11  Dan Williams  <dcbw@redhat.com>
16676
16677         * vpn-daemons/vpnc/nm-vpnc-service.c
16678                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16679                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16680                         file exists before trying to write it out.
16681
16682 2005-05-10  Dan Williams  <dcbw@redhat.com>
16683
16684     * gnome/applet/applet-dbus-device.c
16685         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16686             prevented just entering ESSID and leaving key and key type up to
16687             NetworkManager (which should have them already cached)
16688
16689 2005-05-08  Dan Williams  <dcbw@redhat.com>
16690
16691         * src/NetworkManagerPolicy.c
16692                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16693                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16694                         fix a situation where NM is told to terminate and the device stops activation,
16695                         but the main thread isn't aware of that because it would never have run
16696                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16697                         had already quit.
16698
16699         * src/NetworkManagerDevice.c
16700                 - (nm_device_probe_wired_link_state): cosmetic fixes
16701                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16702                         we've failed to activate or been canceled.
16703                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16704
16705 2005-05-08  Dan Williams  <dcbw@redhat.com>
16706
16707         * src/NetworkManagerWireless.c
16708                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16709                         value of WEXT quality structures, and add a debug message when we cannot
16710                         determine any quality % at all
16711
16712 2005-05-08  Dan Williams  <dcbw@redhat.com>
16713
16714         * src/dhcp-manager/nm-dhcp-manager.c
16715                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16716                         it goes down.
16717
16718 2005-05-06  Dan Williams  <dcbw@redhat.com>
16719
16720         * gnome/applet/applet-dbus-device.c
16721           gnome/applet/applet-dbus-info.c
16722           gnome/applet/applet-dbus.c
16723           gnome/applet/applet.c
16724           gnome/applet/applet.h
16725                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16726
16727         * gnome/applet/applet-dbus.c
16728                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16729                         so we notice when wired device's carriers come back on.  Should
16730                         fix issue with wired devices being grayed out even if the cable
16731                         is in, for devices that support carrier detection.
16732
16733         * gnome/applet/applet.c
16734                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16735                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16736                         tooltip message
16737                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16738                         Fix situation where applet wouldn't respond to menu selections
16739
16740         * src/NetworkManager.c
16741           src/NetworkManagerDevice.c
16742           src/NetworkManagerDbus.c
16743           src/NetworkManagerDbus.h
16744                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16745
16746         * src/NetworkManagerDbus.c
16747                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16748                         Remove, no longer used or relevant
16749                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16750                 - (nm_dbus_schedule_device_status_change_signal): add
16751
16752         * src/NetworkManagerDevice.c
16753                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16754                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16755                         ie don't deactivate them unless explicitly told to by the user.  Also send
16756                         CARRIER_OFF / CARRIER_ON signals when link changes
16757                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16758                         Don't print error message when device is no longer around
16759                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16760                         not just during activation
16761
16762         * src/NetworkManagerPolicy.c
16763                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16764                         auto-device-selection.
16765                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16766
16767         * src/NetworkManagerSystem.c
16768                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16769                         is no longer present (Bill Moss)
16770
16771         * src/backends/shvar.c
16772                 - (svOpenFile): Open read-only to make SELinux happy
16773
16774         * src/backends/NetworkManagerRedHat.c
16775                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16776                         the path to the ifcfg-* files
16777
16778 2005-05-05  Dan Williams  <dcbw@redhat.com>
16779
16780         * Expose activation stages to NetworkManager clients, like the applet
16781         * Add Diana's progress icons to the applet, cued off NM activation stage
16782         * Use more descriptive tooltips, cued off NM activation stage
16783
16784 2005-05-05  Ray Strode  <rstrode@redhat.com>
16785
16786         * src/nm-netlink-monitor.c:
16787                 - Use clear_event_source instead of g_nullify_pointer() again.
16788
16789 2005-05-05  Dan Williams  <dcbw@redhat.com>
16790
16791         * gnome/applet/main.c
16792                 - Fix session management so the applet is actually managed now
16793
16794         * gnome/applet/passphrase-dialog.c
16795                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16796
16797 2005-05-05  Dan Williams  <dcbw@redhat.com>
16798
16799         Patch from Bill Moss:
16800         * gnome/libnm_glib/libnm_glib.c
16801                 - Fix for dbus-0.33
16802
16803 2005-05-05  Dan Williams  <dcbw@redhat.com>
16804
16805         Suggestion from Bill Moss:
16806         * src/NetworkManagerSystem.c
16807                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16808
16809
16810         * src/NetworkManager.c
16811                 - (nm_data_free): move destruction of the various managers after
16812                         release of device list, because deactivating and freeing a device
16813                         requires at least the named manager
16814                 - (nm_poll_and_update_wireless_link_state):
16815                   (nm_device_link_activated):
16816                   (nm_device_link_deactivated):
16817                         don't grab the device list lock when actually updating device
16818                         link status or strength, since nm_device_set_link_active()
16819                         needs to call nm_get_active_device(), which also locks the device list.
16820
16821         * src/NetworkManagerDevice.c
16822                 - (nm_device_set_link_active): if a device's link switches from off->on,
16823                         and it's wired, and the active device is wireless (or there is no
16824                         active device), activate the new device whose link just came on
16825                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16826                         my only calling the link to the current ap "failed" when more than 2
16827                         consecutive link checks have failed
16828
16829 2005-05-04  Dan Williams  <dcbw@redhat.com>
16830
16831         * src/NetworkManagerDevice.c
16832                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16833                         but let link_to_specific_ap() do the locking where it needs
16834
16835         Patch from Bill Moss:
16836         * src/NetworkManagerSystem.c
16837                 - Set MTU of VPN devices to 1412
16838
16839 2005-05-04  Dan Williams  <dcbw@redhat.com>
16840
16841         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16842
16843         * Fix some holes in device activation and retaining the currently connected
16844                 access point
16845
16846 2005-05-03  Dan Williams  <dcbw@redhat.com>
16847
16848         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16849           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16850           means you need dhcdbd, which you can get here (get the latest one):
16851
16852                 http://people.redhat.com/jvdias/dhcdbd/
16853
16854           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16855           interface as dhcdbd.
16856
16857         * Rewrite device activation to facilitate the new DHCP infrastructure and
16858           future improvements.  Its now "activation request" based, ie there is a single
16859           activation request composed of the device, access point, and other info which
16860           follows the entire activation process.  There are 5 stages of the activation
16861           process which correspond to:
16862
16863                 1) Device preparation
16864                 2) Device configuration (bring it up, set ESSID/Key/etc)
16865                 3) IP Config Start (fire off DHCP if we're using it)
16866                 4) IP Config Get (grab config from DHCP or static config files)
16867                 5) IP Config Commit (set device's IP address, DNS, etc)
16868
16869           Note that there is no longer a "scanning" step, since the access point must
16870           be known _before_ activation starts.  If the access point drops out or does
16871           not exist for some reason, the entire activation process fails and must be
16872           restarted for a different access point or device.
16873
16874         Patch from Bill Moss:
16875         * gnome/applet/applet.c
16876                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16877
16878 2005-04-27  Dan Williams  <dcbw@redhat.com>
16879
16880         * gnome/applet/applet-dbus-vpn.c
16881           gnome/applet/applet.c
16882           gnome/applet/applet.h
16883                 - Fix up active VPN handling so that we reliably know when a VPN
16884                         connection has been deactivated
16885
16886         * src/vpn-manager/nm-vpn-manager.c
16887                 - Remove duplicate VPNConnectionChange signal
16888
16889 2005-04-27  Dan Williams  <dcbw@redhat.com>
16890
16891         Patch from Peter Jones:
16892         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16893
16894         Patch from Bill Moss:
16895         * src/NetworkManagerSystem.c
16896                 - Fix checking of return value from ioctl()
16897
16898 2005-04-27  Dan Williams  <dcbw@redhat.com>
16899
16900         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16901         * Warn and exit if icons cannot be found
16902
16903 2005-04-27  Dan Williams  <dcbw@redhat.com>
16904
16905         Patch from Tom Parker:
16906         * Update debian backend
16907
16908 2005-04-27  Dan Williams  <dcbw@redhat.com>
16909
16910         * Merge the applet and the info-daemon, and move the converged
16911                 applet under gnome/applet
16912         * Move libnm_glib to gnome/libnm_glib
16913         * Convert most dbus calls between the applet, info-daemon, and NM
16914                 into async calls
16915         * Fix a few things valgrind noticed
16916         * Make NM broadcast state more reliably
16917
16918 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16919
16920         * configure.in: Added ne in ALL_LINGUAS
16921
16922 2005-04-15  Dan Williams  <dcbw@redhat.com>
16923
16924         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16925                 code for dbus 0.2x versions
16926
16927 2005-04-15  Dan Williams  <dcbw@redhat.com>
16928
16929         Patches from Tom Parker:
16930         - Fix memleaks
16931         - Join with worker thread rather than polling for its exit
16932
16933         Patch from Bill Moss:
16934         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16935
16936 2005-04-15  Dan Williams  <dcbw@redhat.com>
16937
16938         - Fixes to pass 'make distcheck'
16939
16940 2005-04-15  Dan Williams  <dcbw@redhat.com>
16941
16942         Initial VPN Support
16943                 - supports 'vpnc'
16944                 - reworks device IP configuration, backend files have changed and will need
16945                         to be updated for all distributions.  I will try to do what I can for
16946                         them, but I cannot test them.
16947
16948         - Move named directory to src/named-manager
16949         - Make backends directory self-contained
16950
16951 2005-04-06  Dan Williams  <dcbw@redhat.com>
16952
16953         Add debug code for socket/file descriptor leaks.  We register every socket
16954         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16955         list of sockets that we forgot to close on shutdown.  This also consolidates
16956         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16957
16958 2005-04-06  Dan Williams  <dcbw@redhat.com>
16959
16960         * dhcpcd/dhcpcd.c
16961                 - (dhcp_interface_free): fix a file descriptor leak that may have
16962                         caused network drivers to not unload due to refcounts > 0
16963
16964 2005-04-04  Dan Williams  <dcbw@redhat.com>
16965
16966         * panel-applet/NMWirelessAppletDbus.c
16967                 - (nmwa_dbus_call_nm_method): remove some commented code
16968
16969         * src/NetworkManagerAPList.[ch]
16970                 - (nm_ap_list_remove_ap_by_essid): new function
16971
16972         * src/NetworkManagerDevice.c
16973                 - (nm_device_wireless_force_use): remove access points from the ignore list
16974                         when the user forces them
16975
16976         * src/nm-dbus-device.c
16977                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
16978
16979 2005-04-04  Dan Williams  <dcbw@redhat.com>
16980
16981         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
16982
16983 2005-04-04  Dan Williams  <dcbw@redhat.com>
16984
16985         * src/NetworkManagerDevice.c:
16986                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
16987                         of only erroring after the second consecutive scan times out.  Also
16988                         don't exit when the card requires more time than we can give it, just
16989                         log the event and continue.
16990
16991 2005-04-01  Steve Murphy  <murf@e-tools.com>
16992
16993         * configure.in: Added "rw" to ALL_LINGUAS.
16994
16995 2005-04-01  Dan Williams <dcbw@redhat.com>
16996
16997         Perform scans during device activation, if needed.  Both activation 
16998         and scans run in the same GMainContext.  Therefore, if an access point
16999         is not found by the time the device starts activation, it will not
17000         be available until after activation.  We now try to scan during
17001         activation (in nm_wa_test) every 15s so that all available access
17002         points are more likely to be found and available for the activation
17003         procedure.
17004
17005         Also change nm_wireless_link_state_handle() to only update the "best"
17006         AP if we are not forcing a device and if we are not about to change
17007         state.  This attempts to work around a race when forcing a device,
17008         where the forced AP would get cleared out too soon by the link state
17009         checking timeout in the main thread, and the activation attempt with
17010         that AP would fail.
17011
17012 2005-04-01  Dan Williams <dcbw@redhat.com>
17013
17014         * po/POTFILES.in
17015                 - Update with new translatables
17016
17017 2005-03-31  Dan Williams <dcbw@redhat.com>
17018
17019         * panel-applet/NMWirelessAppletDbus.c
17020                 - Fix device names now that hal has changed device parenting for
17021                         network devices.
17022
17023 2005-03-31  Dan Williams <dcbw@redhat.com>
17024
17025         Tighten up handling of wireless devices that don't support wireless
17026         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17027         hadn't been doing pseudo-scanning for a while either and would just
17028         spin waiting for an access point.  They are now manual devices where
17029         the user must choose the access point from the menu every time.  All
17030         "allowed" access points are listed in the applet's menu regardless
17031         of whether or not they can be seen by the card, since it can't scan
17032         anyway.
17033
17034         * src/NetworkManager.c
17035                 - (nm_wireless_link_state_handle): new function, but only update
17036                         the "best" ap for non-scanning devices when its not activating,
17037                         and when no device is being forced on the card
17038                 - (nm_link_state_monitor): split wireless link state handling out
17039                         into separate function
17040
17041         * src/NetworkManagerDevice.c
17042                 - (nm_device_copy_allowed_to_dev_list): new function
17043                 - (nm_device_new): populate non-scanning cards' AP lists with
17044                         access points from the "allowed" list
17045                 - (nm_device_new): don't start a scanning timeout for devices that
17046                         can't scan
17047                 - (nm_device_activation_schedule_finish): new parameter, should be
17048                         the AP that failed to be connected to, pass it on to the
17049                         activation finish function in NetworkManagerPolicy.c
17050                 - (nm_device_activate_wireless): don't ever try to get a new AP
17051                         for non-scanning devices, just fail.  The user must choose
17052                         a new access point manually.
17053                 - (nm_device_activate): grab the AP that failed connection and
17054                         pass it on
17055                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17056                         a link to it, user must manually choose a new one
17057                 - (nm_device_do_pseudo_scan): remove function
17058                 - (nm_device_wireless_process_scan_results): remove bits for non-
17059                         scanning cards since they never get here
17060                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17061                         and fake the scan list for test devices a bit earlier
17062
17063         * src/NetworkManagerPolicy.c
17064                 - (nm_policy_activation_finish): use the failed_ap that we get
17065                         passed rather than getting the best_ap from the card, which
17066                         may have changed since we were scheduled
17067                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17068                         update their scan list directly from the allowed list when
17069                         we get updates to the allowed list from NetworkManagerInfo
17070
17071         * src/NetworkManagerPolicy.h
17072                 - New member for failed access point in NMActivationResult
17073
17074   -------------------------------------
17075
17076         Driver Notification patch: notifies the user when their driver
17077                 sucks.  Gives them the option to ignore further insertions
17078                 of the card that has the sucky driver.
17079
17080         * NetworkManager.h
17081                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17082                         enum and replace it with NO_CARRIER_DETECT and
17083                         NO_WIRELESS_SCAN
17084
17085         * panel-applet/NMWirelessApplet.[ch]
17086                 - Merge essid.glade -> wireless-applet.glade
17087                 - Implement the "Your driver sucks" notification dialog
17088
17089         * panel-applet/NMWirelessAppletDbus.c
17090                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17091                 - Grab hardware address for each device from NM too
17092                 - Check whether the driver for each device sucks or not whenever
17093                         a new device is noticed
17094
17095         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17096                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17097
17098         * src/NetworkManager.c
17099                 - Fix a double-unref on device removal
17100
17101         * src/NetworkManagerUtils.c
17102                 - Set appropriate driver support level on a device that doesn't
17103                         support scanning or carrier detection
17104
17105         * src/nm-dbus-device.c
17106                 - New "getHWAddress" dbus method on devices
17107                 - getSupportsCarrierDetect -> getDriverSupportLevel
17108
17109 2005-03-31  Dan Williams <dcbw@redhat.com>
17110
17111         * src/NetworkManagerDevice.c
17112                 - (nm_device_wireless_scan): Fix leak of scan results in some
17113                         instances
17114
17115 2005-03-29  Dan Williams <dcbw@redhat.com>
17116
17117         * src/NetworkManager.c
17118                 - (nm_poll_and_update_wireless_link_state): make code less indented
17119
17120         Patch from Bill Moss:
17121         * src/NetworkManager.c
17122                 - (nm_device_update_link_state): Update signal strength on wireless
17123                         devices every time we update link state too.
17124
17125 2005-03-29  Dan Williams <dcbw@redhat.com>
17126
17127         * src/NetworkManagerDevice.c
17128                 - (nm_device_set_essid): Work around Orinoco cards which need
17129                         extra time after setting the ESSID
17130
17131 2005-03-29  Dan Williams <dcbw@redhat.com>
17132
17133         * src/NetworkManagerDevice.c
17134                 - Merge one more bit of Peter Jones' completion patch
17135
17136 2005-03-29  Dan Williams <dcbw@redhat.com>
17137
17138         * src/NetworkManagerDevice.c
17139                 - (nm_device_force_use): Fix possible segfault
17140
17141 2005-03-29  Dan Williams <dcbw@redhat.com>
17142
17143         * src/NetworkManagerDevice.c
17144                 - Use iw_get_ext() where we should rather than iw_set_ext()
17145
17146 2005-03-29  Dan Williams <dcbw@redhat.com>
17147
17148         * src/NetworkManagerDevice.c
17149                 - (nm_device_set_up_down): remove check for unsupported devices
17150                         that caused NM to not bring devices up when they were
17151                         added to the device list.
17152
17153 2005-03-28  Dan Williams <dcbw@redhat.com>
17154
17155         * src/NetworkManagerDevice.c
17156                 - (mdio_read): Fix two bugs that caused all devices to fail
17157                         the MII carrier detection support checks
17158
17159 2005-03-26  Dan Williams <dcbw@redhat.com>
17160
17161         * src/NetworkManagerDevice.c
17162                 - (nm_device_wireless_scan): Remove duplicated scanning code
17163
17164 2005-03-25  Dan Williams <dcbw@redhat.com>
17165
17166         * panel-applet/NMWirelessApplet.c
17167                 - (nmwa_about_cb): Add some more contributors
17168                 - (nmwa_update_state): show the applet when there's no connection
17169                 - Enable the "Stop/Resume all wireless devices" option in the
17170                         context menu
17171                 - New "no connection" icon
17172
17173         * src/NetworkManager.c
17174                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17175                         wireless is disabled or we're asleep
17176
17177         * src/NetworkManagerDHCP.c
17178                 - Remove trailing "\n" on debug messages
17179
17180         * src/NetworkManagerDbus.c
17181                 - (nm_dbus_network_status_from_data): new state "asleep"
17182
17183         * src/NetworkManagerDevice.c
17184                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17185                         latency and wait times for most operations
17186                 - (nm_device_wireless_scan): Don't scan when asleep
17187
17188         * src/NetworkManagerPolicy.c
17189                 - (nm_policy_get_best_device): return no device when asleep
17190                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17191                         for all wireless devices on update, not just active device
17192
17193         * src/NetworkManagerUtils.c
17194                 - Merge Peter Jones' "completion" patch
17195
17196         * src/nm-dbus-nm.c
17197                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17198                         we're told to disable them
17199                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17200
17201         * utils/nm-utils.h
17202                 - New variants of the warn/info/error/debug print functions that can take
17203                         variables rather than static strings
17204
17205 2005-03-24  Dan Williams <dcbw@redhat.com>
17206
17207         * src/NetworkManagerUtils.c
17208                 - (nm_get_device_driver_name): driver names are now on the parents of
17209                         "Network Interface" objects, so look for them there
17210
17211 2005-03-24  Dan Williams <dcbw@redhat.com>
17212
17213         * test/nmtest.c
17214                 - Escape some forgotten object paths before we shove them through dbus
17215
17216 2005-03-24  Dan Williams <dcbw@redhat.com>
17217
17218         * dhcpcd/dhcpcd.[ch]
17219           src/NetworkManagerDHCP.c
17220                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17221                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17222
17223         * src/NetworkManagerDbus.c
17224                 - spacing cleanups
17225
17226         * src/nm-dbus-dhcp.c
17227                 - Make the API suck less.  There is now only 1 type of each function,
17228                         ie only "getInteger" and no longer also "getIntegerv".  All types
17229                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17230                         that will never have more than 1 element.  This should simplify
17231                         things greatly.
17232
17233         * test/nm-dhcp-opt-test.c
17234                 - Make the tool not segfault
17235                 - adapt to new DHCP Options API
17236
17237 2005-03-22  Dan Williams <dcbw@redhat.com>
17238
17239         * src/NetworkManager.c
17240                 - (nm_wired_link_deactivated): actually ignore netlink events from
17241                         wireless devices.
17242
17243 2005-03-22  Dan Williams <dcbw@redhat.com>
17244
17245         * src/NetworkManager.c
17246                 - (nm_wired_link_activated): actually ignore netlink events from
17247                         wireless devices.
17248
17249 2005-03-17  Dan Williams <dcbw@redhat.com>
17250
17251         Patch from Tom Parker:
17252         * src/nm-netlink-monitor.c
17253                 - Include unistd.h
17254         * info-daemon/NetworkManagerInfoDbus.c
17255                 - (nmi_dbus_update_network_auth_method): free GConf values
17256
17257         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17258         * src/NetworkManagerDevice.c
17259                 - (nm_device_set_wireless_config): wait for successful
17260                         association longer for some cards (Atheros a/b/g)
17261
17262 2005-03-15  Ray Strode  <rstrode@redhat.com>
17263
17264         * src/NetworkManager.c:
17265         (sigterm_pipe_handler):
17266         remove bogus FIXME
17267
17268 2005-03-15  Ray Strode  <rstrode@redhat.com>
17269
17270         * src/NetworkManagerDbus.c:
17271         Fix some sign weirdness that gcc4 doesn't like,
17272         and add a header file so PPC can hopefully find
17273         SIGTRAP
17274
17275 2005-03-14  Ray Strode  <rstrode@redhat.com>
17276         
17277         Fourth (probably working) cut at porting to
17278         dbus 0.30 api and new hal. This cut adds
17279         some new logging macros to make debugging
17280         easier.
17281
17282         * dispatcher-daemon/NetworkManagerDispatcher.c:
17283         * info-daemon/NetworkmanagerInfo.c:
17284         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17285         * info-daemon/NetworkManagerInfoVPN.c:
17286         * src/NetworkManager.c:
17287         * src/NetworkManagerAP.c:
17288         * src/NetworkManagerAPList.c:
17289         * src/NetworkManagerDHCP.c:
17290         * src/NetworkManagerDbus.c:
17291         * src/NetworkManagerDevice.c:
17292         * src/NetworkManagerPolicy.c:
17293         * src/NetworkManagerSystem.c:
17294         * src/NetworkManagerUtils.c:
17295         * src/NetworkManagerWireless.c:
17296         * src/autoip.c:
17297         * src/nm-dbus-nm.c:
17298         * src/backends/NetworkManagerDebian.c:
17299         * src/backends/NetworkManagerGentoo.c:
17300         * src/backends/NetworkManagerRedHat.c:
17301         * src/backends/NetworkManagerSlackware.c:
17302         use new logging macros.
17303
17304         * dispatcher-daemon/NetworkManagerDispatcher.c:
17305         (nmd_dbus_filter): s/dbus_free/g_free/
17306
17307         * info-daemon/Makefile.am: link in utils library.
17308         * info-daemon/NetworkmanagerInfo.c: use new logging 
17309         macros.
17310         (nmi_dbus_get_network): don't assume enumerations
17311         are 32-bit.
17312         (nmi_dbus_nmi_message_handler): don't free what 
17313         doesn't belong to us.
17314
17315         * libnm_glib/libnm_glib.c:
17316         (libnm_glib_get_nm_status): 
17317         (libnm_glib_init): don't free what doesn't
17318         belong to us.
17319         (libnm_glib_dbus): strdup result, so it doesn't get
17320         lost when message is unref'd.
17321
17322         * panel-applet/NMWirelessAppletDbus.c:
17323         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17324
17325         * src/NetworkManager.c:
17326         (nm_monitor_wired_link_state): request initial status 
17327         dump of all cards when we start up, instead of relying
17328         on /sys/.../carrier.
17329         (nm_info_handler), (nm_set_up_log_handlers): 
17330         log handlers to specify what syslog priorites 
17331         the logging macros default to.
17332
17333         * src/NetworkManagerAPList.c: 
17334         (nm_ap_list_populate_from_nmi):
17335         s/dbus_free_string_array/g_strfreev/
17336
17337         * src/NetworkManagerDbus.c:
17338         (nm_dbus_get_network_object):
17339         validate d-bus message argument types.
17340         Advance message iterator after reading argument,
17341         prepend instead of append to GSList.
17342
17343         * src/NetworkManagerDevice.c:
17344         (nm_device_probe_wired_link_status):
17345         remove redundant /sys in /sys path. remove wrong
17346         contents == NULL means has carrier assumption.
17347
17348         * src/nm-netlink-monitor.c 
17349         (nm_netlink_monitor_request_status): implement
17350         function to ask kernel to dump interface link
17351         status over netlink socket.
17352
17353         * test/*.c: s/dbus_free/g_free/
17354
17355         * utils/nm-utils.h:
17356         (nm_print_backtrace): new macro to print backtrace.
17357         (nm_get_timestamp): new macro to get sub-second precise
17358         unix timestamp.
17359         (nm_info), (nm_debug), (nm_warning), (nm_error):
17360         new logging functions. nm_info just prints,
17361         nm_debug includes timestamp and function,
17362         nm_warning includes function, nm_error includes
17363         backtrace and sigtrap.
17364
17365 2005-03-11  Ray Strode  <rstrode@redhat.com>
17366
17367         Third (unfinished, partially working) cut at porting to 
17368         dbus 0.30 api and new hal.
17369
17370         * info-daemon/NetworkManagerInfoDbus.c:
17371                 don't free null arrays.
17372
17373         * panel-applet/NMWirelessAppletDbus.c: 
17374         * src/nm-dbus-device.c:
17375         * src/nm-dbus-net.c: 
17376         * src/NetworkManagerDbus.c: more 
17377         STRING -> OBJECT_PATH fun
17378         * src/NetworkManagerDevice.c:
17379         * src/NetworkManagerDevice.h:
17380         (rename nm_device_get_link_active): rename to 
17381         nm_device_has_active_link
17382         (nm_device_wireless_link_active): rename to
17383         nm_device_probe_wireless_link_state
17384         (nm_device_wired_link_active): rename to
17385         nm_device_probe_wired_link_state.  Rewrite to
17386         use carrier file since hal doesn't maintain
17387         link state anymore.
17388         (nm_device_update_link_active): rename to
17389         nm_device_update_link_state
17390         * src/NetworkManagerPolicy.c 
17391           (nm_policy_activation_finish): check for NULL
17392           MAC address.
17393
17394         * src/Makefile.am:
17395         * src/NetworkManagerMain.h: 
17396         * src/NetworkManager.c:
17397         * src/nm-netlink-monitor.c:
17398         * src/nm-netlink-monitor.h: New class to support
17399         monitoring wired ethernet link status, since HAL
17400         doesn't export that information anymore.
17401
17402 2005-03-09  Ray Strode  <rstrode@redhat.com>
17403
17404         Second (unfinished, unworking) cut at porting to 
17405         dbus 0.30 api.
17406
17407         * dispatcher-daemon/NetworkManagerDispatcher.c:
17408         * info-daemon/NetworkManagerInfoDbus.c:
17409         * panel-applet/NMWirelessAppletDbus.c:
17410         * src/NetworkManagerDbusUtils.c:
17411         * src/NetworkManagerDbusUtils.h:
17412         * src/nm-dbus-device.c:
17413         * src/nm-dbus-nm.c:
17414         * test/nmtest.c: support dbus "object path" type
17415
17416         * configure.in: 
17417         * Makefile.am:
17418         * info-daemon/Makefile.am:
17419         * libnm_glib/Makefile.am:
17420         * panel-applet/Makefile.am:
17421         * dispatcher-daemon/Makefile.am
17422         * src/Makefile.am:
17423         * test/Makefile.am:
17424         * utils/Makefile.am: 
17425         * utils/nm-utils.c: 
17426         * utils/nm-utils.h: new utils static lib
17427
17428 2005-03-07  Ray Strode  <rstrode@redhat.com>
17429
17430         * info-daemon/NetworkManagerInfoDbus.c:
17431         * libnm_glib/libnm_glib.c:
17432         * panel-applet/NMWirelessAppletDbus.c:
17433         * src/NetworkManager.c:
17434         * src/NetworkManagerDbus.c:
17435         * src/NetworkManagerDevice.c:
17436         * src/NetworkManagerUtils.c:
17437         * src/nm-dbus-device.c:
17438         * src/nm-dbus-dhcp.c:
17439         * src/nm-dbus-net.c:
17440         * src/nm-dbus-nm.c:
17441         * test/nminfotest.c:
17442         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17443
17444 2005-03-04  Dan Williams  <dcbw@redhat.com>
17445
17446         * configure.in
17447                 - Mark HEAD as 0.4
17448
17449 2005-03-04  Dan Williams  <dcbw@redhat.com>
17450
17451         Patch from Peter Jones:
17452         - Make stuff work with gcc 4.0
17453
17454 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17455
17456         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17457
17458 2005-02-27  Jim Huang  <jserv@kaffe.org>
17459
17460         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17461
17462 2005-02-27  Dan Williams  <dcbw@redhat.com>
17463
17464         Patch from Bill Moss:
17465         * panel-applet/NMWirelessAppletDbus.c
17466                 - Make sure strength for current access point is up-to-date when we
17467                         update the gui data model
17468
17469 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17470
17471         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17472
17473 2005-02-27  Dan Williams  <dcbw@redhat.com>
17474
17475         * src/backends/NetworkManagerRedHat.c
17476                 - (nm_system_init): Kill any dhclient processes lying around as well
17477                         as stopping 'nifd' if its already been started.  NetworkManager
17478                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17479
17480 2005-02-27  Dan Williams  <dcbw@redhat.com>
17481
17482         * panel-applet/NMWirelessApplet.c
17483                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17484                         dbus data model, not the GUI data model twice.
17485
17486 2005-02-27  Dan Williams  <dcbw@redhat.com>
17487
17488         * panel-applet/NMWirelessApplet.[ch]
17489           panel-applet/NMWirelessAppletDbus.[ch]
17490                 - Move to incremental network updates.  Instead of blowing away our list
17491                         of devices every time we get a signal from NetworkManager, we now
17492                         incrementally add/remove networks when NetworkManager notifies us that
17493                         a new network has appeared or disappered.  Strength updates now happen
17494                         on-the-fly for each access point as well.  There are now two copies of
17495                         data from NetworkManager: one for the dbus side, and one for the gui side.
17496                         When the dbus side data is modified, it is copied over to the gui side
17497                         so we don't have to hold the data_mutex for long periods of time (and
17498                         therefore block animation of the applet's icon).
17499                 - Clean up some memleaks too
17500
17501         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17502                 - Minor code beautification
17503
17504         * src/NetworkManagerAPList.c
17505                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17506                         completely new and whether or not an existing one's strength was updated.
17507                         Try to fix multiple access points and signal strength by using the highest
17508                         signal strength in each scan for any given ESSID.
17509
17510         * src/NetworkManagerDbus.[ch]
17511                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17512                         wireless networks; now we have only WirelessNetworkUpdate which includes
17513                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17514                 - Kill usage of DbusMessageIter
17515
17516         * src/NetworkManagerDevice.c
17517                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17518                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17519                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17520                         currently associated with from the network list.
17521                 - Update for new signals during scan, send out Appeared, Disappeared, or
17522                         StrengthChanged when necessary.
17523
17524 2005-02-25  Dan Williams  <dcbw@redhat.com>
17525
17526         * README
17527                 - Line break the README
17528
17529 2005-02-25  Dan Williams  <dcbw@redhat.com>
17530
17531         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17532                 - Remove usage of gtk_window_set_default_size()
17533
17534         * panel-applet/essid.glade
17535                 - Stick default size here
17536                 - Add in random crap that current glade wants to add in now
17537
17538 2005-02-25  Dan Williams  <dcbw@redhat.com>
17539
17540         * src/backends/NetworkManagerRedHat.c
17541                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17542                         and that we actually tell nscd to reload the hosts cache when it changes
17543
17544 2005-02-25  Dan Williams  <dcbw@redhat.com>
17545
17546         * info-daemon/NetworkManagerInfoDbus.c
17547                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17548
17549         * test/nminfotest.c
17550                 - Whack usage of DbusMessageIter
17551                 - Clean up DbusError and DbusMessage handling and freeing
17552                 - Remove unused unregister handler
17553
17554         * test/nmtest.c
17555                 - Whack usage of DbusMessageIter
17556
17557         * test/nmtestdevices.c
17558                 - Whack usage of DbusMessageIter
17559
17560 2005-02-25  Dan Williams  <dcbw@redhat.com>
17561
17562         * NetworkManager.h
17563                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17564                         signal
17565
17566 2005-02-25  Dan Williams  <dcbw@redhat.com>
17567
17568         * named/nm-named-manager.c
17569                 - Ensure that pid and watch variables for child named process get cleared out
17570                         when the child goes away.
17571
17572 2005-02-22  Dan Williams  <dcbw@redhat.com>
17573
17574         * src/NetworkManagerPolicy.c
17575                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17576                         and NULL out data->active_device so that we have to choose another one.
17577                         This may make NetworkManager keep attempting to connect to a wired network
17578                         if it fails, but if it keeps failing the wired network has more problems than
17579                         just NetworkManager.
17580
17581         * src/backends/NetworkManagerRedHat.c
17582                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17583                         is already running
17584
17585         * named/nm-named-manager.c
17586                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17587                         named so that the distro can flush whatever name service caching
17588                         daemon it uses
17589
17590 2005-02-21  Dan Williams  <dcbw@redhat.com>
17591
17592         * src/NetworkManagerDHCP.[ch]
17593                 - (nm_device_dhcp_remove_timeouts): new function
17594
17595         * src/NetworkManagerDevice.c
17596                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17597                         remove the DHCP timeouts.
17598
17599 2005-02-21  Dan Williams  <dcbw@redhat.com>
17600
17601         * panel-applet/NMWirelessApplet.[ch]
17602           panel-applet/menu-info.[ch]
17603                 - Give the panel applet some major love: menu items are no longer
17604                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17605                         This allows the applet to actually reflect theme changes correctly,
17606                         since themeing of subclassed items in GTK _sucks_.
17607
17608 2005-02-18  Dan Williams  <dcbw@redhat.com>
17609
17610         * libnm_glib/libnm_glib.[ch]
17611           test/libnm_glib_test.c
17612                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17613                         and its data, and doesn't have to free the callback data anymore
17614
17615 2005-02-18  Dan Williams  <dcbw@redhat.com>
17616
17617         * panel-applet/NMWirelessApplet.c
17618                 - Revert 2005-02-18 William Jon McCann fix for standard
17619                         copyright string until it passes 'make distcheck'.
17620                         With standard copyright string, xgettext complains
17621                         about "Non-ASCII string at ...".
17622
17623 2005-02-18  Dan Williams  <dcbw@redhat.com>
17624
17625         * panel-applet/essid.glade
17626           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17627                 - Correct spelling of "adaptor"->"adapter"
17628
17629 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17630
17631         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17632         (nmwa_about_cb): Use standard copyright string.  Update comment
17633         text to reflect that it is a notification area applet.  Remove
17634         leading newline in authors list.
17635         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17636         instead of on parent menu item activation.  Fixes #167550.
17637
17638 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17639
17640         * panel-applet/essid.glade: Capitalize items as per HIG.
17641           Fixes #167632
17642
17643 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17644
17645         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17646         files for GTK 2.4 or lower, since now public in GTK 2.6.
17647
17648         * panel-applet/essid.glade: Don't specify window size.
17649         
17650 2005-02-17  Dan Williams  <dcbw@redhat.com>
17651
17652         Caught by Bill Moss:
17653         * dhcpcd/client.c
17654                 - Time remaining for DHCP transaction calculation was incorrectly
17655                         inside a #ifdef DEBUG
17656
17657 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17658
17659         * configure.in: Added fr (French) to ALL_LINGUAS.
17660
17661 2005-02-14  Dan Williams  <dcbw@redhat.com>
17662
17663         * src/NetworkManagerDHCP.c
17664                 - (set_domain_searches): Fix free of invalid pointer
17665
17666 2005-02-14  Dan Williams  <dcbw@redhat.com>
17667
17668         Patch from Peter Jones:
17669         * dhcpcd/client.c
17670                 - Ensure we return RET_DHCP_CEASED everywhere we should
17671         * dhcpcd/udpipgen.c
17672                 - Use faster TOS for IP packets
17673                 - Don't set ip_id since we're UDP
17674
17675         Patch from Tomislav Vujec:
17676         * src/nm-dbus-dhcp.c
17677           test/nm-dhcp-opt-test.c
17678                 - Clean up warnings to enable cvs tree compilation.
17679
17680 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17681
17682         * configure.in
17683           po/hr.po
17684                 - Add the Croatian locale.
17685
17686 2005-02-14  Colin Walters  <walters@verbum.org>
17687
17688         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17689         list of domains to search.
17690         
17691         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17692
17693 2005-02-13  Dan Williams  <dcbw@redhat.com>
17694
17695         * dhcpcd/client.c
17696                 - Debug output cleanups of DHCP option printing and parsing.
17697
17698 2005-02-13  Dan Williams  <dcbw@redhat.com>
17699
17700         Patch from Dan Reed:  DHCP options D-BUS API
17701                 Exposes the DHCP options that a device receives to clients over D-BUS.
17702
17703         * configure.in
17704                 - A few cleanups
17705
17706         * dhcpcd/client.h
17707                 - Correct names, option length, and types for DHCP options
17708
17709         * dhcpcd/dhcpcd.[ch]
17710                 - Clarify function names that access DHCP options & data
17711
17712         * src/NetworkManagerDHCP.c
17713                 - Use new DHCP data access functions
17714
17715         * src/NetworkManagerDbus.c
17716                 - Message handler for DHCP functions
17717
17718         * src/nm-dbus-dhcp.[ch] (new)
17719                 - DHCP dbus methods
17720
17721         * test/nm-dhcp-opt-test.c
17722                 - Test DHCP D-BUS API and return all present DHCP options
17723
17724 2005-02-12  Dan Williams  <dcbw@redhat.com>
17725
17726         * test/Makefile.am
17727           test/nmclienttest.c
17728           test/nmtest.c
17729                 - Move nmclienttest.c -> nmtest.c
17730
17731 2005-02-12  Dan Williams  <dcbw@redhat.com>
17732
17733         * dhcpcd/buildmsg.c
17734                 - Pad DHCP packets until they are at least 300 bytes in size.
17735
17736 2005-02-11  Dan Williams  <dcbw@redhat.com>
17737
17738         * dhcpcd/client.c
17739                 - (dhcp_init): only print out client ID and class ID if they are specified
17740
17741         * src/NetworkManagerDbus.[ch]
17742           src/nm-dbus-nm.[ch]
17743           src/nm-dbus-device.[ch]
17744           src/nm-dbus-net.[ch]
17745                 - Move NM, Device, and Net functions to separate files and use the
17746                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17747                         method dispatching
17748
17749         * src/NetworkManagerDbusUtils.c
17750                 - Add new validate_method called before each dispatch (if present)
17751                         that can validate the method call
17752
17753         * src/NetworkManagerWireless.c
17754                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17755                         levels never to be evaluated
17756
17757         Patch from j@bootlab.org
17758         * src/NetworkManagerDevice.c
17759                 - Add typedef for "u64"
17760
17761         * src/backends/NetworkManagerDebian.c
17762                 - Copy in Dave Woodhouse's fixes for IPv6
17763
17764 2005-02-11  Dan Williams  <dcbw@redhat.com>
17765
17766         Patch from Dave Woodhouse for IPv6:
17767         * src/NetworkManagerUtils.c
17768                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17769                         and multicast addresses
17770
17771         * src/NetworkManagerDevice.c
17772                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17773                         after bringing up a card.
17774
17775 2005-02-10  Dan Williams  <dcbw@redhat.com>
17776
17777         Patch from Dave Woodhouse:
17778         * src/NetworkManagerSystem.h
17779           src/backends/NetworkManagerDebian.c
17780           src/backends/NetworkManagerGentoo.c
17781           src/backends/NetworkManagerSlackware.c
17782                 - New nm_system_device_add_ip6_link_address() function to add link-local
17783                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17784
17785         * src/backends/NetworkManagerRedHat.c
17786                 - (nm_system_device_add_ip6_link_address): implement
17787                 - (nm_system_device_flush_addresses): revert to previous behavior of
17788                         flushing all addresses
17789
17790 2005-02-10  Dan Williams  <dcbw@redhat.com>
17791
17792         Patch from Tom Parker:
17793         * src/NetworkManagerDevice.c
17794                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17795                         mii.h headers are broken, and instead use our own typedefs
17796
17797 2005-02-10  Dan Williams  <dcbw@redhat.com>
17798
17799         * dhcpcd/buildmsg.c
17800                 - (fill_host_and_class_id): only fill in client and class IDs if
17801                         they are set by callers.
17802
17803         * dhcpcd/client.c
17804                 - (class_id_setup): don't autogenerate a class ID, only use one
17805                         we're given, if any.
17806                 - (client_id_setup): don't autogenerate a client ID, only use one
17807                         we're given, if any.
17808
17809         * dhcpcd/dhcpcd.c
17810                 - (dhcp_interface_init): ensure that client options are correctly
17811                         NULL terminated
17812
17813         * src/NetworkManagerDHCP.c
17814                 - (nm_device_dhcp_request): pass hostname to dhcp library
17815
17816 2005-02-10  Dan Williams  <dcbw@redhat.com>
17817
17818         * dhcpcd/client.c
17819                 - #rh147661# Don't send kernel version in DHCP requests
17820
17821         * src/NetworkManagerSystem.h
17822           src/backends/NetworkManagerDebian.c
17823           src/backends/NetworkManagerGentoo.c
17824           src/backends/NetworkManagerRedHat.c
17825           src/backends/NetworkManagerSlackware.c
17826                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17827                         functions, they are no longer used anyway
17828
17829         * src/backends/NetworkManagerRedHat.c
17830                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17831                         addresses in an attempt to keep IPv6 local-scope addresses around
17832
17833 2005-02-10  Dan Williams  <dcbw@redhat.com>
17834
17835         * src/NetworkManager.c
17836                 - (nm_create_device_and_add_to_list): change the add message slightly
17837
17838         * src/NetworkManagerUtils.c
17839                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17840                         Return driver name to calling function
17841                 - (nm_get_driver_support_level): print out the driver a device is using
17842                         during the support check
17843
17844         Patch from Dave Woodhouse:
17845         * dhcpcd/udpipgen.c
17846                 - (in_cksum): copy last byte of odd-sized packets into a
17847                         'u_short' rather than a 'u_char', should fix wrong checksums
17848                         on big-endian platforms
17849
17850 2005-02-09  Dan Williams  <dcbw@redhat.com>
17851
17852         * Clean up usage of GSList objects and looping through their members
17853         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17854                 now.
17855         * Fix problem where even if scanning was turned off, card would still
17856                 cycle through frequencies.
17857
17858 2005-02-08  Dan Williams  <dcbw@redhat.com>
17859
17860         * panel-applet/NMWirelessApplet.c
17861                 - Fix for gtk 2.4
17862
17863 2005-02-08  Dan Williams  <dcbw@redhat.com>
17864
17865         Patch from Bill Moss
17866         * panel-applet/NMWirelessApplet.c
17867                 - Restore correct ESSID in tooltips
17868
17869 2005-02-07  Dan Williams  <dcbw@redhat.com>
17870
17871         * panel-applet/NMWirelessApplet.[ch]
17872                 - Add a context menu that contains:
17873                         Pause/Resume Wireless Scanning
17874                         Stop/Start All Wireless Devices
17875                         About...
17876                 - Grab active device strength off active device,
17877                         not its network
17878
17879         * panel-applet/NMWirelessAppletDbus.[ch]
17880                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17881                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17882                 - Update active device strength every 2 seconds, not every 1 second
17883
17884         * panel-applet/menu-info.c
17885                 - Only disable wired devices in the menu when they support carrier detection,
17886                         and don't currently have a link.  Non-carrier-detect devices will always
17887                         remain choosable
17888
17889         * src/Makefile.am
17890           src/NetworkManagerDbusUtils.[ch]
17891                 - Add new new dbus utils sources
17892
17893         * src/NetworkManager.c
17894                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17895                         with the boolean parameter
17896                 - Set scanning_enabled & wireless_enabled to TRUE
17897
17898         * src/NetworkManagerDbus.c
17899                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17900                 - Implement scanning & wireless enable/disable calls
17901                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17902
17903         * src/NetworkManagerDevice.c
17904                 - New link detection stuff again...
17905                         o  Create device's mainloop earlier (but don't run it earlier)
17906                         o  Hook up new carrier-detect support stuff
17907                         o  Add in the ethtool & mii support detection code
17908                 - Don't scan if scanning is disabled
17909
17910         * src/NetworkManagerPolicy.c
17911                 - Never automatically choose a device that doesn't support carrier detection
17912                 - Don't automatically choose a wireless device if wireless is disabled
17913
17914 2005-02-07  Dan Williams  <dcbw@redhat.com>
17915
17916         * libnm_glib/libnm_glib.c
17917                 - Small cleanup in element list iteration
17918
17919 2005-02-07  Dan Williams  <dcbw@redhat.com>
17920
17921         * src/NetworkManagerWireless.c
17922                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17923                         to be in line with the WEXT quality specification
17924
17925 2005-02-02  Dan Williams  <dcbw@redhat.com>
17926
17927         Patch from Nathan Fredrickson <nathan@silverorange.com>
17928         * Fix up compile for deprecation of libgnomeui
17929                 - Switch to <glib/gi18n.h> from <libintl.h>
17930                 - Remove <libgnomeui/libgnomeui.h> includes
17931                 - Use gtk_window_set_default_icon_from_file() rather than
17932                         gnome_window_set_default_icon_from_file()
17933
17934         * named/nm-named-manager.c
17935                 - (generate_named_conf): Fix return-nothing in non-void
17936                         function
17937
17938 2005-02-02  Dan Williams  <dcbw@redhat.com>
17939
17940         * Clean up unused variables and the like
17941
17942 2005-02-02  Dan Williams  <dcbw@redhat.com>
17943
17944         * src/NetworkManagerAPList.c
17945                 - (nm_ap_list_merge_scanned_ap): merge strength too
17946
17947         * src/NetworkManagerUtils.c
17948                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17949                         of locking issues by printing out prettier information than g_mutex_lock
17950                 - Print out names of mutexes registered with nm_register_mutex_desc()
17951                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17952                         us to seemingly block here for too long
17953
17954         * src/NetworkManager.c
17955           src/NetworkManagerAPList.c
17956           src/NetworkManagerDevice.c
17957                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17958                         so we get better debug information printed
17959
17960         * src/NetworkManagerDbus.c
17961                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17962                         since it sometimes has locking side effects
17963                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17964                         from 10s
17965                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17966                         we don't need a switch.  This gets called often enough that we can't block
17967                         until the scan mutex is acquired, because we'll block on device activation
17968                         and a few other things, which hangs main thread for too long.
17969
17970         * src/NetworkManagerPolicy.c
17971                 - (nm_policy_auto_get_best_device): reduce the possiblity that
17972                         nm_device_need_ap_switch() will be called               
17973
17974 2005-02-02  Dan Williams  <dcbw@redhat.com>
17975
17976         * panel-applet/NMWirelessApplet.c
17977                 - Display name of wireless network we are connecting to or connected to
17978                         in the tooltip of the applet
17979
17980 2005-02-02  Dan Williams  <dcbw@redhat.com>
17981
17982         * src/NetworkManagerDHCP.c
17983                 - Hopefully fix double-default-route problem by cleaning up the default
17984                         route added by DHCP code right before the DHCP transaction begins
17985
17986 2005-02-02  Dan Williams  <dcbw@redhat.com>
17987
17988         * named/nm-named-manager.c
17989                 - Write out valid resolv.conf when we exit
17990
17991 2005-02-01  Dan Williams  <dcbw@redhat.com>
17992
17993         Patch from Colin Walters:
17994         * named/nm-named-manager.c
17995                 - Make multi-domain search options work
17996
17997 2005-01-31  Dan Williams  <dcbw@redhat.com>
17998
17999         * info-daemon/NetworkManagerInfoDbus.c
18000                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
18001
18002         * src/NetworkManagerDevice.c
18003                 - (nm_device_new): Don't store the entire range struct, use only what we need
18004                         (which is currently avg_quality, max_quality, and frequencies).  Also
18005                         zero device structure when we've free'd it to maybe expose errors down
18006                         the line.
18007                 - (nm_device_update_signal_strength): grab the scan mutex before getting
18008                         quality data from the card since quality will be useless during a scan.
18009                         Call updated wireless qual-to-percent function with values stored in
18010                         nm_device_new() earlier.
18011                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18012                         nm_device_get_bad_crypt_packets())
18013                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18014                         nm_device_new()
18015                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18016                         list if available.  Problem was this: when the WEP key is wrong, NM will
18017                         try OS then SK modes, and then get stuck in SK mode after that.  This
18018                         should reset it.
18019                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18020                         function
18021
18022         * src/NetworkManagerWireless.c
18023                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18024                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18025                         if that's all present, otherwise fall back to signal-to-noise ratios.
18026
18027 2005-01-29  Dan Williams  <dcbw@redhat.com>
18028
18029         * initscript/RedHat/NetworkManager
18030                 - Don't spit out sysctl stuff to console
18031
18032         * libnm_glib/libnm_glib.c
18033                 - (libnm_glib_init): call dbus_g_thread_init()
18034
18035         * panel-applet/NMWirelessAppletDbus.c
18036                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18037
18038         * src/NetworkManager.c
18039                 - (main): call dbus_g_thread_init()
18040
18041         * src/NetworkManagerAPList.c
18042                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18043                         so we can actually see what's there in a normal syslog
18044
18045         * src/NetworkManagerDevice.c
18046                 - (nm_device_activate_wireless): print out the "waiting for access point"
18047                         message only once, then say what access point we actually got after
18048                         the wait.
18049                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18050                         function, wait until the scan is done.  Scans may change the ESSID of
18051                         the card, making this function think we need to switch access points
18052                 - (nm_device_wireless_process_scan_results): for artificial access points
18053                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18054                         prevents collisions with the scanning code, which may change the card's
18055                         ESSID and cause the access point to get dropped from the device's AP
18056                         list.  Also increase the keep-around time to 2m from 60s since the max
18057                         scan interval could be 60s in some cases.
18058
18059         * src/NetworkManagerPolicy.c
18060                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18061                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18062                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18063                         between NM and NMI.
18064
18065 2005-01-27  Dan Williams  <dcbw@redhat.com>
18066
18067         * info-daemon/NetworkManagerInfoDbus.c
18068                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18069                         GConf, make a minimal entry for it (essid & timestamp)
18070
18071         * src/NetworkManagerAPList.c
18072                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18073                         NetworkManagerInfo isn't running
18074
18075         * src/NetworkManagerDbus.[ch]
18076                 - (nm_dbus_nmi_is_running): new function
18077
18078         * src/NetworkManagerDevice.c
18079                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18080                         address to garbage.
18081
18082         * src/NetworkManagerPolicy.c
18083                 - (nm_policy_activation_finish): On successful activation, make sure
18084                         the "best" AP has a MAC address, and don't tell NMI to add the
18085                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18086                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18087                         access point after refreshing our allowed list if it doesn't already
18088                         have a "best" access point.
18089
18090 2005-01-25  Dan Williams  <dcbw@redhat.com>
18091
18092         * panel-applet/NMWirelessAppletDbus.c
18093                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18094                         so we check for NM_DBUS_SERVICE rather than not for it
18095
18096         * libnm_glib/libnm_glib.c
18097                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18098                         ServiceOwnerChanged signal
18099
18100 2005-01-25  Dan Williams  <dcbw@redhat.com>
18101
18102         * configure.in
18103                 - Check DBUS version in configure, and set the C macros
18104                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18105
18106         * info-daemon/NetworkManagerInfoDbus.c
18107                 - Remove #if 0-d section of code that quit NMI if NM went away.
18108
18109         * panel-applet/NMWirelessAppletDbus.c
18110                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18111
18112         * src/NetworkManager.c
18113           src/NetworkManagerMain.h
18114           src/NetworkManagerDbus.c
18115                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18116                 - Make updating of our Allowed Wireless Network lists from NMI
18117                         an idle function in the main thread now, with a high priority.
18118
18119 2005-01-24  Dan Williams  <dcbw@redhat.com>
18120
18121         * panel-applet/gtkcellview.[ch]
18122           panel-applet/menu-info.c
18123                 - Fix GTK version checks to be <= rather than <
18124
18125         * test/Makefile.am
18126                 - Include the libtool archive of libnm_glib rather than
18127                         trying to pull in the .so
18128
18129 2005-01-24  Dan Williams  <dcbw@redhat.com>
18130
18131         * src/NetworkManagerDevice.c
18132           src/NetworkManagerDevicePrivate.h
18133                 - Block nm_device_new() until our device's worker thread has had a
18134                         chance to start up.  Fixes a race between main thread and worker
18135                         thread starting that caused activation requests to get lost.
18136
18137 2005-01-24  Dan Williams  <dcbw@redhat.com>
18138
18139         * initscript/RedHat/NetworkManager
18140                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18141                         to add the NM startup script at priority 50, which was
18142                         way too early
18143
18144 2005-01-24  Colin Walters  <walters@redhat.com>
18145
18146         * named/named.conf: Use any port for query source instead of
18147         restricting to port 53.
18148
18149 2005-01-24  Dan Williams  <dcbw@redhat.com>
18150
18151         * initscript/RedHat/NetworkManager
18152                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18153                         to add the NM startup script at priority 50, which was
18154                         way too early
18155
18156 2005-01-24  Dan Williams  <dcbw@redhat.com>
18157
18158         Patch from Tom Parker <palfrey@tevp.net>
18159         * Fix up compile warnings & errors in the wireless applet
18160
18161 2005-01-24  Dan Williams  <dcbw@redhat.com>
18162
18163         * panel-applet/NMWirelessApplet.c
18164                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18165
18166 2005-01-24  Dan Williams  <dcbw@redhat.com>
18167
18168         * panel-applet/gtkcellview.[ch]
18169                 - Only compile these files for GTK 2.4 or lower, since 
18170                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18171                         when choosing "Other Wireless Networks" from the panel
18172                         applet menu
18173
18174 2005-01-21  Dan Williams  <dcbw@redhat.com>
18175
18176         * src/NetworkManager.c
18177                 - Daemonize earlier so that glib doesn't get confused (?)
18178
18179 2005-01-21  Dan Williams  <dcbw@redhat.com>
18180
18181         * panel-applet/NMWirelessApplet.[ch]
18182           panel-applet/NMWirelessAppletDbus.c
18183           panel-applet/menu-info.c
18184           src/NetworkManagerDevice.c
18185                 - Disable wired devices in the menu when they have no link.
18186
18187 2005-01-21  Dan Williams  <dcbw@redhat.com>
18188
18189         * Cache last-known-good wireless authentication method in
18190                 NetworkManagerInfo, and use that method first during
18191                 wireless device activation.  Should speed up devices that
18192                 need Shared Key authentication method since Open System is
18193                 now the default.
18194
18195         * Remove the hack to not do full activation on wired connections
18196                 that are active when we launch, it causes too many problems
18197                 with name resolution and was a hack in the first place.
18198
18199         * Re-work wireless device activation again somewhat to have a
18200                 clearer chain of events and to use last-known-good
18201                 authentication method of the access point.  Also provide
18202                 better status throughout activation to ensure the applet
18203                 can tell the user exactly what's going on.
18204
18205         * Remove the "find wireless network" code and now simply attempt
18206                 to activate with that access point.  This reduces the delay
18207                 between selecting "Other wireless Network" and actually
18208                 connecting to that network.
18209
18210         * Correctly stop the device's worker thread when its removed.
18211
18212 2005-01-21  Dan Williams  <dcbw@redhat.com>
18213
18214         * dhcpcd/client.c
18215                 - Clean up some of the debug messages
18216
18217 2005-01-21  Dan Williams  <dcbw@redhat.com>
18218
18219         * Add new icons, more frames of animation
18220         * Remove some hacks to get the panel applet to display correct
18221                 status, an NM update will soon follow that will fix the
18222                 real issue.
18223
18224 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18225
18226         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18227         the first include for working i18n. Also, don't include it in .h files
18228         * panel-applet/NMWirelessApplet.h: Same
18229         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18230         * panel-applet/menu-info.c: Same
18231
18232 2005-01-18  Dan Williams <dcbw@redhat.com>
18233
18234         * dhcpcd/client.c
18235                 - Remove some debug messages
18236                 - Wrap others in #ifdef DEBUG/#endif
18237
18238         * src/NetworkManager.c
18239                 - Remove some debug messages
18240                 - Clarify some debug messages
18241                 - Remove code related to old single-thread wireless scanning
18242
18243         * src/NetworkManagerAP.[ch]
18244                 - New AP property "last_seen" to track how recently an AP was
18245                         found in a scan
18246                 - Start using 'const' more in function arguments
18247
18248         * src/NetworkManagerAPList.[ch]
18249                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18250                         of an AP found in an AP list from a source AP, or if not found
18251                         in the list add the source AP
18252                 - (nm_ap_list_combine): remove, no longer needed
18253
18254         * src/NetworkManagerDevice.c
18255                 - Each device now has a "worker" thread from start to end of its life.
18256                         Scanning for wireless devices now happens in that thread,
18257                         not in a single "wireless scanning thread" for all devices as
18258                         previously.  Activation consists of adding an idle handler to the
18259                         thread's main loop/context, which gets run at the next available
18260                         opportunity.
18261                 - Wireless scanning is also simplified, there is now only one list of
18262                         access points per wireless device, and APs older than 60s are
18263                         removed from the list.  Previously, we kept results for the last
18264                         3 scans and merged whole lists, which was complicated.
18265                 - Cleaned up activation debug messages.
18266                 - Wireless activation and access-point search routines now use Open System
18267                         authentication before trying Shared Key.
18268                 - Removed some code in nm_device_update_best_ap() that could cause cards
18269                         to loose their link to the access point.
18270                 - Scanning now uses a backoff algorithm, where the inverval becomes
18271                         progressively longer between scans when the list of scanned access
18272                         points doesn't change.  A change will revert to the shortest scan
18273                         interval (20s).
18274
18275         * src/NetworkManagerWireless.[ch]
18276                 - Remove code related to old single-thread wireless scanning
18277
18278 2005-01-18  Colin Walters  <walters@redhat.com>
18279
18280         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18281         of older nameservers.
18282
18283 2005-01-18  Colin Walters  <walters@redhat.com>
18284
18285         * named/nm-named-manager.c (generate_named_conf): Many fixes
18286         to config file generation.
18287         (safer_kill): Remove, was too much trouble for little gain.
18288         (nm_named_manager_start): Run named as NM_NAMED_USER.
18289
18290         * configure.in: Add option --with-named-user.
18291
18292 2005-01-14  Colin Walters  <walters@redhat.com>
18293
18294         Patch from ed@catmur.co.uk (Ed Catmur)
18295
18296         * named/nm-named-manager.c: Add "context" property.
18297         Use it to add child watch source in specific GMainContext.
18298
18299         * src/NetworkManager.c (nm_data_new): Initialize
18300         named with correct main context.  Start named only
18301         after forking.
18302
18303 2005-01-14  Colin Walters  <walters@redhat.com>
18304
18305         * named/nm-named-manager.c (generate_named_conf): Write config
18306         and pid files into NM_NAMED_DATA_DIR; this allows things to
18307         work better with FC3 named SELinux policy.  Also fix up silly
18308         format error.
18309
18310         * configure.in: Add --with-named-dir option.
18311
18312 2005-01-14  Colin Walters  <walters@redhat.com>
18313
18314         * configure.in: Make named support require passing --with-named.
18315
18316         * named/nm-named-manager.c: Support writing resolv.conf directly
18317         without running named.
18318
18319 2005-01-13  Dan Williams <dcbw@redhat.com>
18320
18321         * named/nm-named-manager.c
18322                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18323
18324         * src/NetworkManagerDevice.c
18325                 - Rework wireless link detection code to be more reliable
18326
18327 2005-01-12  Dan Williams <dcbw@redhat.com>
18328
18329         * initscripts/RedHat/NetworkManager
18330                 - Change initial level to "-" rather than "345" so that
18331                         we don't activate ourselves by default on install
18332
18333 2005-01-12  Dan Williams <dcbw@redhat.com>
18334
18335         * libnm_glib/
18336                 - Client library for applications using glib
18337
18338         * configure.in
18339           various Makefiles
18340                 - Split NM_CFLAGS and NM_LIBS into separate variables
18341                         like DBUS_*, HAL_* and GLIB_*
18342
18343         * src/NetworkManager.c
18344           src/NetworkManagerMain.h
18345                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18346                         broadcast a status changed signal over DBUS from the main thread.
18347                         Still unused anywhere for the moment.
18348
18349         Patch from j@bootlab.org
18350         * panel_applet/NMWirelessAppletDbus.c
18351           src/NetworkManagerDbus.c
18352                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18353                         for the "getMode" method call
18354
18355 2005-01-10  Dan Williams <dcbw@redhat.com>
18356
18357         * src/NetworkManagerDevice.c
18358                 - Minor fixups & corrections to "auto" frequency mode, make it
18359                         less chatty with syslog
18360
18361 2005-01-10  Dan Williams <dcbw@redhat.com>
18362
18363         * src/NetworkManagerDevice.c
18364                 - Implement "auto" frequency/channel support, since cards like Atheros
18365                         can't use other frequencies at all when you've told it to use a
18366                         specific one, even for scanning.
18367                 - Grab the scan mutex around places where we can't tolerate wireless
18368                         settings changing underneath us, like nm_device_wireless_network_exists()
18369                         and nm_device_activate_wireless()
18370
18371         * src/NetworkManagerWireless.c
18372                 - Back scan interval off to 20s instead of 14s
18373
18374 2005-01-09  Dan Williams <dcbw@redhat.com>
18375
18376         * src/NetworkManagerDevice.c
18377                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18378                         already set.  Stops some drivers like Atmel from continually
18379                         reloading the firmware, which they do upon every configuration
18380                         change.
18381
18382 2005-01-09  Dan Williams <dcbw@redhat.com>
18383
18384         * dhcpcd/client.c
18385                 - Use correct timeout value
18386
18387         * info-daemon/NetworkManagerInfoDbus.c
18388           src/NetworkManagerDbus.c
18389                 - Consolidate communication between NM and NMI by doing only 1 dbus
18390                         method call to get Wireless Network info from NMI instead of 6
18391
18392         * src/NetworkManager.c
18393                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18394                         when we didn't have an AP to use, we'd wait for one forever without
18395                         quitting
18396
18397         * src/NetworkManagerDevice.c
18398                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18399                         activation, dhcp might not have started yet but we don't quit activation
18400                         before starting it, so the quit signal gets lost
18401
18402 2005-01-07  Dan Williams <dcbw@redhat.com>
18403
18404         * dhcpcd/client.c
18405                 - Rework the DHCP client code to be much less chatty when
18406                         it receives non-DHCP UDP packets during the DHCP run
18407                         (reported by and preliminary patches from Bill Moss)
18408
18409         * Move wireless scanning to a separate thread.  This thread forwards the
18410                 results to the main thread when done where they are integrated into
18411                 the device's access point lists.  This keeps the main thread (which
18412                 does all the DBUS communication) from being blocked for long periods
18413                 of time by wireless scanning.
18414
18415         * Make state modification an idle routine in the main loop, and trigger
18416                 state changes rather than polling for them.
18417
18418         * src/backends/NetworkManagerGentoo.c
18419                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18420
18421         * src/NetworkManagerDevice.c
18422                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18423                         router advertisements, causing problems and infinite loop
18424                         during "best" device determination due to link going up/down
18425                         (reported by Bill Moss)
18426
18427         Apply patch from Peter Jones
18428         * src/NetworkManagerDevice.c
18429                 - Shortcut for link-checking for ipw2x00 cards
18430                 - Split out association check into separate routine
18431
18432 2004-01-05  Colin Walters  <walters@redhat.com>
18433
18434         * named/named.conf: Add PID_FILE.
18435
18436         * named/nm-named-manager.c: Always generate a pid
18437         file, since older BIND versions don't support
18438         "pid-file none".
18439
18440 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18441
18442         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18443
18444 2004-12-22  Dan Williams <dcbw@redhat.com>
18445
18446         * src/NetworkManagerDevice.c
18447                 - Silently fail when setting bitrate doesn't work
18448
18449
18450         Patches from j@bootlab.org:
18451         * src/backends/NetworkManagerDebian
18452                 - Update backend to match functionality in RedHat backend
18453         * src/NetworkManagerDevice.c
18454                 - Take down then bring up wired devices after connection so
18455                 they send out ipv6 router advertisements
18456
18457 2004-12-21  Colin Walters  <walters@verbum.org>
18458
18459         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18460         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18461
18462 2004-12-21  Colin Walters  <walters@redhat.com>
18463
18464         * configure.in: Correct named detection.
18465
18466 2004-12-21  Colin Walters  <walters@redhat.com>
18467
18468         * src/NetworkManager.c (nm_data_new): Initialize named.
18469         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18470         the mainloop when these signals are received.
18471         (nm_data_free): Unref named.
18472         (sigterm_handler, sigterm_pipe_handler): New functions for
18473         exiting mainloop.
18474         
18475         * src/NetworkManagerMain.h (NMData): Add signal handling and
18476         nameserver bits.
18477
18478         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18479         unref.
18480
18481         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18482         set nameservers from DHCP response data.
18483         (set_domain_search): Set domain search from DHCP response.
18484         (nm_device_dhcp_configure): Invoke them.
18485
18486         * src/NetworkManagerSystem.c
18487         (nm_system_device_update_resolv_conf): Delete.  Deleting
18488         code is totally sweet.
18489
18490         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18491
18492         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18493         implements an object which controls a nameserver.  Currently
18494         uses bind 9.
18495
18496         * configure.in: Check for named.
18497
18498         * Makefile.am (SUBDIRS): Add named dir.
18499
18500         * named/named.conf: New template config file.
18501
18502 2004-12-20  Colin Walters  <walters@redhat.com>
18503
18504         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18505         instead of '='.
18506
18507 2004-12-17  Dan Williams  <dcbw@redhat.com>
18508
18509         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18510                 link-local addresses instead of doing DHCP.
18511
18512         * In the panel applet, there's a new "Create new Wireless Network..." item
18513
18514         * The panel applet also sticks around now even if NetworkManager dies, but
18515                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18516                 a bug, I'll fix that later.
18517
18518         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18519                 lookups after a switch rather than actually doing them.
18520
18521         * Clean up some of those warnings in nm_ap_list_* functions
18522
18523         * Delay between scans changed to 15s instead of 10s
18524
18525 2004-12-15  Dan Williams  <dcbw@redhat.com>
18526
18527         Patch from Tom Parker
18528         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18529                 address
18530
18531         * Longer pause after setting ESSID on cards that support a larger number
18532                 of channels to give the card time to find the right channel
18533
18534         * Add system hook to restart mDNSResponder (or whatever the local implementation
18535                 of Multicast DNS is) when we activate interfaces
18536
18537 2004-12-15  Dan Williams  <dcbw@redhat.com>
18538
18539         * Rework the DHCP code again to revert to sending full ethernet frames
18540                 rather then relying on the kernel to do the right thing with our
18541                 packets.
18542
18543 2004-12-06  Dan Williams  <dcbw@redhat.com>
18544
18545         * dhcpcd/client.c
18546                 - Fix some minor errors in dhcp_handle_transaction() that caused
18547                         unexpected early timeouts of DHCP transactions
18548
18549         * dhcpcd/client.h
18550                 - DHCP retransmit time from 4s -> 5s
18551
18552 2004-12-05  Dan Williams  <dcbw@redhat.com>
18553
18554         * Major rework of the DHCP code, taking some cues from pump.  We don't
18555                 write raw Ethernet packets anymore, which simplifies the code quite
18556                 a bit.  The new code should be more robust, not hang in recvfrom()
18557                 as much, and generally work better.  This also means that we need
18558                 to force HAL/dbus to use a created GMainContext rather than the
18559                 default context, since having the DHCP renew/rebind thread using
18560                 its own GMainContext seemed to give dbus a fit.  There is also more
18561                 debugging information printed from the DHCP loop to help with future
18562                 problems.
18563
18564         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18565                 assume that the default gateway should be the DHCP server.
18566
18567         Patch from Matthew Schick <matt oss-institute org>
18568         * src/backends/NetworkManagerGentoo.c
18569                 - Fix compilation error due to missing "ip4_broadcast"
18570
18571 2004-12-03  Dan Williams  <dcbw@redhat.com>
18572
18573         * initscript/Makefile.am
18574         * initscript/Debian/NetworkManager
18575         * initscript/Gentoo/NetworkManager
18576         * initscript/RedHat/NetworkManager
18577         * initscript/NMLaunchHelper.c
18578                 - Remove NMLaunchHelper, if you need to wait until the network
18579                         comes up, use the dead code from CVS.
18580
18581 2004-12-01  Colin Walters  <walters@redhat.com>
18582         
18583         * configure.in: Suck in gcc warnings code from Rhythmbox,
18584         but use fewer default flags, and in particular add -Wno-unused,
18585         since the codebase has a lot of unused variables.
18586
18587         * test/nmtestdevices.c (create_device): 
18588         * test/nminfotest.c (get_network_string_property) 
18589         (get_networks_of_type): 
18590         * test/nmclienttest.c (main): 
18591         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18592         * initscript/NMLaunchHelper.c (get_nm_status): 
18593         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18594         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18595         Fix declarations after statements.
18596
18597 2004-12-01  Colin Walters  <walters@redhat.com>
18598
18599         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18600         (nmi_dbus_get_vpn_userpass): New method.
18601         (nmi_dbus_nmi_message_handler): Invoke it.
18602
18603         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18604
18605         * info-daemon/NetworkManagerInfoVPN.h,
18606         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18607         to requests for VPN passwords.
18608
18609         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18610
18611 2004-12-01  Colin Walters  <walters@redhat.com>
18612
18613         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18614         includes.
18615
18616 2004-12-01  Colin Walters  <walters@redhat.com>
18617
18618         * panel-applet/NMWirelessAppletDbus.c
18619         (nmwa_dbus_update_active_device_strength): Fix missing
18620         return value.
18621
18622 2004-12-01  Colin Walters  <walters@redhat.com>
18623
18624         * panel-applet/NMWirelessApplet.c: Add missing include.
18625
18626 2004-12-01  Colin Walters  <walters@redhat.com>
18627
18628         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18629         Remove useless CLAMP (); the value is unsigned, and the case tests
18630         qual->qual < 100, so the value must always be between 0 and 100.
18631
18632 2004-12-01  Colin Walters  <walters@redhat.com>
18633
18634         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18635
18636 2004-11-22  Colin Walters  <walters@verbum.org>
18637
18638         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18639         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18640         which is essentially a noop since nscd caches hosts on disk too.
18641         
18642 2004-11-22  Colin Walters  <walters@redhat.com>
18643
18644         * src/Makefile.am (NetworkManager_SOURCES): Add
18645         NetworkManagerDevicePrivate.h.
18646
18647 2004-11-22  Dan Williams <dcbw@redhat.com>
18648
18649         * src/NetworkManagerDevicePrivate.h
18650                 - Split out the NMDevice struct to a different file so that stuff like
18651                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18652
18653         * dhcpcd/client.c
18654                 - fprintf->syslog
18655                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18656                         need to cancel the dhcp request during the send and recv
18657
18658         * dhcpcd/client.h
18659                 - Move the DHCP option enum to dhcpcd.h
18660
18661         * src/NetworkManagerDHCP.c
18662                 - Split out the actual IP/netmask/etc setting code
18663                 - New Renew/Rebind functions
18664                 - New timer setup function for renew/rebind operations
18665
18666         * src/NetworkManagerDevice.c
18667                 - For device activation, if we are using DHCP then keep the activation thread
18668                         alive until device deactivation.  We need to renew/rebind the DHCP address
18669                         after the T1 (renew) and T2 (rebind) times have expired.
18670                 - Increase some timeouts after bringing wireless cards up/down
18671
18672 2004-11-17  Dan Williams <dcbw@redhat.com>
18673
18674         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18675                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18676                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18677                 show known access points that don't broadcast their ESSID in the menus without
18678                 any user intervention whatsoever.
18679
18680         * info-daemon/NetworkManagerInfoDbus.c
18681                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18682                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18683
18684         * src/NetworkManagerAP.[ch]
18685                 - Add a "user_addresses" data member to the NMAccessPoint structure
18686                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18687                         the user_addresses data member
18688
18689         * src/NetworkManagerAPList.c
18690                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18691                         the AP's reported address
18692                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18693
18694         * src/NetworkManagerDHCP.c
18695                 - Increase DHCP timeout from 25s -> 30s
18696
18697         * src/NetworkManagerDbus.[ch]
18698                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18699                         user addresses
18700
18701         * src/NetworkManagerDevice.c
18702                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18703                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18704                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18705                         So, we take the card down to clear it out.
18706                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18707                         too, since that's where the user_addresses are
18708
18709         * src/NetworkManagerPolicy.c
18710                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18711                         that wireless networks' user_addresses list upon successful activation
18712
18713 2004-11-16  Dan Williams <dcbw@redhat.com>
18714
18715         * src/NetworkManagerDevice.[ch]
18716                 - (nm_device_clear_activation_fail): new function
18717
18718         * src/NetworkManagerPolicy.c
18719                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18720                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18721
18722 2004-11-16  Dan Williams <dcbw@redhat.com>
18723
18724         * src/NetworkManagerDevice.c
18725                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18726                         leak the structure, better updating of now_scanning status
18727                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18728
18729 2004-11-15  Dan Williams <dcbw@redhat.com>
18730
18731         Major rework of link detection code.  We now use DHCP
18732         as part of the link detection which proves to be much more robust,
18733         and also supports Open System authentication for wireless networks.
18734
18735         We no longer use external DHCP client programs.  Instead, we use 
18736         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18737         which was written by:
18738                 Yoichi Hariguchi <yoichi@fore.com>
18739                 Sergei Viznyuk <sv@phystech.com>
18740                 http://www.phystech.com/download/
18741         It resides in the "dhcpcd" directory and was refactored into a general
18742         purpose DHCP client library by me.
18743
18744         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18745         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18746
18747 2004-11-15  Dan Williams <dcbw@redhat.com>
18748
18749         Patch from Tom Parker <palfrey@tevp.net>:
18750
18751         * src/NetworkManagerDevice.c
18752                 - Less output to console when no access
18753                         points are found during a scan
18754
18755 2004-11-15  Dan Williams <dcbw@redhat.com>
18756
18757         Patch from Tom Parker <palfrey@tevp.net>:
18758
18759         * src/backends/interface_parser.c
18760                 - Use g_strdup ()
18761                 - Check for inp == NULL
18762                 - use syslog ()
18763
18764 2004-11-13  Colin Walters  <walters@redhat.com>
18765
18766         Patch from Tom Parker <palfrey@tevp.net>:
18767
18768         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18769         
18770         * src/backends/NetworkManagerRedHat.c: Switch to
18771         including shvar.h instead of shvar.c.
18772
18773         * src/backends/NetworkManagerDebian.c: Don't include
18774         interface_parser.c in source file.
18775
18776         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18777         and interface_parser.[ch].
18778         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18779         Include shvar.c and shvar.h here.
18780         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18781         interface_parser.c and interface_parser.h here.
18782
18783 2004-11-12  Colin Walters  <walters@redhat.com>
18784
18785         * configure.in: Strip out TARGET_DISTRO and
18786         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18787         conditionals.
18788
18789         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18790         (libnmbackend_la_SOURCES): Use Automake conditionals
18791         to add distro-specific files.
18792
18793         * initscript/Makefile.am (SUBDIRS): Update to
18794         use conditionals.
18795
18796 2004-11-12  Colin Walters  <walters@redhat.com>
18797
18798         Patches from j bootlab org
18799
18800         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18801         Add interface_parser.[ch].
18802
18803         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18804         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18805
18806 2004-11-12  Colin Walters  <walters@redhat.com>
18807
18808         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18809         call to nmi_dbus_is_running too, not necessary anymore.
18810         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18811         pick up exit().
18812
18813 2004-11-11  Colin Walters  <walters@verbum.org>
18814
18815         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18816         Delete.
18817         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18818         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18819         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18820         This avoids a race condition that made it pretty easily
18821         possible to get two NetworkManagerInfo daemons running.
18822
18823 2004-11-11  Colin Walters  <walters@verbum.org>
18824         
18825         * src/NetworkManager.c (main): Use daemon(3).
18826
18827         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18828
18829         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18830
18831 2004-11-10 Dan Williams <dcbw@redhat.com>
18832
18833         Patches from j bootlab org
18834         * src/NetworkManagerDevice.c
18835                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18836                         whether the card has a link or not, some cards are slow
18837                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18838
18839         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18840                 - Disable the "Login" button on the passphrase dialog until the user
18841                         enters a valid passphrase or key
18842
18843         Patches from Tom Parker <palfrey tevp net>
18844         * src/backends/NetworkManagerDebian.c
18845                 - Add static IP support to the debian backend
18846
18847         * src/backends/interface_parser.[ch]
18848                 - Parse debian interface config files
18849
18850 2004-11-08 Dan Williams <dcbw@redhat.com>
18851
18852         * src/NetworkManagerDevice.c
18853                 - Some random fprintf->syslog conversions
18854                 - (nm_device_wireless_network_exists): double-check for network
18855                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18856
18857         * src/NetworkManagerWireless.[ch]
18858                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18859                         so that the binary->ascii conversion works (if unsigned, the bitshift
18860                         will fill with zeros, which is what's required).  Also mask bitshift
18861                         result with 0xF for futher assurance.
18862
18863 2004-11-06 Dan Williams <dcbw@redhat.com>
18864
18865         * src/NetworkManagerUtils.c
18866                 - (nm_get_wireless_driver_support_level): default to
18867                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18868                         flip this when changing from whitelist->blacklist of
18869                         wireless drivers
18870
18871 2004-11-05 Dan Williams <dcbw@redhat.com>
18872
18873         Patch from Robert Paskowitz:
18874         * src/backends/NetworkManagerGentoo.c
18875                 - Update static IP config code
18876
18877 2004-11-05 Dan Williams <dcbw@redhat.com>
18878
18879         * info-daemon/NetworkManagerInfoDbus.c
18880           src/NetworkManagerDbus.[ch]
18881           src/NetworkManagerDevice.c
18882                 - Keep track of the # of attempts to get the WEP key
18883                         from the user and pass that along to the info daemon
18884
18885 2004-11-05 Dan Williams <dcbw@redhat.com>
18886
18887         * src/NetworkManagerUtils.c
18888                 - Blacklist wireless cards rather than whitelisting them.
18889                 - Grab driver name from HAL rather than trying to find it
18890                         ourselves.
18891
18892 2004-11-03 Dan Williams <dcbw@redhat.com>
18893
18894         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18895                 - Disable OK button until valid data is entered
18896                         for encryption stuff too
18897
18898         * panel-applet/NMWirelessApplet.c
18899                 - Report card strength for current AP if the card
18900                         doesn't report strength data for scanned access
18901                         points
18902
18903         * src/NetworkManagerDevice.c
18904                 - Smooth out cards reported quality, Atmel card was
18905                         intermittently reporting no quality data but soon
18906                         recovers
18907
18908         * src/NetworkManagerWireless.c
18909                 - Better quality data percentage calculation.  Atmel
18910                         cards (mine at least) seem to report the quality
18911                         in percentage format already, so honor that
18912
18913         Patch from <j@bootlab.org>
18914         * NetworkManager.h
18915           info-daemon/NetworkManagerInfoPassphraseDialog.c
18916           info-daemon/passphrase.glade
18917           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18918           panel-applet/essid.glade
18919           src/NetworkManagerAP.c
18920           src/NetworkManagerDevice.c
18921           src/NetworkManagerWireless.[ch]
18922                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18923
18924 2004-11-03 Dan Williams <dcbw@redhat.com>
18925
18926         * src/NetworkManagerDevice.[ch]
18927                 - (nm_device_set_enc_key): Add parameter to set Authentication
18928                         Mode (Open System, Shared Key, or None).  We're still using
18929                         Shared Key for now though.
18930
18931 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18932
18933         * panel-applet/menu-info.c: change from bold text to light
18934         colored, may cause problems with some themes, i've tested a lot
18935         and they seem fine. 
18936
18937         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18938
18939 2004-11-01  Colin Walters  <walters@verbum.org>
18940
18941         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18942         (nm_wireless_128bit_key_from_passphrase): Add const.
18943
18944         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18945         (nm_ap_set_enc_key_source): Add const.
18946         
18947 2004-11-01  Colin Walters  <walters@verbum.org>
18948
18949         * .cvsignore: Update.
18950
18951 2004-10-29 Dan Williams <dcbw@redhat.com>
18952
18953         * src/NetworkManagerDevice.c
18954                 - (nm_device_wireless_network_exists): Actually use the encryption
18955                         key we got from the applet when attempting to find a wireless network
18956                 - Don't bring devices down so much since on some cards it triggers
18957                         firmware hotplugs each time
18958
18959         * src/NetworkManagerDbus.c
18960                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18961                         from the caller
18962
18963 2004-10-29 Dan Williams <dcbw@redhat.com>
18964
18965         * src/NetworkManager.c
18966                 - (nm_hal_device_property_modified): unlock a locked active
18967                         wireless device when a wired connection gets a link.
18968                         (Means you'll switch to wired whenever you plug in no
18969                         matter what).
18970
18971 2004-10-29 Dan Williams <dcbw@redhat.com>
18972
18973         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
18974                 - New files, implement the "Other wireless network" dialog
18975
18976         * panel-applet/NMWirelessApplet.c
18977                 - Move "other wireless network" dialog to separate file
18978
18979         * panel-applet/NMWirelessAppletDbus.[ch]
18980                 - Take key and key_type paramaters for the set_device function
18981
18982         * panel-applet/essid.glade
18983                 - Add UI bits for encryption settings
18984
18985         * src/NetworkManagerDbus.c
18986                 - Retrieve key and key_type params for "setActiveDevice" method call
18987                         and pass them on
18988                 - unref AP returned from nm_device_get_best_ap() when needed
18989
18990         * src/NetworkManagerDevice.c
18991                 - (nm_device_get_best_ap): ref the ap before returning it
18992                 - unref AP returned from nm_device_get_best_ap() when needed
18993                 - (nm_device_activate_wireless): add "ap" parameter so we don't
18994                         need to call nm_device_get_best_ap() here, it was pretty much
18995                         redundant anyway
18996                 - (AP_NEED_KEY): break second link check condition out into separate
18997                         function, and fix segfault when ap->enc_key_source was NULL
18998                 - (nm_device_find_and_use_essid): take key and key_type parameters and
18999                         pass them along to nm_device_wireless_network_exists().  If the
19000                         network does exist, set the passed-in key+key_type on the AP
19001
19002         * src/NetworkManagerPolicy.c
19003                 - unref AP returned from nm_device_get_best_ap() when needed
19004
19005 2004-10-28 Dan Williams <dcbw@redhat.com>
19006
19007         * src/NetworkManagerUtils.c
19008                 - (nm_spawn_process): Fix a potential dereference of NULL
19009
19010         Patches from Peter Jones:
19011
19012         * src/NetworkManagerDevice.c
19013                 - (nm_device_test_wireless_extensions): Better check for
19014                         wireless devices
19015
19016         * src/NetworkManagerUtils.c
19017                 - (nm_spawn_process): Pass in valid stdout and stderr so
19018                         executed programs don't randomly SIGPIPE and fail
19019                 - (nm_get_wired_driver_support_level): quash hal warning
19020                         when checking for USB ethernet device
19021
19022 2004-10-27 Dan Williams <dcbw@redhat.com>
19023
19024         * info-daemon/NetworkManagerInfo.c
19025           info-daemon/NetworkManagerInfoDbus.c
19026           info-daemon/NetworkManagerInfoPassphraseDialog.c
19027           panel-applet/NMWirelessApplet.c
19028                 - Properly escape gconf keys
19029
19030         * src/NetworkManager.c
19031                 - remove unused variables
19032
19033         * src/NetworkManagerAP.c
19034                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19035                         refcount since it got set in nm_ap_new()
19036
19037         * src/NetworkManagerAPList.c
19038                 - (nm_ap_list_combine): Give up ownership of newly created
19039                         access points to the ap list, fixes memleak
19040
19041         * src/NetworkManagerDevice.c
19042                 - Remove cached_ap_list4 member since its not really needed
19043                 - (nm_device_wireless_network_exists): Try to get correct
19044                         encryption status of a found AP if its already in our
19045                         device list
19046                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19047                         memory allocs/deallocs a bit clearer and shorter-lived
19048
19049 2004-10-26 Ray Strode <rstrode@redhat.com>
19050
19051         * panel-applet/NMWirelessApplet.c:
19052           (custom_essid_item_selected):  kill some compiler
19053         warnings 
19054
19055 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19056
19057         * info-daemon/NetworkManagerInfoDbus.c
19058                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19059                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19060
19061 2004-10-23 Dan Williams <dcbw@redhat.com>
19062
19063         * info-daemon/NetworkManagerInfoDbus.c
19064                 - Trap the "DeviceActivationFailed" signal
19065
19066         * docs/NetworkManager DBUS API.txt
19067                 - Add "DeviceActivationFailed" signal
19068
19069         * panel-applet/NMWirelessAppletDbus.c
19070                 - Quash the "NetworkManager service not available" message
19071
19072         * src/NetworkManagerDbus.[ch]
19073                 - Add the "DeviceActivationFailed" signal
19074
19075         * src/NetworkManagerDevice.c
19076                 - Add support for activation_failed flag
19077                 - Fix deadlock where activation thread didn't clean itself up, making
19078                         main thread still believe it was alive forever (didn't reset activation
19079                         flags like activating, just_activated, etc when IP configuration
19080                         failed)
19081
19082         * src/NetworkManagerPolicy.c
19083                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19084                         for wireless networks, try to fall back to some other access point
19085
19086 2004-10-23 Dan Williams <dcbw@redhat.com>
19087
19088         * panel-applet/NMWirelessApplet.[ch]
19089                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19090                         to the applet object, so we can get tooltips
19091                 - Add tooltips (RH #136866)
19092
19093         * src/NetworkManagerDevice.c
19094                 - When trying to find a wireless network, try to connect with encryption
19095                         turned on first, so that we can more accurately detect whether or not
19096                         we need to use encryption for the actual association later on
19097
19098 2004-10-21 Dan Williams <dcbw@redhat.com>
19099
19100         * Add some support for telling NetworkManagerInfo to tell the user
19101                 that they are using a device that's not fully supported
19102
19103         * Fix some assertions in debug messages due to null access point args
19104
19105 2004-10-21 Dan Williams <dcbw@redhat.com>
19106
19107         * src/NetworkManagerDevice.c
19108                 - Don't try to activate/bring up/down unsupported
19109                         devices
19110
19111         * src/NetworkManagerUtils.c
19112                 - Fix case of PCI ID checks for driver support levels
19113
19114 2004-10-21 Dan Williams <dcbw@redhat.com>
19115
19116         * NetworkManager.h
19117                 - New file, now contains commonly used structures and bits
19118                         for the dbus API of NetworkManager
19119
19120         * Makefile.am
19121                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19122
19123         * src/NetworkManager.h
19124                 - Rename -> src/NetworkManagerMain.c
19125
19126         * Various fixups all around to use NetworkManager.h and new
19127                 src/NetworkManagerMain.h, remove redundant bits that got
19128                 moved into NetworkManager.h
19129
19130         * src/NetworkManagerDevice.[ch]
19131           src/NetworkManagerUtils.[ch]
19132           src/NetworkManagerPolicy.c
19133           src/NetworkManagerDbus.c
19134                 - Whitelist wireless drivers, and blacklist some wired
19135                         drivers.  Also blacklist cipsec and ethernet-over-usb
19136                         devices at this time (RH #135722, RH #135648)
19137                 - Don't leak unsupported devices out over dbus, or allow
19138                         them to be set as the active device.  Skip over them
19139                         during automatic device picking
19140
19141         * test/nmclienttest.c
19142                 - Clean up the dbus code a lot
19143
19144 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19145
19146         * configure.in: post release bump.
19147
19148 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19149
19150         * configure.in:
19151         * NEWS: Released NetworkManager-0.3.1
19152
19153 2004-10-18 Dan Williams <dcbw@redhat.com>
19154
19155         Patches from Thom May:
19156         * test/nmtestdevices.c
19157                 - Include <string.h>
19158         * src/backends/NetworkManagerDebian.c:
19159                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19160                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19161                         Move to using g_strdup_printf rather than arbitrary buffers
19162                 - (nm_system_device_setup_static_ip4_config) Implement function.
19163                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19164
19165 2004-10-17 Dan Williams <dcbw@redhat.com>
19166
19167         * info-daemon/NetworkManagerInfoDbus.c
19168                 - Display name of network in the "network not found" dialog
19169
19170         * panel-applet/NMWirelessAppletDbus.c
19171                 - (nmwa_dbus_call_nm_method): new function replaces all other
19172                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19173                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19174                         consolidated into nmwa_dbus_get_object_name()
19175
19176 2004-10-15 Dan Williams <dcbw@redhat.com>
19177
19178         * src/NetworkManagerDbus.c
19179           info-daemon/NetworkManagerInfoDbus.c
19180                 - Display an error dialog when the user tries to use an
19181                         "Other wireless network" that's not found.
19182
19183 2004-10-15 Dan Williams <dcbw@redhat.com>
19184
19185         * panel-applet/NMWirelessApplet.[ch]
19186                 - Fix up corner cases in applet state, making it
19187                         look more responsive.  Change state to "connecting" when
19188                         the user is forcing a device too.
19189
19190 2004-10-15 Dan Williams <dcbw@redhat.com>
19191
19192         * src/NetworkManagerAPList.c
19193                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19194
19195         * src/NetworkManagerDbus.c
19196                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19197
19198         * src/NetworkManagerDevice.c
19199                 - Disown APs after the device's AP list takes ownership
19200
19201 2004-10-15 Dan Williams <dcbw@redhat.com>
19202
19203         * panel-applet/NMWirelessApplet.c
19204                 - Update our applet state from the GUI thread
19205
19206         * panel-applet/NMWirelessAppletDbus.c
19207                 - Greatly simplify the locking to make the GUI thread
19208                         smoother.  Update a private copy of the device list
19209                         and active device and only when done talking to
19210                         NetworkManager turn it over to the GUI thread.
19211
19212 2004-10-15 Dan Williams <dcbw@redhat.com>
19213
19214         * src/NetworkManagerAP.[ch]
19215                 - Add "artificial" get/set functions, set for APs that
19216                         aren't discovered as part of a scan but instead
19217                         discovered by force-setting the ESSID
19218
19219         * src/NetworkManagerDevice.[ch]
19220                 - (nm_device_wireless_network_exists): pass back whether
19221                         or not the discovered AP was encrypted.  Also, try
19222                         falling back to encrypted mode on the card if unencrypted
19223                         association doesn't work
19224                 - (nm_device_find_and_use_essid): If the network requested
19225                         did in fact exists, but it wasn't in our scan list, add
19226                         an "artificial" entry for it.  Some Cisco cards don't
19227                         see non-ESSID-broadcasting APs in their scan but can still
19228                         associate with them if you know the ESSID, this works around
19229                         that behavior
19230                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19231                         to scan if the card is currently associated with that AP
19232
19233 2004-10-15 Dan Williams <dcbw@redhat.com>
19234
19235         ---- We have a website ----
19236         http://people.redhat.com/dcbw/NetworkManager
19237
19238         Patch from Robert Paskowitz:
19239         * src/NetworkManager.c
19240                 - (main): Make sure we are run as root
19241         * src/NetworkManagerDevice.c
19242                 - Fix type in ad-hoc setting function
19243
19244         Patch from Thom May:
19245         * src/backends/NetworkManagerDebian.c
19246                 - Make Debian backend compile again
19247
19248 2004-10-14 Dan Williams <dcbw@redhat.com>
19249
19250         * Tagged NetworkManager-0_3
19251
19252 2004-10-14 Dan Williams <dcbw@redhat.com>
19253
19254         Patch from Robert Paskowitz:
19255         * NEWS
19256           src/NetworkManagerDevice.[ch]
19257           src/backends/NetworkManagerDebian.c
19258           src/backends/NetworkManagerGentoo.c
19259           src/backends/NetworkManagerRedHat.c
19260           src/backends/NetworkManagerSlackware.c
19261                 - Add support for grabbing and using a broadcast address
19262                         from system config files
19263                 - Some Gentoo backend fixes for grabbing network config
19264                 - Fix LOG_WARN->LOG_WARNING
19265
19266 2004-10-14 Dan Williams <dcbw@redhat.com>
19267
19268         * NEWS: a few small fixes in the credits
19269
19270 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19271
19272         * NEWS: prep for release.
19273
19274 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19275
19276         * panel-applet/NMWirelessAppletDbus.c
19277         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19278
19279 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19280
19281         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19282         applet->state == APPLET_STATE_NO_NM animation.
19283
19284         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19285         set the text correctly.
19286
19287 2004-10-14 Dan Williams <dcbw@redhat.com>
19288
19289         * src/NetworkManager.c
19290                 - Only accept and manager 802.3 and 802.11 devices
19291
19292         * src/NetworkManagerDbus.[ch]
19293                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19294                         logic into NetworkManagerDevice.c
19295                 - (nm_dbus_network_status_from_data): new function
19296                 - (nm_dbus_signal_network_status_change): new function, unused for now
19297                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19298
19299         * src/NetworkManagerDevice.[ch]
19300                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19301                         a random ESSID.
19302
19303 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19304
19305         * info-daemon/NetworkManagerInfo.c 
19306                 - (main): Added session management
19307
19308 2004-10-14 Dan Williams <dcbw@redhat.com>
19309
19310         * panel-applet/NMWirelessAppletDbus.[ch]
19311                 - Expose network_device_[un]ref()
19312                 - Expose wireless_network_[un]ref()
19313                 - (wireless_network_new_with_essid): new function, create and return
19314                         a wireless network with a particular essid
19315
19316         * panel-applet/NMWirelessApplet.c
19317                 - Hook up the "other network" dialog to do something
19318
19319 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19320
19321         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19322         doesn't work yet, but it looks okay.
19323
19324         * panel-applet/icons/*png: Resize to 22x22 and install in the
19325         right place.
19326
19327 2004-10-13 Dan Williams <dcbw@redhat.com>
19328
19329         * panel-applet/NMWirelessApplet.c
19330                 - Add function to print out applet_state in a readable
19331                         manner
19332
19333         * src/NetworkManager.c
19334                 - (main): Don't segfault when nm_dbus_init() fails, we had
19335                         a left-over call to hal_shutdown() into which we passed NULL
19336
19337         * src/NetworkManagerAP.c
19338                 - (nm_ap_set_essid): Allow NULL essids
19339
19340         * src/NetworkManagerAPList.[ch]
19341                 - More use of nm_ap_list_[un]lock ()
19342                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19343                         network/essid, just return nothing.  Also skip over NULL
19344                         essid access points in the list when searching
19345                 - (nm_ap_list_get_ap_by_address): new function
19346                 - (nm_ap_list_update_network): set the access point's key source to
19347                         NULL when the key returned from NetworkManagerInfo is NULL or
19348                         of 0 length
19349                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19350                         copy timestamp over too
19351                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19352                         find the correct ESSID for a blank-essid access point by searching
19353                         through another list and matching access point MAC addresses
19354                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19355
19356         * src/NetworkManagerDbus.c
19357                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19358                         may specify.  This is mainly for access points that don't
19359                         broadcast their essid.  So if the user tells us to associate with
19360                         some random ESSID that's not in our access point list, we find
19361                         out if the access point does in fact exist (by attempting association
19362                         and then matching that access point's MAC address with the essid the
19363                         user gave us) and then we switch to it.
19364                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19365                         to the returned list of networks for the "getNetworks" method
19366
19367         * src/NetworkManagerDevice.[ch]
19368                 - Extra debugging info for link detection
19369                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19370                         based on MAC address
19371                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19372                 - (nm_device_wireless_network_exists): new function, find out whether
19373                         a random ESSID exists by attempting to associate with it
19374                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19375                         device list as long as they have an AP MAC address we can use.
19376                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19377                         devices too.  Lets the applet update more frequently.
19378
19379         * src/backends/NetworkManagerGentoo.c
19380                 - Patch from: Robert Paskowitz
19381                         - Update backend code for Gentoo
19382                         - Implement nm_system_device_update_config_info ()
19383
19384         * test/nmclienttest.c
19385                 - (set_network_device): new function, takes a command-line argument
19386                         and tells NetworkManager to use that wireless network
19387
19388 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19389
19390         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19391         if the notification icon crashes 5 times within 5 seconds of each respawn 
19392
19393 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19394
19395         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19396         g_print.
19397
19398 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19399
19400         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19401
19402         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19403         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19404         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19405         Change the name of the icons.
19406
19407         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19408         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19409         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19410         (nm_menu_wireless_expose_event): Really bad hack to get the style
19411         to draw in the right color.
19412
19413 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19414
19415         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19416         Notification if it crashes
19417
19418 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19419
19420         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19421         (nmwa_dbus_get_string): remove unused functions
19422
19423         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19424         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19425         remove unused functions
19426
19427         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19428
19429 2004-10-12 Dan Williams <dcbw@redhat.com>
19430
19431         * panel-applet/NMWirelessAppletDbus.c
19432                 - New functions:
19433                         wireless_network_new
19434                         wireless_network_copy
19435                         network_device_new
19436                         network_device_copy
19437
19438         * src/NetworkManagerDevice.[ch]
19439                 - New functions:
19440                         nm_device_set_mode_managed
19441                         nm_device_set_mode_adhoc
19442                 - Use these functions where appropriate
19443                 - When creating a new wireless device, force the card
19444                         to managed/Infrastructure mode as soon as possible
19445
19446 2004-10-12 Dan Williams <dcbw@redhat.com>
19447
19448         * src/NetworkManagerDevice.c
19449                 - Force wireless cards into Infrastructure mode before we use them
19450
19451 2004-10-12 Dan Williams <dcbw@redhat.com>
19452
19453         * TODO
19454                 - Remove bit about static IP address support
19455
19456         * src/NetworkManagerUtils.c
19457                 - (nm_spawn_process): Add some error reporting
19458
19459         * src/NetworkManagerDevice.c
19460                 - (nm_device_activation_configure_ip): hook up to the static config
19461                         routines in the backends
19462
19463         * src/backends/NetworkManagerRedHat.c
19464                 - (nm_system_device_update_config_info): use shvar.c routines to
19465                         parse the config file iformation, not our own
19466                 - (nm_system_device_setup_static_ip4_config): new function, based
19467                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19468                         with a static IP address and gateway
19469
19470         * src/backends/shvar.[ch]
19471                 - Parser (filched from initscripts package) for ifcfg-* files
19472
19473         * src/backends/NetworkManagerSystem.h
19474           src/backends/NetworkManagerGentoo.c
19475           src/backends/NetworkManagerDebian.c
19476           src/backends/NetworkManagerSlackware.c
19477                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19478
19479 2004-10-11 Dan Williams <dcbw@redhat.com>
19480
19481         * TODO
19482                 - Remove bit about more robust AP diffing since I just implemented it
19483
19484 2004-10-11 Dan Williams <dcbw@redhat.com>
19485
19486         * src/NetworkManagerAP.c
19487                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19488                         enough RAM to allocate new AP structures, but return NULL instead
19489
19490         * src/NetworkManagerAPList.[ch]
19491                 - (nm_ap_list_is_empty): new function
19492                 - (nm_ap_list_combine): new function, combine two access point lists
19493                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19494                         into another
19495
19496         * src/NetworkManagerDevice.[ch]
19497                 - Rename some functions to be clearer:
19498                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19499                         nm_device_just_activated     -> nm_device_is_just_activated
19500                         nm_device_activating         -> nm_device_is_activating
19501                         nm_device_now_scanning       -> nm_device_is_scanning
19502                 - Cache the last 4 scans so that the access point list is more stable.
19503                         We combine the lastest two scans and use that as the AP list,
19504                         and diff that combined list against the combination of the earliest
19505                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19506
19507 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19508
19509         * info-daemon/NWManagerInfo.h
19510                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19511
19512         * info-daemon/NWManagerInfoDbus.c
19513                 - (shutdown_callback): new function
19514                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19515                         if NetworkManager goes away.  Kill the timeout
19516                         if NetworkManager restarts before the 30 seconds
19517                         are up.
19518                 - (nmi_dbus_service_init): 
19519                         - call gtk_main_quit if NetworkManager is not running
19520                         - add filters to monitor dbus service creations and
19521                                 deletions
19522         
19523 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19524
19525         * panel-applet/NMWirelessApplet.c
19526                 - (nmwa_update_state): Hide notification icon if we are only
19527                         showing one wired card and no wireless interfaces 
19528                         (Red Hat Bug #134895)
19529
19530         * panel-applet/NMWirelessAppletDbus.c
19531                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19532
19533         * info-daemon/NWManagerInfo.c
19534                 - (main): Terminated the notification_icon_cmd array with a NULL
19535
19536 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19537
19538         * configure.in (ALL_LINGUAS): Added de (German).
19539
19540 2004-10-08 Dan Williams <dcbw@redaht.com>
19541
19542         * src/NetworkManagerDevice.c
19543                 - Be a bit more robust about link checking, ie make sure that
19544                         the WEP key we were given actually has some data in it
19545
19546 2004-10-08 Dan Williams <dcbw@redhat.com>
19547
19548         * info-daemon/NetworkManagerInfo.c (main):
19549                 - Initialize GError object to NULL
19550
19551 2004-10-08 Dan Williams <dcbw@redhat.com>
19552
19553         * panel-applet/NMWirelessAppletDbus.c
19554                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19555
19556 2004-10-08 Dan Williams <dcbw@redhat.com>
19557
19558         * info-daemon/NetworkManagerInfo.[ch]
19559           info-dameon/NetworkManagerInfoDbus.[ch]
19560           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19561                 - Preserve original label text in the passphrase dialog so that
19562                         it actually gets updated with the new network name the next
19563                         time around.  Previously, we were overwriting it so you'd get
19564                         the wrong network name to enter a key for
19565                 - Add a "Key Type" combo to the passphrase dialog, user selects
19566                         encryption key type now, type is stored in GConf too
19567                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19568
19569         * src/NetworkManagerAP.[ch]
19570                 - Remove all the encyption method magic.  It's now set by the user
19571                         and NetworkManager retrieves the type of encryption key from
19572                         NetworkManagerInfo
19573
19574         * src/NetworkManagerAPList.[ch]
19575           src/NetworkManagerDbus.[ch]
19576                 - Adjust to new way of setting encryption key and method
19577                 - Pull encryption method down from NMI along with key
19578
19579         * src/NetworkManagerDevice.[ch]
19580                 - Removed encryption method fallback magic as the method is now
19581                         determined by the user.  This greatly simplifies the connection
19582                         logic.
19583                 - More robust connection/link logic.  Besides removing the encryption
19584                         method fallback magic, check whether or not the card is receiving
19585                         invalidly encrypted packets, which usually indicates that we have
19586                         a bad WEP key set.
19587                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19588
19589         * test/nminfotest.c
19590                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19591
19592 2004-10-07 Dan Williams <dcbw@redhat.com>
19593
19594         * info-daemon/NetworkManagerInfo.conf
19595                 - Allow root user to run NMI too
19596
19597 2004-10-06 Dan Williams <dcbw@redhat.com>
19598
19599         * src/NetworkManagerDevice.[ch]
19600           src/NetworkManagerDbus.c
19601           doc/NetworkManager DBUS API.txt
19602                 - Add a new status tag "scanning", which is set when there
19603                         is no active network connection, but NetworkManager is
19604                         looking for an access point to associate with
19605
19606         * panel-applet/main.c
19607                 - Cast the applet appropriately for gtk_widget_show_all ()
19608
19609 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19610
19611         * panel-applet/eggtrayicon.[ch]:
19612         * panel-applet/main.c: Add missing file
19613
19614 2004-10-04 Dan Williams <dcbw@redhat.com>
19615
19616         * src/NetworkManagerDevice.[ch]
19617                 - Add a slightly more robust method of determining if the WEP key
19618                         is correct or not, by checking the WEP-discarded packet count
19619                         on the card
19620
19621         * info-daemon/NetworkManagerInfo.c
19622                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19623                         un-escape values we pull out rather than escaping them
19624
19625 2004-10-03  Marcel Telka  <marcel@telka.sk>
19626
19627         * configure.in (ALL_LINGUAS): Added sk.
19628
19629 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19630
19631         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19632         and feel.  We should be back to working, and have a good, clean
19633         look.
19634
19635 2004-09-30 Dan Williams <dcbw@redhat.com>
19636
19637         * info-daemon/NetworkManagerInfo.c
19638           info-daemon/NetworkManagerInfoDbus.c
19639           test/nminfotest.c
19640                 - Escape ESSIDs in gconf
19641
19642         * src/NetworkManagerDevice.c
19643                 - Fix pseudo-scanning to use netowrk list from info daemon
19644
19645 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19646
19647         * configure.in: Add a temporary --enable-notification-icon.  This
19648         will prolly go away.
19649
19650         * info-daemon/Makefile.am:
19651         * info-daemon/NetworkManagerInfo.c:
19652         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19653
19654         * panel-applet/Makefile.am:
19655         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19656         * panel-applet/NMWirelessApplet.h:
19657
19658 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19659
19660         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19661         before 'select custom ESSID'.
19662
19663         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19664         fully complete, but syncing in prep for merge.
19665
19666         * panel-applet/icons/*png: New images
19667
19668 2004-09-28 Dan Williams <dcbw@redhat.com>
19669
19670         * src/NetworkManager.c
19671           src/NetworkManagerDevice.c
19672           src/NetworkManagerPolicy.c
19673                 - Don't blow away an active wired connection on startup
19674
19675 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19676
19677         Changes from J5
19678         
19679         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19680
19681         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19682         syslog output
19683
19684 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19685
19686         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19687         have a wireless card.
19688
19689 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19690
19691         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19692         Also, get the right device strings.
19693
19694 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19695
19696         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19697         the logic to make this right.
19698
19699         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19700         devices so that wired networks are always first.
19701
19702 2004-09-22    <clarkbw@cvs.gnome.org>
19703
19704         * initscript/Debian/.cvsignore:
19705         * initscript/Slackware/.cvsignore:
19706         Added new cvsignores for Makefile, Makefile.in
19707         
19708         * test/.cvsignore:
19709         Added nmtestdevices
19710         
19711         * src/NetworkManagerDevice.c: 
19712         * src/NetworkManager.c: 
19713         Updated the wireless/wired HAL device strings from net.ethernet to
19714         net.80203 or net.80211 depending on wired or wireless respectively
19715         
19716         * examples/python/NetworkManager.py: 
19717         s/Quality/Strength/
19718
19719         * examples/python/systray/network_tray.py:
19720         Lots of little changes and fixes.  been rotting for a while so I
19721         figured I'd finally sync them all with CVS
19722
19723 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19724
19725         * configure.in: Add graphics
19726
19727         * panel-applet/Makefile.am: Add graphics
19728
19729         * panel-applet/icons/*: Add graphics
19730
19731         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19732         the icons fully lined up.
19733
19734         * panel-applet/menu-info.c: 
19735         * panel-applet/menu-info.h: Add another menu type.
19736
19737 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19738
19739         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19740
19741         * panel-applet/menu-item.[ch]: Wireless menu item.
19742
19743 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19744
19745         * info-daemon/NetworkManagerInfo.conf
19746                 - Created a more robust security policy for the DBus service
19747                         - everything is denied by default
19748                         - root can own and send to the service
19749                         - users logged in at the console can send to the service
19750
19751 2004-09-13  Dan Williams <dcbw@redhat.com>
19752
19753         * src/NetworkManagerDevice.c
19754                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19755                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19756                         the latter
19757
19758 2004-09-13  Dan Williams <dcbw@redhat.com>
19759
19760         * TODO: fix typo
19761
19762         * docs/NetworkManager DBUS API.txt
19763                 - Update for new signal strength changes
19764
19765         * panel-applet/NMWirelessApplet.c
19766                 - Make panel icon show strength of the current connection
19767                 - Cleanups and memleak fixes
19768
19769         * panel-applet/NMWirelessApplet.h
19770                 - Add data members for signal strength on devices and networks
19771
19772         * panel-applet/NMWirelessAppletDbus.c
19773                 - Free more DBusErrors
19774                 - Update for new signal strength changes
19775                 - Make devices and networks more like real objects, use ref/unref methods
19776                 - Actually unlock the mutex when updating the active device
19777
19778         * src/NetworkManagerAP.c
19779                 - Change AP functions and data members from "quality"->"strength"
19780
19781         * src/NetworkManagerDbus.c
19782                 - Kill "getMaxQuality" and "getQuality" methods
19783                 - Add "getStrength" methods for Networks and Devices
19784
19785         * src/NetworkManagerDevice.[ch]
19786                 - Add accessors for device strength
19787                 - Add functions to update strength for a device.  Note that not all drivers
19788                         actually support signal strength for scanned access points (Atmel drivers
19789                         being one)
19790                 - Calculate signal strength for each AP during scan
19791
19792         * src/NetworkManagerWireless.[ch]
19793                 - Add function to return signal strength % from a device and a raw quality struct
19794
19795         * test/nmclienttest.c
19796                 - Update for new signal strength changes
19797
19798 2004-09-11  Dan Williams <dcbw@redhat.com>
19799
19800         * src/NetworkManager.c
19801                 - Fix race condition between initscripts and NM on card insertion
19802                         which could cause a card to keep an IP address and routes around
19803                         even when it was not the active device
19804
19805         * src/NetworkManagerDbus.c
19806                 - Fix compile errors, free more DBusErrors
19807
19808 2004-09-11  Dan Williams <dcbw@redhat.com>
19809
19810         * docs/NetworkManager DBUS API.txt
19811                 - Add an explanation of NM's API
19812
19813         * src/NetworkManagerDbus.c
19814                 - Free some more DBusErrors if needed
19815
19816 2004-09-11  Dan Williams <dcbw@redhat.com>
19817
19818         * panel-applet/NMWirelessApplet.c
19819           panel-applet/NMWirelessAppletDbus.c
19820                 - Start using NetworkDevice/WirelessNetwork structures in more places
19821                 - Update for unified device/network forcing in NetworkManager
19822
19823         * src/NetworkManager.c
19824                 - some code consolidation
19825
19826         * src/NetworkManagerDbus.c
19827                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19828                         or two arguments:  the first is the NM ID of the device to switch to,
19829                         and the second (optional) argument is the ESSID of a wireless network
19830                         to use as well.
19831                 - Get rid of "setNetwork" method due to above change
19832
19833         * src/NetworkManagerDevice.c
19834                 - (nm_device_new): perform scan and update best AP on device creation
19835                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19836                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19837                         spin waiting for cancellation to finish before returning
19838
19839         * src/NetworkManagerPolicy.c
19840                 - Changes here clarify the situations in which a device switch occurs, and 
19841                         make sure to keep using a forced device and network if the user gives
19842                         us one
19843                 - Remove old unused code
19844
19845 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19846
19847         * configure.in: Added Danish (da) to ALL_LINGUAS.
19848
19849 2004-09-09  Dan Williams <dcbw@redhat.com>
19850
19851         * panel-applet/NMWirelessAppletDbus.c
19852                 - Pull fresh devices and networks from NM when wireless networks
19853                         change.  Provides faster feedback of a forced wireless network
19854
19855         * src/NetworkManagerDbus.c
19856                 - Return error when "getMaxQuality" is called on a wired device
19857                 - Make best_ap freezing actually work again, and signal cancellation
19858                         of activation if there's already a device activation when the user
19859                         freezes the best_ap
19860
19861         * src/NetworkManagerDevice.c
19862                 - Don't clear out the best_ap for wireless devices when the link goes
19863                         down, that's done elsewhere
19864                 - Kill any dhcp daemons when cancelling device activation since they
19865                         may be stuck waiting for a DHCP address, and since we're cancelling
19866                         activation we don't care about that anymore
19867
19868         * src/NetworkManagerPolicy.c
19869                 - Make sure to unref the device we ref earlier (we refed it to make sure
19870                         it stuck around during device activation and such)
19871                 - If we were going to change the best device, but its activating currently
19872                         (and therefore the change didn't occur due to the check earlier)
19873                         we mark the state changed to we come back to it later when device
19874                         activation has canceled and its no longer activating
19875
19876         * src/backends/NetworkManagerRedHat.c
19877                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19878
19879 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19880
19881         * info-daemon/passphrase.glade: 
19882         set passphrase input to activates_default : True
19883
19884         * examples/python/systray/network_tray.py
19885         (network_tray.sort_networks):
19886
19887         Added support for having wireless always scanning
19888
19889 2004-09-09  Dan Williams <dcbw@redhat.com>
19890
19891         NOTE: this commit changes the behavior of wireless devices in
19892         NetworkManager.  They are now up all the time, scanning all
19893         the time.  Only the active device has an IP address and routing
19894         information set up however.  Also, NetworkManager will no longer
19895         opportunistically switch wireless networks when a better one
19896         comes in range, it will remain associated with one wireless network
19897         until that one drops out.
19898
19899         * panel-applet/NMWirelessApplet.c
19900           panel-applet/NMWirelessAppletDbus.c
19901                 - List all wireless cards and their respective networks
19902
19903         * src/NMLoadModules
19904                 - Use full path to /sbin/ip
19905
19906         * src/NetworkManager.c
19907                 - Keep wireless devices up all the time so they can scan
19908
19909         * src/NetworkManagerDbus.c
19910                 - On a WirelessNetworkUpdate signal from NMI, don't update
19911                         the "best" AP
19912
19913         * src/NetworkManagerDevice.c
19914                 - (nm_device_set_link_active): clear out the best ap for
19915                         wireless devices when the link is set to FALSE
19916                 - Scan on all wireless cards, all the time
19917                 - (nm_device_activation_worker): split out the wireless card
19918                         link-waiting code to a separate function
19919                 - Keep wireless cards up even if device activation fails
19920                 - Don't update the "best" ap as much
19921
19922         * src/NetworkManagerPolicy.c
19923                 - Don't update the best ap when checking if its frozen,
19924                         let link checking clear out a frozen best ap for us
19925
19926         * src/NetworkManagerWireless.c
19927                 - Scan on all wireless cards, all the time
19928
19929 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19930
19931         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19932
19933 2004-09-09  Ankit Patel <ankit@redhat.com>
19934
19935         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19936
19937 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19938
19939         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19940
19941 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19942
19943         * examples/python/NetworkManager.py: 
19944         added CONNECTED, CONNECTING, and DISCONNECTED states
19945         added methods to return number of devices of a single type
19946
19947         * examples/python/systray/network_tray.py: 
19948         did some tweaks to get the menu looking near what it is supposed
19949         to look like.  Also did a Airo card hack to make it show the
19950         correct AP quality
19951
19952 2004-09-08  Dan Williams <dcbw@redhat.com>
19953
19954         * panel-applet/no-networkmanager.png
19955           panel-applet/Makefile.am
19956           panel-applet/NMWirelessApplet.c
19957                 - Add a "NetworkManager not running" icon and use it
19958                 - Use new consolidated GConf keys rather than Preferred/Trusted
19959
19960         * TODO: update
19961
19962         * info-daemon/NetworkManagerInfo.c
19963           info-daemon/NetworkManagerInfoDbus.[ch]
19964           info-daemon/NetworkManagerInfoPassphraseDialog.c
19965                 - There are now no longer two separate lists of wireless networks,
19966                         but one list where each network is "trusted" or not trusted
19967                 - Add a "getNetworkTrusted" dbus method
19968                 - "WirelessNetworkUpdate" signal now sent rather than
19969                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19970                 - Start freeing some dbus errors (not completed yet)
19971
19972         * info-daemon/passphrase.glade
19973                 - Remove the "don't show" hints for pager and taskbar
19974                 - Add a title since its going to be in the taskbar
19975
19976         * src/NetworkManager.[ch]
19977           src/NetworkManagerAPList.[ch]
19978                 - There are now no longer two separate lists of wireless networks,
19979                         but one list where each network is "trusted" or not trusted
19980
19981         * src/NetworkManagerAP.[ch]
19982                 - Add get/set "trusted" accessors and data bit
19983
19984         * src/NetworkManagerDbus.[ch]
19985                 - Add function to get "trusted" status of a network from NetworkManagerInfo
19986                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
19987
19988         * src/NetworkManagerDevice.[ch]
19989                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
19990                 - (nm_device_new): Get device config from backend when initializing devices
19991                 - (nm_device_activation_worker): Split out device configuration on
19992                         activation to deal with static/dynamic IP differences, and try encryption
19993                         fallbacks on a device if the encryption method for the best AP is not good
19994                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
19995                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
19996
19997         * src/NetworkManagerWireless.c
19998                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
19999
20000         * src/backends/NetworkManagerRedHat.c
20001           src/backends/NetworkManagerSystem.h
20002                 - (nm_system_device_update_config_info): Add function to get device configuration
20003                         from system data in ifcfg-* files
20004
20005         * src/backends/NetworkManagerDebian.c
20006           src/backends/NetworkManagerGentoo.c
20007           src/backends/NetworkManagerSlackware.c
20008                 - Add stub functions for getting device configuration
20009
20010 2004-09-07  Dan Williams <dcbw@redhat.com>
20011
20012         * src/backends/NetworkManagerRedhat.c
20013           src/backends/NetworkManagerSlackware.c
20014                 - Use full path to /sbin/ip everywhere
20015
20016 2004-09-07  Dan Williams <dcbw@redhat.com>
20017
20018         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20019
20020         * configure.in
20021           initscript/Makefile.am
20022           initscript/Slackware/Makfile.am
20023           initscript/Slackware/rc.networkmanager
20024           src/Makefile.am
20025           src/backends/NetworkManagerSlackware.c
20026                 - Add Slackware support
20027
20028 2004-09-07  Dan Williams <dcbw@redhat.com>
20029
20030         Patches below from:
20031                 <j@bootlab.org>
20032                 Mark Roach <mrroach@okmaybe.com>
20033                 Thom May <thom@debian.org>
20034
20035         * configure.in
20036           initscript/Debian/NetworkManager
20037           initscript/Debian/Makefile.am
20038                 - Initscript for Debian
20039
20040         * src/backends/NetworkManagerDebian.c
20041                 - Add missing system init function to allow compilation
20042                         on Debian
20043
20044 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20045
20046         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20047
20048 2004-09-03  Akagic Amila <bono@linux.org.ba>
20049
20050         * configure.in: Added 'bs' to ALL_LINGUAS.
20051
20052 2004-09-02  Colin Walters  <walters@verbum.org>
20053
20054         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20055         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20056         g_strdup_printf instead of arbitrarily sized buffers.
20057
20058 2004-09-01  Colin Walters  <walters@verbum.org>
20059
20060         * NetworkManager.pc.in: New file.
20061
20062         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20063
20064 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20065         
20066         * configure.in: Punjabi(pa) is added to po/.
20067
20068 2004-08-31  Dan Williams <dcbw@redhat.com>
20069
20070         * Remove 'debug' extern global from all files since we now
20071                 use syslog()
20072
20073         * src/NetworkManager.[ch]
20074                 - Break out routine that get the net.interface property from HAL,
20075                         removing that logic from nm_create_device_and_add_to_list()
20076                 - (nm_create_device_and_add_to_list): make this a bit more general so
20077                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20078                         the create of test devices.
20079                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20080                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20081                         which makes NetworkManager listen for dbus commands to create test
20082                         devices, which have no backing hardware.  Use when you're on a plane
20083                         for example, and/or forgot your wireless card at home.  Test devices
20084                         _cannot_ be created unless NM is started with --enable-test-devices.
20085
20086         * src/NetworkManagerDbus.[ch]
20087                 - New "getLinkActive" method for devices
20088                 - New "setLinkActive" method for devices (only works on test devices)
20089                 - New "createTestDevice" method on NetworkManager object to create a test
20090                         device of a specified type (ie wired, wireless).  UDI is created from
20091                         scratch, as is the interface name.  Only works when NM is started with
20092                         --enable-test-devices switch.
20093                 - New "removeTestDevice" method on NetworkManager object which removes a
20094                         test device.  Only works when NM is started with --enable-test-devices
20095
20096         * src/NetworkManagerDevice.[ch]
20097                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20098                         whether a device is a test device or not, and what its link status is.
20099                 - Deal with test devices in most functions.  For those that work directly on hardware
20100                         special-case test devices.
20101                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20102                         command-line.
20103                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20104                         checking to separate functions to facilitate test device link checking.
20105                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20106                         don't make a distinction between System Authentication and Encryption
20107                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20108                         on the card.  We don't deal with Shared Key auth yet.
20109                 - (nm_device_activation_worker): split the activation cancel check logic out into
20110                         a separate routine nm_device_activation_cancel_if_needed()
20111                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20112                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20113                         a list of fake access points that they can "see"
20114                 - (nm_device_is_test_device): return whether or not a device is a test device
20115
20116         * src/NetworkManagerPolicy.c
20117                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20118                         previously if you "locked"/forced NM to use a wireless device but then
20119                         selected a wireless network for NM to use, it would switch to a wired device.
20120                         So, if the active device is wireless and it has a "forced" best AP, use it
20121                         if the "forced" best AP is still valid
20122                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20123                         there were no usable network devices, or the last one was removed
20124
20125         * src/backends/NetworkManager*.c
20126                 - Deal with test devices, mostly just return success for operations like getting
20127                         a DHCP address
20128
20129         * test/nmtestdevices.c
20130                 - Test tool to create/remove/link-switch test devices
20131
20132 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20133
20134         * examples/python/NetworkManager.py: 
20135         added convience functions has_wired_device and has_wireless_device
20136
20137         * examples/python/systray/network_tray.py: 
20138         cleaned up a bunch of cruft, added support for listing wireless
20139         networks just like the real applet.  This is probably all I'm
20140         going to work on this applet from now on.
20141         TODO: add support for actually changing networks and devices
20142
20143         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20144         changed "nm.networks" into a dict from a list so I can store all
20145         the cool information about networks in there
20146
20147         * examples/python/systray/network_tray.py: 
20148         Added nice message when you try to run without running make first
20149
20150         * examples/python/NetworkManager.py: 
20151         Bug fixes to the code so we get all the device information
20152         that we need in get_device()
20153         
20154         * examples/python/NMTester.py: 
20155         Fixed _print_device_list to print_device_list
20156
20157 2004-08-29  Seth Nickell  <seth@gnome.org>
20158
20159         * configure.in:
20160
20161         Actually properly setup the Debian backend in configure.
20162         
20163 2004-08-29  Colin Walters  <walters@verbum.org>
20164
20165         * test/nminfotest.c: Include string.h and stdlib.h.
20166         (get_network_string_property, get_networks_of_type): Return NULL.
20167
20168         * test/nmclienttest.c (get_device_name, get_active_device): Return
20169         NULL.
20170
20171         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20172         use strlen, fgets always NULL-terminates the string.
20173
20174         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20175         dbus_message_get_member): Remove /* in comment.
20176
20177         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20178
20179         * src/NetworkManager.c (quit): Unused, delete.
20180         (nm_data_free): Cast arg to GFunc.
20181
20182         * panel-applet/NMWirelessAppletDbus.c: Need to include
20183         string.h, and dbus-glib-lowlevel.h (the latter is needed
20184         for dbus_connection_setup_with_g_main at present).
20185         (nmwa_dbus_update_wireless_network_list): Parenthesize
20186         assignment in conditional.
20187         (nmwa_dbus_worker): Return NULL.
20188
20189         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20190         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20191         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20192         (nmwa_populate_menu): Return NULL on failure, instead of just
20193         return;
20194
20195         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20196
20197         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20198         variables.
20199
20200         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20201         delete.
20202         
20203 2004-08-29  Colin Walters  <walters@verbum.org>
20204
20205         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20206         a GTimeVal instead of time_t.  This is easier to work with,
20207         since time_t may be a long or double, we don't know.
20208
20209         * src/NetworkManagerDbus.h: Update prototype.
20210         
20211         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20212         instead of time_t.
20213         (nm_ap_get_timestamp): Update to return GTimeVal.
20214         (nm_ap_set_timestamp): Update to take GTimeVal.
20215         
20216         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20217         to handle GTimeVal.
20218
20219         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20220         GTimeVal change.
20221         (nm_ap_list_print_members): Fix warnings in printf format.
20222
20223 2004-08-29  Colin Walters  <walters@verbum.org>
20224         
20225         * panel-applet/NMWirelessApplet.c: Include config.h.
20226
20227 2004-08-29  Colin Walters  <walters@verbum.org>
20228
20229         * configure.in: Generate config.h.
20230
20231         * configure.in: Dump dependency on OpenSSL; we can't
20232         use it since this package is GPL:
20233         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20234         Instead, check for libgcrypt, use it if available,
20235         otherwise use included MD5 code.
20236
20237         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20238         Suck in from gnome-keyring, munge a bit.
20239         
20240         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20241         gnome-keyring-md5.h gnome-keyring-md5.c.
20242         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20243
20244         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20245         libgcrypt or included gnome-keyring md5 bits.
20246         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20247
20248 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20249
20250         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20251
20252 2004-08-27  Bryan Clark  <bclark@redhat.com>
20253
20254         * examples/python/systray/Makefile: 
20255
20256         Updated the clean section
20257         
20258         * examples/python/systray/trayiconmodule.c: 
20259         * examples/python/systray/trayicon.override: 
20260         * examples/python/systray/network_tray.py: 
20261         * examples/python/systray/eggtrayicon.h: 
20262         * examples/python/systray/eggtrayicon.c: 
20263         * examples/python/systray/Makefile: 
20264         * examples/python/README: 
20265         * examples/python/NetworkManager.py: 
20266         * examples/python/NMTester.py: 
20267
20268         Initial commit of these python example files
20269
20270 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20271
20272         * panel-applet/NMWirelessApplet.c
20273                 - Make current device bold
20274                 - Show more user-friendly device name if we got one from hal
20275
20276         * panel-applet/NMWirelessAppletDbus.c
20277                 - Grab "info.product" key from hal for network devices
20278                 - Cache the current active device
20279
20280 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20281
20282         * configure.in: Added en_CA to ALL_LINGUAS.
20283
20284 2004-08-27  Christian Rose  <menthos@menthos.com>
20285
20286         * configure.in: Added "sv" to ALL_LINGUAS.
20287
20288 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20289
20290         * Tag NetworkManager-0.2
20291
20292 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20293
20294         * initscripts/Makefile.am
20295         * configure.in: Make pass distcheck
20296
20297         * po/ChangeLog: added
20298
20299 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20300
20301         * panel-applet/NMWirelessApplet.c
20302                 - Remove debugging code
20303                 - Enable device switching from menus
20304
20305         * panel-applet/NMWirelessAppletDbus.[ch]
20306                 - Method for asking NM to switch devices
20307
20308         * src/NetworkManagerDevice.c
20309                 - Set dev->activating earlier, avoids race between
20310                         the dbus signal of "DeviceActivating" and setting
20311                         dev->activating (which is what NM's "status" method call
20312                         looks at)
20313
20314 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20315
20316         * panel-applet/NMWirelessApplet.[ch]
20317                 - Rework menu code to add devices to menu, and to show
20318                         signal strength for each access point.  Code cleanups
20319                         too.
20320
20321         * panel-applet/NMWirelessAppletDbus.c
20322                 - Grab network devices from NetworkManager too
20323                 - Grab quality information from NM for wireless networks
20324
20325         * src/NetworkManagerDbus.[ch]
20326                 - Add dbus methods for getting the HAL UDI from a device and
20327                         for getting its base quality, if its wireless
20328                 - Consolidate some functions (wireless network notifications,
20329                         device notifications)
20330                 - Add method for requesting NM to use a particular device
20331
20332         * src/NetworkManager.c
20333                 - Change for function consolidations from NetworkManagerDbus.c
20334                 - Implement active device locking and user-requested devices
20335                         (ie, tell NM to use a particular device instead of the one
20336                         it autochose)
20337
20338         * src/NetworkManagerDevice.c
20339                 - Add method for getting the base quality of a device, if its
20340                         wireless
20341                 - Grab device base quailty info from iwlib during scans
20342
20343         * src/NetworkManagerPolicy.c
20344                 - Use a user-requested device rather than the auto-chosen device
20345                         if we are told to
20346
20347 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20348
20349         * Makefile.am: add po as a supdir
20350
20351         * autogen.sh: use gnome-autogen.sh
20352
20353         * initscript/Gentoo/.cvsignore:
20354         * initscript/RedHat/.cvsignore: Shut up cvs
20355
20356         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20357
20358         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20359         (nmwa_fill): Use gettext.
20360
20361         * configure.in: add gettext support
20362         * po/.cvsignore:
20363         * po/NetworkManager.pot:
20364         * po/POTFILES.in:
20365
20366 2004-08-26  Seth Nickell  <seth@gnome.org>
20367
20368         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20369         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20370         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20371         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20372         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20373         * panel-applet/NMWirelessApplet.h:
20374
20375         Use a menu bar instead of a button for the main clickable
20376         thingy.
20377         
20378 2004-08-25  Dan Williams <dcbw@redhat.com>
20379
20380         * src/NetworkManagerDevice.c
20381                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20382                         turning encryption off, because the Cisco driver doesn't associate
20383                         with WEP-enabled access points unless we are in "open"
20384
20385 2004-08-25  Dan Williams <dcbw@redhat.com>
20386
20387         * src/NetworkManagerWireless.c
20388                 - Don't try to defererence blank passphrases
20389
20390 2004-08-25  Dan Williams <dcbw@redhat.com>
20391
20392         * panel-applet/NMWirelessApplet.c
20393                 - Rebuild the menu whenever a user clicks
20394
20395 2004-08-25  Dan Williams <dcbw@redhat.com>
20396
20397         * panel-applet/NMWirelessApplet.c
20398                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20399                         when NM isn't around or when its not connected
20400
20401         * src/NetworkManagerDevice.c
20402                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20403                         canceled.
20404
20405 2004-08-25  Dan Williams <dcbw@redhat.com>
20406
20407         * panel-applet/NMWirelessAppletDbus.c
20408                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20409                         for getting encryption, and don't stop on "val" once we've gotten it
20410                         from NetworkManager.  Short form:  encryption should now show up.
20411
20412 2004-08-25  Dan Williams <dcbw@redhat.com>
20413
20414         * panel-applet/NMWirelessApplet.c
20415                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20416                         network to associate with
20417
20418 2004-08-25  Dan Williams <dcbw@redhat.com>
20419
20420         * panel-applet/*
20421                 - Rework the panel applet to do all DBUS communication in a separate
20422                         thread
20423
20424 2004-08-25  Dan Williams <dcbw@redhat.com>
20425
20426         * info-daemon/NetworkManagerInfo.[ch]
20427                 - Remove "get_next_priority" function
20428
20429         * info-daemon/NetworkManagerInfoDbus.[ch]
20430                 - Convert "priority" functions to "timestamp"
20431
20432 2004-08-25  Dan Williams <dcbw@redhat.com>
20433
20434         * src/NetworkManagerAP.[ch]
20435                 - Add a "enc_method_good" member and accessors to an Access Point
20436                         to signal when we've found the correct encryption method
20437                         for an access point
20438                 - Add a "timestamp" member and accessors, remove "priority" member
20439                         and accessors (use timestamps instead)
20440                 - Rename "wep_key"->"enc_key"
20441                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20442                         for a specified encryption method using the access points
20443                         source encryption key/passphrase
20444
20445         * src/NetworkManagerAPList.c
20446                 - When updating a network with dbus, grab timestamp now instead of
20447                         priority
20448
20449         * src/NetworkManagerDBus.[ch]
20450                 - Add signal for "DeviceActivating"
20451                 - Switch priority->timestamp
20452
20453         * src/NetworkManagerDevice.c
20454                 - Change references of "wep_key" -> "enc_key" or "key"
20455                 - Signal DeviceActivating when starting activation
20456                 - When activating a wireless device, if the access point we are connecting
20457                         to is encrypted, and we have a source key, try to generate a mangled
20458                         key and use that (ie, generate real WEP key from a passphrase)
20459                 - Rework device activation to fallback to other encryption methods if
20460                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20461                         first, then if that doesn't work fall back to direct hex key).
20462                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20463                         priority.  We now prefer the latest access point used, rather than using
20464                         a priority scheme
20465                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20466                         points we've just discovered, and merge in correct info from the global
20467                         access point lists
20468
20469 2004-08-25  Seth Nickell  <seth@gnome.org>
20470
20471         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20472         Debian support.
20473         
20474         * src/Makefile.am:
20475         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20476         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20477         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20478         (nm_system_delete_default_route),
20479         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20480         (nm_system_load_device_modules):
20481
20482 2004-08-24  Dan Willemsen <dan@willemsen.us>
20483
20484         * src/NetworkManager.c
20485           src/backends/NetworkManagerGentoo.c
20486           src/backends/NetworkManagerRedHat.c
20487           src/backends/NetworkManagerSystem.h
20488                 - Implement preliminary Gentoo support, adding a
20489                         nm_system_init function to the backend specification
20490
20491         * configure.in
20492                 - Distribution auto-detection, lowercase any user-fed
20493                         distribution names
20494
20495         * initscript/.cvsignore
20496           initscript/Makefile.am
20497           initscript/RedHat/Makefile.am
20498           initscript/RedHat/NetworkManager
20499           initscript/Gentoo/Makefile.am
20500           initscript/Gentoo/NetworkManager
20501                 - Refactored initscript code separately for each
20502                         distribution
20503
20504 2004-08-23  Dan Williams <dcbw@redhat.com>
20505
20506         * configure.in
20507           src/Makefile.am
20508           src/NetworkManagerDevice.c
20509           src/NetworkManager.c
20510           src/NetworkManagerUtils.[ch]
20511           src/backends/NetworkManagerSystem.h
20512           src/backends/NetworkManagerRedHat.c
20513           src/backends/NetworkManagerGentoo.c
20514                 - Refactor system-specific code into separate backends for
20515                         each distribution
20516
20517 2004-08-23  Dan Willemsen <dan@willemsen.us>
20518
20519         * dispatcher-daemon/NetworkManagerDispatcher.c
20520           info-daemon/NetworkManagerInfo.[ch]
20521           info-daemon/NetworkManagerInfoDbus.c
20522           info-daemon/NetworkManagerInfoPassphraseDialog.c
20523           src/NetworkManager.c
20524           src/NetworkManagerAP.c
20525           src/NetworkManagerAPList.c
20526           src/NetworkManagerDbus.c
20527           src/NetworkManagerDevice.c
20528           src/NetworkManagerPolicy.c
20529           src/NetworkManagerUtils.[ch]
20530           src/NetworkManagerWireless.c
20531                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20532
20533         * src/NetworkManager.c
20534                 - Fixed usage wording for --no-daemon
20535
20536 2004-08-23  Dan Williams <dcbw@redhat.com>
20537
20538         * panel-applet/NMWirelessApplet.c
20539                 - Update our state every second to get more responsive panel icon
20540                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20541                         was causing our marching ants status blips to never move when
20542                         looking for a wireless network
20543
20544         * src/NetworkManagerDevice.c
20545                 - (nm_device_activation_begin): return if activation has already begun
20546                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20547                         trusted/preferred network into the device's access point when the
20548                         scan list is processed
20549
20550 2004-08-23  Dan Williams <dcbw@redhat.com>
20551
20552         * initscript/NetworkManager
20553                 - Use NMLaunchHelper rather than sleeping
20554
20555         * initscript/NMLaunchHelper.c
20556           Makefile.am
20557                 - Add helper program that exits only when NM activates a device,
20558                         or 10 seconds have passed, whichever happens first.  This
20559                         stops the boot processes until we have a network connection,
20560                         which NM can't do because it daemonizes and brings the connection
20561                         up in the background.  Allows stuff like NFS to not die.
20562
20563 2004-08-20  Dan Williams <dcbw@redhat.com>
20564
20565         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20566                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20567                         for a network, set the essid as well since it may not exist yet
20568                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20569                         since WEP keys/passphrases are long and prone to entry-error
20570
20571         * panel-applet/Makefile.am
20572           panel-applet/wired.png
20573                 - Add (pulled from system-config-network temporarily)
20574
20575         * panel-applet/NMWirelessApplet.[ch]
20576                 - Show wired picture when a wired connection is used
20577                 - Rename wireless icon enums, adding WIRELESS
20578
20579         * src/NetworkManagerDevice.c
20580                 - (nm_device_activate_wireless): unset encryption before bringing
20581                         down the card and setting the essid
20582                 - (nm_device_activatin_worker): request a key from the user if the
20583                         AP we are connecting to is encrypted but we don't have a key
20584                         for it yet
20585                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20586                         strcmp() that prevented a user-entered key from actually getting
20587                         used
20588
20589 2004-08-16  Dan Williams <dcbw@redhat.com>
20590
20591         * initscript/NetworkManager
20592                 - Check for /sbin/ip
20593                 - Do sysctl magic that network service does
20594                 - sleep 4s after start to allow network time to come up [hack]
20595
20596         * src/Makefile.am
20597           src/NMLoadModules
20598                 - Load all network device kernel modules (hal doesn't know devices
20599                         are ethernet until the module is loaded, and therefore we don't know)
20600
20601         * src/NetworkManager.c
20602                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20603                         network devices, and bring up the loopback device explicitly
20604
20605         * src/NetworkManagerUtils.[ch]
20606                 - (nm_enable_loopback): new function
20607
20608 2004-08-13  Dan Williams <dcbw@redhat.com>
20609
20610         * configure.in
20611           panel-applet/Makefile.am
20612                 - Fix up cleanfiles and server_DATA/server_in_files
20613
20614         * README
20615                 - Update with some comments on theory of operation
20616
20617         * CONTRIBUTING
20618           Makefile.am
20619                 - Add CONTRIBUTING
20620
20621 2004-08-12  Dan Williams <dcbw@redhat.com>
20622
20623         * info-daemon/passphrase.glade
20624                 - Set window title to " "
20625
20626         * panel-applet/Makefile.am
20627           panel-applet/keyring.png
20628                 - Deliver to correct place
20629
20630         * panel-applet/NMWirelessApplet.[ch]
20631                 - Add comments
20632                 - Remove applet->have_active_device as its no longer used
20633                 - (nmwa_load_theme): load keyring.png too
20634                 - (error_dialog): remove
20635                 - (show_warning_dialog): subsume functionality of error dialog too
20636                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20637                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20638                         the networks menu
20639                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20640                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20641                         and when we get broadcasts of changed wireless access points only, not when the
20642                         user clicks on the button to display the menu (too long of a wait)
20643                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20644                         networks that are encrypted
20645                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20646                         menu item with g_object_set_data()
20647
20648         * panel-applet/NMWirelessAppletDbus.[ch]
20649                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20650                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20651                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20652                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20653                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20654                         activation/deactivation signals and rebuild the menu when they happen
20655
20656         * src/NetworkManager.c
20657                 - (main): use new nm_spawn_process() rather than system()
20658
20659         * src/NetworkManagerDbus.c
20660                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20661                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20662                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20663                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20664                         to freeze the best_ap.
20665
20666         * src/NetworkManagerDevice.[ch]
20667                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20668                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20669                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20670                         ap list
20671
20672         * src/NetworkManagerUtils.[ch]
20673                 - (nm_spawn_process): add replacement for system() usage
20674
20675 2004-08-11  Dan Williams <dcbw@redhat.com>
20676
20677         * panel-applet/NMWirelessApplet.[ch]
20678                 - Fix up copyright and credits to include Bastien and Eskil,
20679                         who created the gnome-applets wireless applet, from whose
20680                         skeleton this one was created
20681                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20682                         pixmap to draw is computed during nmwa_update_state()
20683                 - Applet now shows itself all the time due to panel packing issues
20684                         which caused the applet to previously never come back after hiding.
20685                         When a wired device is the active device, the applet shows "not connected"
20686
20687         * panel-applet/NMWirelessAppletDbus.[ch]
20688                 - Clean up error messages and show what function they are from
20689                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20690                 - Add new device type getters, and a status getter
20691
20692         * src/NetworkManagerDbus.c
20693                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20694                         network is actually in the device's ap list
20695                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20696
20697         * src/NetworkManagerDevice.c
20698                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20699                         card
20700
20701         * test/nmclienttest.c
20702                 - Report status of NetworkManager too
20703
20704 2004-08-11  Dan Williams <dcbw@redhat.com>
20705
20706         * info-daemon/NetworkManagerInfo.c:
20707                 - (main): clean up Seth's code style
20708
20709         * info-daemon/NetworkManagerInfoDbus.c:
20710                 - Use the more aptly-named path/service/interface constants from NetworkManager
20711                 - Don't return empty strings ("") as object paths ever, instead return errors
20712
20713         * panel-applet/NMWirelessApplet.c:
20714                 - Clean up Seth's code style
20715
20716         * src/NetworkManager.[ch]
20717                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20718                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20719
20720         * src/NetworkManagerAPList.[ch]
20721                 - Move Iter struct right above the iter functions to preserve opacity
20722                 - (nm_ap_list_remove_ap): implement
20723                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20724                         remove AP if NetworkManagerInfo doesn't know anything about it
20725                 - (nm_ap_list_diff): user NMAPList iterators
20726                 - (nm_ap_list_print_members): implement debugging function
20727
20728         * src/NetworkManagerDbus.[ch]
20729                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20730                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20731                         and move the actual key setting stuff into NetworkManagerDevice.c
20732                 - (nm_dbus_get_network_priority): return -1 now on errors
20733                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20734                         get lost, and force the active device to update its "best" ap when AP lists change
20735                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20736                         method call due to pending_device member removal
20737
20738         * src/NetworkManagerDevice.[ch]
20739                 - Move NMDevice structure to the top
20740                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20741                 - Remove Pending Action stuff from everywhere
20742                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20743                         activation for us.  This thread blocks until all conditions for activation have
20744                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20745                         then setup up the interface and runs dhclient.  We have to do this because there
20746                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20747                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20748                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20749                         can tell nm_device_activation_worker() that we've got a key
20750                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20751                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20752                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20753                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20754
20755         * src/NetworkManagerPolicy.c
20756                 - Remove anything to do with pending_device
20757                 - Adjust device activation to deal with activation-in-worker-thread
20758
20759         * src/NetworkManagerUtils.c
20760                 - Clean up locking debugging a bit
20761
20762         * src/NetworkManagerWireless.[ch]
20763                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20764                         was badly named and is better as a device function
20765
20766         * panel-applet/.cvsignore: add
20767
20768 2004-08-09  Seth Nickell  <seth@gnome.org>
20769
20770         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20771         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20772         (nmwa_new):
20773         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20774
20775         Don't load the menus until clicked on (also removes a call outside
20776         normal code paths at first load).
20777
20778         Hide applet when NM is not present.
20779         
20780         Improve printf debugging stuff.
20781         
20782 2004-08-09  Dan Williams <dcbw@redhat.com>
20783
20784         * dispatcher-daemon/NetworkManagerDispatcher.c:
20785                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20786                 - Use constants for NetworkManager interface, service, and path
20787
20788 2004-08-09  Dan Williams <dcbw@redhat.com>
20789
20790         * src/NetworkManagerDbus.c:
20791                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20792                         instead return an error message
20793                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20794                         on a wired device.  Also never return an empty object path, instead return an error message
20795
20796 2004-08-06  Seth Nickell  <seth@gnome.org>
20797
20798         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20799
20800         Check the error code when getting a connection.
20801         
20802         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20803
20804         Check if the NM service exists when initializing (rather than
20805         assuming it does not).
20806         
20807         * src/NetworkManagerDbus.c: (nm_dbus_init):
20808
20809         Don't acquire the well-known service name until we have
20810         registered object/path handlers and can actually receive
20811         calls.
20812         
20813 2004-08-06  Dan Williams <dcbw@redhat.com>
20814
20815         * panel-applet/*
20816                 - Add panel applet
20817
20818         * src/NetworkManagerPolicy.c
20819           src/NetworkManager.c
20820                 - Get access point lists from NetworkManagerInfo on-demand,
20821                         and look for ServiceCreate/ServiceDeleted signals to see when
20822                         we should query NMI for lists
20823         * src/NetworkManagerAPList.c
20824                 - Make sure to init the list's mutex
20825                 - Convert traversals of the list over to the list iter functions
20826
20827         * src/NetworkManagerDbus.[ch]
20828                 - Use more aptly-named path/service/interface constants
20829                 - Treat both active and pending devices the same for "getActiveDevice"
20830                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20831
20832         * src/NetworkManagerDevice.c
20833                 - Honor "ignored" network list when picking best ap to use
20834
20835 2004-08-06  Seth Nickell  <seth@gnome.org>
20836
20837         * aclocal.m4:
20838
20839         Autogenerated, remove from CVS.
20840         
20841         * autogen.sh:
20842
20843         Don't hardcode automake version.
20844         
20845         * configure.in:
20846         * info-daemon/Makefile.am:
20847         * info-daemon/NetworkManagerInfo.c: (main):
20848
20849         Use GnomeProgram et al. for doing session management.
20850         Use popt stuff for argument parsing rather than doing
20851         it manugally.
20852         
20853 2004-08-05  Dan Williams <dcbw@redhat.com>
20854
20855         * test/nminfotest.c
20856                 - Update to new NMI dbus API, check different network types
20857
20858         * info-daemon/NetworkManagerInfoDbus.c
20859                 - Update to new NM dbus API, ie network type sent in query message
20860
20861 2004-08-05  Dan Williams <dcbw@redhat.com>
20862
20863         * An assload of changes
20864
20865 2004-08-02  Dan Williams <dcbw@redhat.com>
20866
20867         * TODO
20868                 - new task: proper logging support
20869
20870         * info-daemon/NetworkManagerInfo.c
20871                 - Correct spelling of "canceled"
20872                 - Correct casting of objects for g_signal_connect()
20873
20874         * info-daemon/NetworkManagerInfoDbus.c
20875                 - Add defines for NetworkManager namespace and object path, and use them
20876                 - Add filter function to trap new signals from NetworkManager:
20877                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20878
20879         * info-daemon/passphrase.glade
20880                 - Change name of "ok" button to "Login to Network..."
20881                 - Mark invisible
20882
20883         * src/NetworkManager.c
20884                 - Code and debug message cleanups
20885                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20886                 - (nm_add_initial_devices) Check returned string array of devices
20887                         and don't try to add devices if array is NULL
20888                 - (main) Initialize libhal a bit later, make code a bit clearer
20889
20890         * src/NetworkManagerAP.[ch]
20891                 - New accessor and data member "matched": used to speed up AP list
20892                         diffing
20893                 - New accessor and data member "enc_method": will be used during key
20894                         fallback to cache which passphrase->key conversion actually works
20895                         so we don't have to do it every time
20896
20897         * src/NetworkManagerAPList.[ch]
20898                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20899                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20900                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20901                         dbus in response to those differences
20902
20903         * src/NetworkManagerDbus.[ch]
20904                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20905                         make an object path for that access point (NOTE that we don't yet check to
20906                         make sure that access point is actually in the device's AP list yet)
20907                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20908                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20909                         New: signal appearance/disappearance of wireless networks
20910                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20911                         key entry
20912
20913         * src/NetworkManagerDevice.[ch]
20914                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20915                 - (nm_device_ap_list_get) New: return the AP list (static function)
20916                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20917                         new one resulting from the scan with the old one
20918
20919         * src/NetworkManagerWireless.c
20920                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20921
20922         * test/nminfotest.c
20923                 - #define object paths and namespaces and use the #defines rather than static strings
20924                 - Test out user-key functionality of NetworkManagerInfo too
20925
20926 2004-07-29  Dan Williams <dcbw@redhat.com>
20927
20928         * info-daemon/NetworkManagerInfoDbus.c
20929           src/NetworkManagerDbus.c
20930                 - Update to current DBus (ie don't use decomposed paths when registering
20931                         object paths/fallbacks)
20932
20933 2004-07-27  Dan Williams <dcbw@redhat.com>
20934
20935         * Remove various Makefile.in files
20936
20937         * TODO
20938                 - Add some more items
20939
20940         * configure.in
20941                 - Add checks for OpenSSL/md5 headers and libs
20942
20943         * src/Makefile.am
20944                 - Use OpenSSL CFLAGS
20945
20946         * src/NetworkManagerAP.[ch]
20947                 - Remove 'stamp' functions, replace with 'invalid' functions
20948                         to support user cancelling WEP key entry
20949
20950         * src/NetworkManagerDbus.c
20951                 - Remove 'stamp' return functions
20952                 - Treat returned user key as a passphrase and convert to a WEP key,
20953                         but don't actually use the WEP key yet.  We use the returned user
20954                         key as a hexadecimal WEP key until we can figure out a UI for
20955                         passphrase-vs-hex key
20956
20957         * src/NetworkManagerWireless.[ch]
20958                 - Add passphrase-to-128bit-key function
20959
20960 2004-07-27  Dan Williams <dcbw@redhat.com>
20961
20962         * TODO
20963                 - Add a couple of items
20964
20965 2004-07-27  Dan Williams <dcbw@redhat.com>
20966
20967         * info-daemon/NetworkManagerInfo.c
20968                 - Update allowed network's GConf key when user enters a WEP key explicitly
20969
20970         * info-daemon/NetworkManagerDbus.c
20971                 - Fix some comments
20972                 - nmi_dbus_get_allowed_networks(): kill warning
20973
20974 2004-07-27  Dan Williams <dcbw@redhat.com>
20975
20976         * initscript/Makefile.in
20977                 - Remove
20978
20979         * initscript/Makefile.am
20980                 - Add correct rules to install the init.d initscript
20981
20982         * info-daemon/NetworkManagerInfoDbus.c
20983                 - Remove debug fprintf
20984
20985         * src/NetworkManagerDbus.[ch]
20986                 - Remove debug fprintfs
20987                 - Add macros for NetworkManagerInfo object path/namespace
20988                 - Use said macros instead of constant strings
20989
20990 2004-07-27  Dan Williams <dcbw@redhat.com>
20991
20992         * initscript/.cvsignore
20993                 - Add
20994
20995         * info-daemon/Makefile.am
20996                 - Install .glade files and keyring.png
20997                 - Fix stupid omission of a \ that caused half the flags not to be
20998                         passed to gcc
20999
21000         * info-daemon/NetworkManagerInfo.c
21001                 - gtk_signal_connect->g_signal_connect
21002                 - Alert NetworkManagerInfo to new glade file location
21003
21004 2004-07-27  Dan Williams <dcbw@redhat.com>
21005
21006         * test/nmclienttest.c
21007           test/nminfotest.c
21008                 - Add missing <dbus/dbus.h> headers
21009                 - Add GPL message at top
21010
21011 2004-07-27  Dan Williams <dcbw@redhat.com>
21012
21013         * src/NetworkManagerAPList.[ch]
21014           src/Makefile.am
21015                 - Add.  Deal with allowed network list additions, deletions, and updates
21016
21017         * dispatcher-daemon/NetworkManagerDispatcher.c
21018                 - Add missing <dbus/dbus.h> header
21019
21020         * info-daemon/NetworkManagerInfo.[ch]
21021                 - Add missing <dbus/dbus.h> header
21022                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21023                         network change
21024                 - Better error checking
21025
21026         * info-daemon/NetworkManagerInfoDbus.[ch]
21027                 - Add missing <dbus/dbus.h> header
21028                 - Convert to using dbus_message_append_args/dbus_message_get_args
21029                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21030                         that an allowed network changed.  We don't want to signal on individual
21031                         keys _inside_ an allowed network really, just want NM to query the info
21032                         daemon for updated info on all keys.
21033                 - Better error checking
21034
21035         * src/NetworkManager.[ch]
21036                 - Add missing <dbus/dbus.h> header
21037                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21038                 - Zero out NMData structure on free
21039                 - No longer use a thread for allowed_ap_list updating, instead its now done
21040                         through dbus queries against NetworkManagerInfo
21041                 - Populate allowed_ap_list initially before adding existing network devices
21042                         to the device list, so wireless devices can get their "best" AP
21043
21044         * src/NetworkManagerDbus.[ch]
21045                 - Convert to using dbus_message_append_args/dbus_message_get_args
21046                 - Better error checking
21047                 - Implement Allowed Network info functions to request allowed network
21048                         info from NetworkManagerInfo
21049                 - Implement the filter function to process signals from NetworkManagerInfo
21050                         about changing allowed networks
21051
21052         * src/NetworkManagerDevice.c
21053                 - Fix file descriptor leak in nm_device_update_ip4_address()
21054
21055 2004-07-27  Dan Williams <dcbw@redhat.com>
21056
21057         * .cvsignore
21058           src/.cvsignore
21059           test/.cvsignore
21060           dispatcher-daemon/.cvsignore
21061           info-daemon/.cvsignore
21062                 - Add .cvsignore files to reduce noise when diffing
21063
21064 2004-07-24  Dan Williams <dcbw@redhat.com>
21065
21066         * src/NetworkManager.[ch]
21067           src/NetworkManagerDbus.[ch]
21068           src/NetworkManagerDevice.[ch]
21069           src/NetworkManagerPolicy.c
21070           src/NetworkManagerWireless.[ch]
21071                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21072                 - Pass the NMData application data structure through all calls
21073                         that need it so we can get rid of nm_get_global_data()
21074                 - Change deallocation of the allowed_ap_list GSList in preparation
21075                         for not completely clearing it every time we get an update,
21076                         but instead getting incremental updates via GConf/dbus
21077
21078 2004-07-22  Dan Williams <dcbw@redhat.com>
21079
21080         * configure.in
21081                 - Add checks for GConf libs & headers & flags
21082
21083         * info-daemon/Makefile.am
21084                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21085
21086         * info-daemon/NetworkManagerInfo.[ch]
21087                 - Don't use gquarks for data storage, just use normal data storage
21088                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21089
21090         * info-daemon/NetworkManagerDbus.[ch]
21091                 - Add method call for getting allowed networks
21092                 - Add method calls for getting an allowed network's essid, priority, and key
21093                 - Hook the method calls up to GConf
21094                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21095                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21096                 
21097         * src/NetworkManagerDbus.[ch]
21098                 - Switch for enumeration of networks to using essid instead
21099
21100         * test/Makefile.am
21101           test/nminfotest.c
21102                 - Add test program for NetworkManagerInfo
21103
21104 2004-07-19  Dan Williams <dcbw@redhat.com>
21105
21106         * src/NetworkManagerDbus.c
21107                 - Switch from indexed device paths to names.  Less code, more efficient.
21108                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21109
21110 2004-07-19  Dan Williams <dcbw@redhat.com>
21111
21112         * dispatcher-daemon/NetworkManagerDispatcher.c
21113                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21114
21115 2004-07-19  Dan Williams <dcbw@redhat.com>
21116
21117         * Makefile.am
21118                 - Add info-daemon directory
21119
21120         * configure.in
21121                 - Check for glade libs and headers
21122                 - Add info-daemon directory
21123
21124         * src/NetworkManagerAP.c
21125                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21126                         copied over to the new AP.
21127
21128         * src/NetworkManagerDbus.c
21129           src/NetworkManagerDbus.h
21130                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21131                 - Remove nm_dbus_signal_need_key_for_network()
21132                 - Add disabled code for asynchronous user wep key callbacks
21133                 - Add functions for getting, setting, and cancelling user key operations
21134                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21135                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21136
21137         * src/NetworkManagerDevice.c
21138           src/NetworkManagerDevice.h
21139                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21140                         logic is in device activation now
21141                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21142                         key is wrong) trigger get-user-key pending action
21143                 - Implement get-user-key pending action stuff, tie to dbus messages
21144                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21145                 - Add nm_device_ap_list_get_ap_by_essid()
21146                 - Instead of copying "best" access points, ref them instead so that the key we set
21147                         sticks around
21148
21149         * src/NetworkManagerPolicy.c
21150                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21151                 - Don't cancel pending actions on a device if its the same device as last iteration
21152                 - Only promote pending_device->active_device if activation was successfull
21153
21154         * src/Makefile.am
21155                 - Rename nmclienttest->nmtest
21156
21157         * info-daemon/Makefile.am
21158           info-daemon/NetworkManagerInfo.c
21159           info-daemon/NetworkManagerInfo.h
21160           info-daemon/NetworkManagerInfoDbus.c
21161           info-daemon/NetworkManagerInfoDbus.h
21162           info-daemon/passphrase.glade
21163           info-daemon/NetworkManagerInfo.conf
21164           info-daemon/keyring.png
21165                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21166                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21167                         lists to NetworkManager by proxying user's GConf
21168           
21169
21170 2004-07-15  Dan Williams <dcbw@redhat.com>
21171
21172         * src/Makefile.am
21173                 - Turn on warnings
21174
21175         * src/NetworkManager.c
21176                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21177                         that doing the deactivation ourselves
21178                 - Cancel an pending actions on a device if its being removed
21179                 - Break up link state checking a bit, make non-active wireless cards
21180                         deactivated to save power
21181                 - Remove unused variables
21182
21183         * src/NetworkManager.h
21184                 - Add support for "pending" device
21185
21186         * src/NetworkManagerAP.h
21187           src/NetworkManagerAP.c
21188                 - Add support for determining whether and AP has encryption enabled or not
21189                 - AP address is now "struct ether_addr" rather than a string
21190
21191         * src/NetworkManagerDbus.h
21192           src/NetworkManagerDbus.c
21193                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21194                 - Changes for AP address from struct ether_addr->string
21195
21196         * src/NetworkManagerDevice.h
21197           src/NetworkManagerDevice.c
21198                 - Remove unused variables, fix warnings
21199                 - Add support for Pending Actions (things that block a device from being "active"
21200                         until they are completed).
21201                 - First pending action:  Get a WEP key from the user
21202                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21203                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21204                 - Update wireless link checking to try to determine if the AP we are associated
21205                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21206                         trigger the GetUserKey pending action on the device
21207                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21208                         up in that case, otherwise we can't scan or link-check on it
21209                 - Add IP address change notifications at appropriate points (still needs some work)
21210                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21211
21212         * src/NetworkManagerPolicy.h
21213           src/NetworkManagerPolicy.c
21214                 - Split out "best" access point determiniation into separate function
21215                 - Make device activation 2-stage:  first the device is pending, then
21216                         in the next iteration through it becomes "active" unless it has
21217                         pending actions
21218
21219         * src/NetworkManagerUtils.h
21220           src/NetworkManagerUtils.c
21221                 - Clean up unused variables and warnings
21222                 - Wrap our debug macros in {} to prevent possible confusion
21223
21224         * src/NetworkManagerWireless.c
21225                 - Forgot to return current best priority, which lead to last available AP always
21226                         being chosen no matter what its priority was.  Corrected.
21227
21228 2004-07-15  Dan Williams <dcbw@redhat.com>
21229
21230         * dispatcher-daemon/Makefile.am
21231                 - Turn on warnings
21232
21233         * dispatcher-daemon/NetworkManagerDispatcher.c
21234                 - Remove unused variables due to warnings
21235                 - Fix some comments
21236                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21237
21238 2004-07-06  Dan Williams <dcbw@redhat.com>
21239
21240         * src/NetworkManager.c
21241                 - Add IPv4 address update for active device during link state check
21242                 - Don't allow wireless cards to be powered up when they are not the
21243                         active device
21244
21245         * src/NetworkManagerDbus.c
21246           src/NetworkManagerDbus.h
21247                 - Add DBUS IPv4 address change signal
21248                 - Add DBUS IPv4 address get method for devices
21249
21250         * src/NetworkManagerDevice.c
21251                 - Make setting the WEP key actually work
21252                 - Move IP address get/set/update stuff here, per-device
21253                 - Power down/bring down wireless device when deactivated
21254                 - For scanning wireless devices, if first scan returned ENODATA, try again
21255
21256         * src/NetworkManagerPolicy.c
21257                 - Only set the WEP key for an allowed access point if there is one.
21258                         We were setting it to be blank if one wasn't specified.
21259
21260         * src/NetworkManagerUtils.h
21261           src/NetworkManagerUtils.c
21262                 - Move the IP address stuff to NetworkManagerDevice.c
21263
21264         * dispatcher-daemon/NetworkManagerDispatcher.c
21265                 - Add device IPv4 address change notification stuff
21266
21267 2004-07-05  Dan Williams <dcbw@redhat.com>
21268
21269         * dispatcher-daemon/NetworkManagerDispatcher.c
21270                 - A bit more descriptive state message
21271                 - Don't segfault when reading directory
21272
21273         * src/NetworkManager.h
21274                 - Remove NMData desired_ap member, its now
21275                         per-device rather than global
21276
21277         * src/NetworkManager.c
21278                 - Remove references to desired_ap
21279                 - Move the allowed AP list refresh stuff into a thread
21280
21281         * src/NetworkManagerDevice.c
21282           src/NetworkManagerDevice.h
21283                 - Each wireless device now has a "best ap"
21284                 - Make device activate/deactivate functions per-device
21285                 - Make wireless scanning per-device
21286                 - Add IPv4 address discover functions, stub IPv6 ones
21287                 - Move ethernet address validation functions to NetworkManagerUtils.c
21288                 - Add wireless access point accessor function
21289                 - Get/Set functions for "best ap"
21290
21291         * src/NetworkManagerPolicy.c
21292                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21293                 - Deal with per-device "best ap" rather than data->desired_apa
21294                 - Implement allowed access point worker thread
21295                 - Add nm_policy_essid_is_allowed() function
21296
21297         * src/NetworkManagerUtils.c
21298           src/NetworkManagerUtils.h
21299                 - Add nm_ethernet_address_is_valid() function
21300                 - Add IPv4/IPv6 address get functions
21301
21302         * src/NetworkManagerWireless.c
21303           src/NetworkManagerWireless.h
21304                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21305
21306 2004-06-29  Dan Williams <dcbw@redhat.com>
21307
21308         * dispatcher-daemon/NetworkManagerDispatcher.c
21309                 - Implement script callout functionality
21310
21311 2004-06-24  Dan Williams <dcbw@redhat.com>
21312
21313         * NetworkManager.c
21314             - Spacing cleanups
21315             - Flush device routes and ip addresses when added to the device list
21316
21317         * NetworkManagerDbus.c
21318             - Spacing cleanups
21319             - Add missing returns in the two signal functions
21320         
21321         * NetworkManagerPolicy.c
21322             - Spacing and variable cleanups
21323
21324 2004-06-24  Dan Williams <dcbw@redhat.com>
21325
21326         * Makefile.am
21327           Makefile.in
21328           configure.in
21329           dispatcher-daemon/Makefile.am
21330           dispatcher-daemon/Makefile.in
21331           dispatcher-daemon/NetworkManagerDispatcher.c
21332             - Add a daemon that receives signals from NetworkManager
21333                         and will (eventually) call scripts in /etc/somewhere
21334                         when devices go up or down.
21335         
21336         * NetworkManager.c
21337             - Spacing cleanups
21338             - Flush device routes and ip addresses when added to the device list
21339
21340         * NetworkManagerDbus.c
21341             - Spacing cleanups
21342             - Add missing returns in the two signal functions
21343         
21344         * NetworkManagerPolicy.c
21345             - Spacing and variable cleanups
21346             - Rename nm_policy_switch_interface->nm_policy_switch_device
21347             - nm_policy_switch_device():
21348                                 Use kill (pid) instead of system ("kill <pid>")
21349             - nm_state_modification_monitor():
21350                                 Add wireless essid to output of debug statements
21351                                 Correct typo in device compare to switch or not (should be !=)
21352                                 Don't sleep after sending "no longer active" signal, was useless
21353
21354 2004-06-24  Dan Williams <dcbw@redhat.com>
21355
21356         * Initial import