2008-10-21 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-21  Dan Williams  <dcbw@redhat.com>
2
3         * src/NetworkManager.c
4                 - (main): keep the DHCP manager around since it's a singleton; fixes
5                         a use-after-free exposed by r4196 since the DHCP manager singleton
6                         variable isn't cleared when the DHCP manager object is finalized
7
8 2008-10-20  Dan Williams  <dcbw@redhat.com>
9
10         * libnm-util/nm-setting-wireless-security.c
11                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
12
13 2008-10-20  Dan Williams  <dcbw@redhat.com>
14
15         * src/supplicant-manager/nm-supplicant-config.c
16                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
17
18 2008-10-20  Dan Williams  <dcbw@redhat.com>
19
20         * src/dhcp-manager/nm-dhcp-manager.c
21                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
22                         manager object already refs it once
23                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
24                         also get cleaned up by nm_dhcp_device_destroy() to prevent
25                         double-frees
26
27 2008-10-20  Dan Williams  <dcbw@redhat.com>
28
29         * src/nm-manager.c
30                 - (initial_get_connections): use private dbus manager, don't keep
31                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
32                         manager object.
33
34 2008-10-18  Dan Williams  <dcbw@redhat.com>
35
36         * libnm-glib/nm-settings.c
37           libnm-glib/nm-settings.h
38                 - Rename the "get_secrets" virtual function "service_get_secrets" to
39                         clarify when it's used; NMExportedConnetion is a base-class for both
40                         the client and service side, which is sort of confusing, and
41                         get_secrets only makes sense on the service side.
42
43         * libnm-glib/nm-dbus-connection.c
44                 - (get_secrets): remove, unused, and clients need to do extra work to
45                         get secrets anyway since the call can block on the remote side
46
47         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
48           system-settings/plugins/keyfile/nm-keyfile-connection.c
49                 - Fix up for get_secrets -> service_get_secrets
50
51 2008-10-16  Dan Williams  <dcbw@redhat.com>
52
53         * src/nm-device-wifi.c
54                 - (constructor): correctly determine encryption capabilities
55
56 2008-10-15  Dan Williams  <dcbw@redhat.com>
57
58         * src/nm-device-wifi.c
59                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
60                         (Johannes Berg)
61
62 2008-10-15  Dan Williams  <dcbw@redhat.com>
63
64         * src/NetworkManagerSystem.c
65                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
66                         if the ip4_dest is in a smaller subnet contained within a subnet
67                         the machine is currently on, the destination is in the same subnet
68                 - (nm_system_device_set_ip4_route): move subnet checks to callers
69                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
70                         subnet as the parent device, and if so, don't add the direct
71                         host route via the parent device's gateway (bgo #481620)
72                 - (nm_system_apply_ip4_config): check whether the route to be added
73                         is contained within a subnet the device is already on
74
75 2008-10-11  Dan Williams  <dcbw@redhat.com>
76
77         * include/NetworkManager.h
78           introspection/nm-device.xml
79           include/NetworkManagerVPN.h
80                 - Add a few more state reasons for the device deactivated state
81
82         * src/nm-device-interface.c
83           src/nm-device-interface.h
84                 - (nm_device_interface_deactivate): add a 'reason' argument
85
86         * src/nm-device.c
87           src/nm-device.h
88                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
89                 - (nm_device_state_changed): pass the state change reason to
90                         nm_device_take_down()
91                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
92                         to the state change function
93
94         * src/nm-manager.c
95           src/nm-manager.h
96                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
97                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
98                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
99                         something reasonable along to VPN deactivation
100
101         * src/vpn-manager/nm-vpn-manager.c
102           src/vpn-manager/nm-vpn-manager.h
103                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
104                         pass that along to nm_vpn_connection_disconnect()
105
106 2008-10-11  Dan Williams  <dcbw@redhat.com>
107
108         * src/nm-device-wifi.c
109                 - (can_scan): remove old madwifi hack for not scanning while connected
110
111 2008-10-11  Dan Williams  <dcbw@redhat.com>
112
113         Add support for VPN subnet gateways (bgo #549196)
114
115         * include/NetworkManager.h
116                 - Add key for internal VPN subnet gateway
117
118         * src/vpn-manager/nm-vpn-connection.c
119                 - (ip_address_to_string): return a const from a static buffer so we
120                         don't leak a lot of strings
121                 - (print_vpn_config): print internal VPN gateway as well
122                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
123                         VPN service too
124                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
125
126         * src/NetworkManagerSystem.c
127           src/NetworkManagerSystem.h
128                 - (nm_system_device_replace_default_ip4_route): split into two, one for
129                         VPN connections and one for normal devices
130                 - (replace_default_ip4_route): break out route stuff into its own function
131                 - (nm_system_replace_default_ip4_route_vpn,
132                    nm_system_replace_default_ip4_route): simplify by having two cases,
133                         one for VPNs and one for normal devices
134
135         * src/NetworkManagerPolicy.c
136                 - (update_routing_and_dns): simplify, use split default route replacement
137                         functions
138
139 2008-10-10  Dan Williams  <dcbw@redhat.com>
140
141         Rework default route handling to consolidate decisions in the policy,
142         and to take active VPN connections into account when changing the default
143         route (bgo #545912)
144
145         * src/NetworkManager.c
146                 - (main): pass the vpn_manager to the policy so it knows about active
147                         VPN connections; clean up the named manager which wasn't done before
148
149         * src/NetworkManagerPolicy.c
150           src/NetworkManagerPolicy.h
151                 - (nm_policy_new): get a clue about the vpn_manager
152                 - (update_default_route): remove, fold into update_routing_and_dns()
153                 - (update_routing_and_dns): handle active VPN connections too; an
154                         active VPN connection becomes the default route if it does not have
155                         server-specified or user-specified custom routes.  Otherwise, the
156                         best active device gets the default route
157                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
158                    nm_policy_destroy): track VPN connection activation and deactivation
159                         and update the default route when appropriate
160
161         * src/NetworkManagerSystem.c
162           src/NetworkManagerSystem.h
163                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
164                         in the VPN connection itself
165                 - (nm_system_vpn_device_set_from_ip4_config,
166                    nm_system_device_set_from_ip4_config): merge together to make
167                         nm_system_apply_ip4_config()
168                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
169                         via the parent device
170                 - (nm_system_apply_ip4_config): simplify
171                 - (add_ip4_route_to_gateway): new function; add a direct route to the
172                         gateway if needed
173                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
174                         route stuff out into add_ip4_route_to_gateway() for clarity
175
176         * src/nm-device.c
177                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
178
179         * src/vpn-manager/nm-vpn-connection.c
180           src/vpn-manager/nm-vpn-connection.h
181                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
182                    nm_vpn_connection_get_parent_device): add
183                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
184                         device explicit
185                 - (connection_state_changed): update the named manager now that
186                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
187                         useful on errors
188
189         * src/vpn-manager/nm-vpn-manager.c
190           src/vpn-manager/nm-vpn-manager.h
191                 - Add a 'connection-activated' signal
192                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
193                         policy to find out about active VPN connections
194
195 2008-10-10  Tambet Ingo  <tambet@gmail.com>
196
197         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
198         a daemon to prevent NM logging spew on console on startup and shutdown (due
199         to dependency loop between NM and syslog).
200
201 2008-10-10  Alexander Sack  <asac@ubuntu.com>
202
203         Implement managed mode. We bind devices configured in /etc/network/interfaces
204         to their connections by updating wired/wireless setting with the
205         mac address of the device.
206
207         * system-settings/plugins/ifupdown/plugin.c
208                 - (get_net_address_for_udi): implement function to retrieve MAC
209                         address of udi from hal in GByteArray format
210                 - (bind_device_to_connection): bind mac address of device to
211                         wired/wireless system connection
212                 - (hal_device_added_cb): call bind_device_to_connection for
213                         system connections with a matching interface.name
214                 - (hal_device_added_cb): ensure that all code paths
215                         properly free the "iface" string.
216
217 2008-10-10  Alexander Sack  <asac@ubuntu.com>
218
219         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
220         mode of the ifupdown system config plugin.
221
222         * system-settings/plugins/ifupdown/plugin.c
223                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
224                         private unmanage_well_known state field accordingly
225
226 2008-10-10  Alexander Sack  <asac@ubuntu.com>
227
228         Implement unmanaged mode that will prevent all devices in the
229         well_known_udis set from being touched by NetworkManager
230
231         * system-settings/plugins/ifupdown/plugin.c
232                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
233                         unmanage_well_known field used to turn on/off unmanaged
234                         mode
235                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
236                         signal when well_known_udis get added/removed
237                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
238                         if we are in unmanaged mode
239
240 2008-10-10  Alexander Sack  <asac@ubuntu.com>
241
242         Add support to track network devices that have a configuration
243         with a matching interface.name in /etc/network/interfaces
244
245         * system-settings/plugins/ifupdown/plugin.c
246                 - (typedef struct SCPluginIfupdownPrivate): add hash table
247                         to track |well_known_udis|
248                 - (get_iface_for_udi): helper function to get interface.name
249                         for a udi
250                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
251                         that add and remove devices to and from the well_known_udis
252                         set depending on whether their |interface.name| matches
253                         any interface definition in /etc/network/interfaces
254                 - (SCPluginIfupdown_init): connect callbacks from above with
255                         hal_mgr and setup well_known_udis hashtable
256                 - (GObject__dispose): destroy well_known_udis hashtable
257                 - (hal_device_added_cb2): implement wrapper callback with GFunc
258                         signature. user_data is supposed to be a triple (hal_mgr,
259                         config and devtype)
260                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
261                         startup and call hal_device_added_cb2
262
263 2008-10-10  Alexander Sack  <asac@ubuntu.com>
264
265         Remove implementation for not used NMSystemConfigInterface callback functions
266         in ifupdown plugin
267
268         * system-settings/plugins/ifupdown/plugin.c
269                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
270                 - (SCPluginIfupdown_connection_added): removed
271
272 2008-10-08  Dan Williams  <dcbw@redhat.com>
273
274         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
275
276         * src/NetworkManagerUtils.c
277                 - (nm_utils_call_dispatcher): add a 'hostname' action
278
279         * src/NetworkManagerPolicy.c
280                 - (set_system_hostname): dispatch hostname changes
281
282         * callouts/nm-dispatcher-action.c
283                 - (nm_dispatcher_action): handle 'hostname' actions
284
285 2008-10-08  Dan Williams  <dcbw@redhat.com>
286
287         * src/NetworkManagerSystem.c
288                 - (find_route): ref the route so it doesn't get destroyed when the cache
289                         is cleared
290                 - (nm_system_device_set_priority): unref the route here after it's done
291                         being used
292
293 2008-10-08  Dan Williams  <dcbw@redhat.com>
294
295         * src/nm-serial-device.c
296                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
297
298 2008-10-08  Tambet Ingo  <tambet@gmail.com>
299
300         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
301         connection with new settings before saving it.
302
303 2008-10-06  Dan Williams  <dcbw@redhat.com>
304
305         * src/nm-ip4-config.c
306           src/nm-ip4-config.h
307                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
308
309         * src/nm-device-interface.c
310                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
311                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
312                         by using '/' for the object path
313
314         * src/nm-device.c
315                 - (src/nm-device.c): marshal missing/unexported ip4-config through
316                         dbus as '/' since dbus-glib can't handle NULL objects nor can
317                         dbus handle NULL object paths
318
319 2008-10-03  Alexander Sack  <asac@ubuntu.com>
320
321         Implement system hostname support for debian/ubuntu
322
323         * system-settings/plugins/ifupdown/plugin.c
324                 - (GObject__get_property): extend announced capabilities; add
325                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
326                 - (GObject__set_property,write_system_hostname): implement
327                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
328                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
329                    update_system_hostname, get_hostname):
330                         implement hostname property that watches and
331                         parses /etc/hostname
332
333 2008-10-03  Alexander Sack  <asac@ubuntu.com>
334
335         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
336           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
337           system-settings/plugins/ifcfg-fedora/Makefile.am
338           system-settings/src/nm-inotify-helper.c
339           system-settings/src/nm-inotify-helper.h
340           src/Makefile.am
341                 - Move ifcfg-fedora inotify helpers to the system settings service so
342                         they are available to all plugins
343
344 2008-10-03  Alexander Sack  <asac@ubuntu.com>
345
346         Implement support for wep-tx-keyidx in ifupdown system
347         config plugin.
348
349         * system-settings/plugins/ifupdown/parser.c
350                 - (update_wireless_security_setting_from_if_block): introduce
351                         free_type_mapping func table; rename a few local
352                         variables to improve readability; add wpa security mapping
353                         for wep-tx-keyidx property
354                 - (string_to_gpointerint): new function used for the auto_type_mapping
355                         of new wep-tx-keyidx property
356                 - (slist_free_all): free func used for mapped slist types
357
358 2008-10-03  Alexander Sack  <asac@ubuntu.com>
359
360         * system-settings/src/main.c:
361                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
362                         always used as the hash key; fixes a crash when removing wired
363                         devices
364
365 2008-10-02  Dan Williams  <dcbw@redhat.com>
366
367         * src/nm-gsm-device.c
368                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
369                         pass the required GSM secret along via user_data rather than keeping
370                         it around in the private data where it sometimes didn't get cleared
371                 - (real_get_ppp_name): implement using the GSM username
372
373 2008-10-02  Dan Williams  <dcbw@redhat.com>
374
375         * src/ppp-manager/nm-ppp-manager.c
376           src/ppp-manager/nm-ppp-manager.h
377                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
378                         the settings daemon for completely new ones
379                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
380                         local PPP peer name; allow PPP debuging by launching NM with
381                         the environment variable NM_PPP_DEBUG defined
382                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
383                         create_pppd_cmd_line()
384
385         * src/nm-serial-device.c
386           src/nm-serial-device.h
387                 - New 'get_ppp_name' function for subclasses to implement to return the
388                         local PPP peer name
389                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
390                         and pass that name to the PPP manager
391
392         * src/nm-device-ethernet.c
393                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
394                         the local peer name
395
396         * src/nm-cdma-device.c
397                 - (real_get_ppp_name): implement using the CDMA username
398
399 2008-10-02  Dan Williams  <dcbw@redhat.com>
400
401         Patch from Alexander Sack <asac ubuntu com>
402
403         * system-settings/plugins/ifupdown/parser.c
404                 - Implement more graceful ip4 config parsing for cases where
405                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
406                   by using default values
407
408 2008-10-02  Dan Williams  <dcbw@redhat.com>
409
410         * src/NetworkManagerPolicy.c
411                 - (device_state_changed): when marking a connection invalid, clear its
412                         secrets too so that fresh secrets get requested the next time
413
414 2008-10-01  Dan Williams  <dcbw@redhat.com>
415
416         * system-settings/src/dbus-settings.c
417                 - (nm_sysconfig_settings_init): cache system hostname on startup as
418                         a fallback if no plugin provides a hostname
419                 - (get_property): fall back to cached hostname if no plugin provides
420                         a hostname
421
422 2008-10-01  Dan Williams  <dcbw@redhat.com>
423
424         Fix setting value comparison issue that caused some settings to look the
425         same when they were really different (rh #464417)
426
427         * libnm-util/nm-param-spec-specialized.c
428                 - (type_is_fixed_size): return fundamental size of the fixed type too
429                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
430                         in the comparison so that the _entire_ fixed type collection gets
431                         compared rather than just the first 'len1' bytes
432
433 2008-09-30  Dan Williams  <dcbw@redhat.com>
434
435         * src/NetworkManagerPolicy.c
436                 - (lookup_thread_worker): don't store the idle handler ID becuase the
437                         idle handler could have already run and freed the LookupThread
438                         structure
439
440 2008-09-30  Tambet Ingo  <tambet@gmail.com>
441
442         * src/nm-device.c (nm_device_get_priority): Implement.
443         (nm_device_set_ip4_config): Send the device priority to system ip4 
444         config setter.
445
446         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
447         Add priority argument and if it's >= 0, set the priority of the network
448         route added automatically by netlink (or kernel?).
449         (nm_system_device_set_priority): Implement.
450
451         * src/NetworkManagerPolicy.c (get_best_device): Use 
452         nm_device_get_priority() instead of home-grown version. Revert the
453         meaning, best priority is the lowest one.
454
455 2008-09-29  Dan Williams  <dcbw@redhat.com>
456
457         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
458         when it returns EAGAIN (rh #362421)
459
460         * src/nm-device-wifi.c
461                 - (wireless_get_range): try GIWRANGE a few times until the card responds
462                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
463
464 2008-09-28  Dan Williams  <dcbw@redhat.com>
465
466         * src/nm-serial-device.c
467           src/nm-serial-device.h
468                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
469                         cleaned at the right times when subclasses close the serial port too
470                 - (nm_serial_device_send_command): use a default send delay; don't
471                         spin forever on EAGAIN
472                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
473                         remove, no longer used
474                 - (find_response): return the matched response if any
475                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
476                         while doing so
477                 - (wait_for_reply_done): pass the matched response to the callback
478                 - (wait_for_reply_got_data): save the matched response; simplify timeout
479                         handling
480                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
481                         const since they never get modified
482                 - (cleanup_device): split out common cleanup stuff to a new function
483                 - (real_deactivate_quickly, finalize): use cleanup_device()
484
485         * src/nm-gsm-device.c
486                 - (modem_get_reply): remove, unused
487                 - (set_apn): give the card a bit more time to respond
488                 - (manual_registration_again, schedule_manual_registration_again,
489                    manual_registration_response, manual_registration): handle manual
490                         registration timeouts better by retrying registration a few times
491                         because cards are a bit slow after CFUN=1
492                 - (automatic_registration_get_network, get_network_response): use
493                         modem_wait_for_reply() because it interacts better with the serial
494                         buffer and does more intelligent matching; need to wait for 'OK'
495                         rather than just matching terminators
496                 - (schedule_automatic_registration_again,
497                    automatic_registration_response, automatic_registration): retry
498                         registration a few times on timeout or "searching" because cards
499                         take a bit to find a network after being powered up with CFUN=1
500                 - (power_up_response, power_up, init_full_done, enter_pin,
501                    check_pin_done): power up the card with CFUN=1 before trying to
502                         register with the network
503                 - (init_modem_full, init_modem): use more standard 3G init strings
504
505         * src/nm-hso-gsm-device.c
506                 - (modem_get_reply): remove, unused
507                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
508                         modem_wait_for_reply() to match actual responses instead of single
509                         termination characters; it doesn't leave stuff in the serial buffer
510                         that might confuse later calls
511                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
512                         to ensure that the call is really disconnected and not leave extra
513                         stuff in the serial buffer
514
515         * src/nm-cdma-device.c
516                 - (power_up_response, power_up, init_done): try Sierra-style modem
517                         power up before attempting to connect
518
519 2008-09-27  Dan Williams  <dcbw@redhat.com>
520
521         * libnm-util/nm-setting-gsm.c
522                 - (verify): verify GSM network ID
523
524 2008-09-25  Dan Williams  <dcbw@redhat.com>
525
526         * libnm-util/nm-setting-gsm.c
527           libnm-util/nm-setting-gsm.h
528                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
529                         technology terms (bgo #551361)
530
531 2008-09-25  Dan Williams  <dcbw@redhat.com>
532
533         Fix bgo #549401 (inspired by patch from Alexander Sack)
534
535         * src/nm-device-ethernet.c
536                 - (finish_supplicant_task): clean up scheduled tasks and free memory
537                 - (remove_supplicant_interface_error_handler): remove the supplicant
538                         error idle callback too
539                 - (supplicant_interface_release): rename from supplicant_interface_clean
540                         to match nm-device-wifi.c; clean up supplicant interface-related
541                         state tasks when the supplicant interface is disposed of
542                 - (schedule_state_handler): add scheduled tasks to a list so they can
543                         be cleaned up later
544                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
545                    supplicant_iface_connection_state_cb_handler): use
546                         finish_supplicant_task() to clean up each completed task
547                 - (supplicant_iface_connection_error_cb_handler,
548                    supplicant_connection_timeout_cb): clear source id when the task is
549                         complete
550                 - (supplicant_iface_connection_error_cb): save scheduled task id for
551                         later cleanup
552                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
553                         tasks
554
555         * src/nm-device-wifi.c
556                 - (finish_supplicant_task): clean up scheduled tasks and free memory
557                 - (remove_supplicant_interface_error_handler): remove the supplicant
558                         error idle callback too
559                 - (supplicant_interface_release): clean up supplicant interface-related
560                         state tasks when the supplicant interface is disposed of
561                 - (schedule_state_handler): add scheduled tasks to a list so they can
562                         be cleaned up later
563                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
564                    supplicant_iface_connection_state_cb_handler): use
565                         finish_supplicant_task() to clean up each completed task
566                 - (supplicant_iface_connection_error_cb_handler): clear source id when
567                         the task is complete
568                 - (supplicant_iface_connection_error_cb): save scheduled task id for
569                         later cleanup
570                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
571
572 2008-09-24  Tambet Ingo  <tambet@gmail.com>
573
574         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
575         method and get/set hostname property.
576
577 2008-09-24  Tambet Ingo  <tambet@gmail.com>
578
579         * src/supplicant-manager/nm-supplicant-interface.c
580         (nm_supplicant_interface_disconnect): Don't increment the reference 
581         count when disconnecting. The problem is on shutdown, when the replies
582         to these commands do not arrive before NM exits, resulting on never
583         calling supplicant interface's dispose(), which removes the interface
584         from supplicant.
585
586 2008-09-24  Tambet Ingo  <tambet@gmail.com>
587
588         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
589         all the public function arguments.
590
591 2008-09-22  Tambet Ingo  <tambet@gmail.com>
592
593         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
594         "Failure" signal from VPN plugins, store the failure reason, and
595         use it when the state is changed to failure.
596
597         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
598         description.
599
600         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
601         reason to the end of the list to not break the API.
602         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
603         so it can be shared by plugins and daemon.
604
605 2008-09-18  Dan Williams  <dcbw@redhat.com>
606
607         Patch from Alexander Sack <asac@ubuntu.com>
608
609         * configure.in
610           system-settings/plugins/Makefile.am
611           system-settings/plugins/ifupdown/Makefile.am
612           system-settings/plugins/ifupdown/interface_parser.c
613           system-settings/plugins/ifupdown/interface_parser.h
614           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
615           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
616           system-settings/plugins/ifupdown/parser.c
617           system-settings/plugins/ifupdown/parser.h
618           system-settings/plugins/ifupdown/plugin.c
619           system-settings/plugins/ifupdown/plugin.h
620                 - Implement a Debian/Ubuntu legacy network configuration plugin
621                         (gnome.org #551941)
622
623 2008-09-18  Dan Williams  <dcbw@redhat.com>
624
625         Implement support for honoring configured and automatic hostnames, and for
626         setting the configured hostname.
627
628         * introspection/nm-ip4-config.xml
629           src/nm-ip4-config.c
630           src/nm-ip4-config.h
631           src/dhcp-manager/nm-dhcp-manager.c
632                 - Remove useless hostname property; it's not really part of the IPv4
633                         config
634
635         * introspection/nm-settings-system.xml
636           libnm-glib/nm-dbus-settings-system.c
637           libnm-glib/nm-dbus-settings-system.h
638                 - Add SetHostname() call to system settings D-Bus interface
639                 - Add Hostname property to system settings D-Bus interface
640                 - (nm_dbus_settings_system_save_hostname,
641                    nm_dbus_settings_system_get_hostname): implement
642
643         * src/nm-device.c
644           src/nm-device.h
645                 - (nm_device_get_dhcp4_config): implement
646
647         * src/nm-manager.c
648           src/nm-manager.h
649                 - Fetch and track system settings service hostname changes, and proxy
650                         the changes via a GObject property of the manager
651
652         * system-settings/src/nm-system-config-interface.c
653           system-settings/src/nm-system-config-interface.h
654                 - Replace nm_system_config_interface_supports_add() with a capabilities
655                         bitfield
656
657         * system-settings/src/nm-system-config-error.c
658           system-settings/src/nm-system-config-error.h
659                 - Add additional errors
660
661         * system-settings/src/dbus-settings.c
662           system-settings/src/dbus-settings.h
663                 - (get_property, nm_sysconfig_settings_class_init): add hostname
664                         property; first plugin returning a hostname wins
665                 - (impl_settings_add_connection): use plugin capabilities instead of
666                         nm_system_config_interface_supports_add()
667                 - (impl_settings_save_hostname): implement hostname saving
668
669         * src/NetworkManagerPolicy.c
670                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
671                    lookup_thread_die): implement an asynchronous hostname lookup thread
672                         which given an IPv4 address tries to look up the hostname for that
673                         address with reverse DNS
674                 - (get_best_device): split out best device code from
675                         update_routing_and_dns()
676                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
677                         to preserve the 127.0.0.1 reverse mapping that so many things require
678                 - (set_system_hostname): set a given hostname
679                 - (update_system_hostname): implement hostname policy; a configured
680                         hostname (from the system settings service) is used if available,
681                         otherwise an automatically determined hostname from DHCP, VPN, etc.
682                         If there was no automatically determined hostname, reverse DNS of
683                         the best device's IP address will be used, and as a last resort the
684                         hostname 'localhost.localdomain' is set.
685                 - (update_routing_and_dns): use get_best_device(); update the system
686                         hostname when the network config changes
687                 - (hostname_changed): update system hostname if the system settings
688                         service signals a hostname change
689                 - (nm_policy_new): list for system settings service hostname changes
690                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
691                         gets told to die
692
693         * system-settings/plugins/keyfile/plugin.c
694           system-settings/plugins/ifcfg-suse/plugin.c
695                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
696                         capabilities properties
697
698         * system-settings/plugins/ifcfg-fedora/shvar.c
699                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
700                         writes out /etc/sysconfig/network now
701
702         * system-settings/plugins/ifcfg-fedora/plugin.c
703                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
704                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
705                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
706                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
707                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
708                         hostname get/set and capabilities get
709
710 2008-09-18  Dan Williams  <dcbw@redhat.com>
711
712         * libnm-util/nm-setting-wireless.c
713                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
714                         group ciphers if the wireless-security setting explicitly specified
715                         them, effectively making the default be "all ciphers"  (idea from
716                         Alexander Sack)
717
718 2008-09-15  Dan Williams  <dcbw@redhat.com>
719
720         Patch from Alexander Sack <asac@ubuntu.com>
721
722         * src/named-manager/nm-named-manager.c
723                 - (dispatch_resolvconf): respect resolvconf exit code
724
725 2008-09-12  Tambet Ingo  <tambet@gmail.com>
726
727         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
728         again. Add some debugging.
729
730 2008-09-11  Dan Williams  <dcbw@redhat.com>
731
732         * system-settings/plugins/keyfile/plugin.c
733                 - (update_connection_settings): update connection manually, since
734                         nm_exported_connection_update() does authentication
735                 - (dir_changed): update_connection_settings() doesn't need to return
736                         an error
737
738 2008-09-09  Dan Williams  <dcbw@redhat.com>
739
740         * libnm-glib/nm-vpn-plugin-ui-interface.c
741           libnm-glib/nm-vpn-plugin-ui-interface.h
742           libnm-glib/libnm_glib_vpn.ver
743                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
744                         should clean up resources related to the connection (like keyring
745                         secrets)
746                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
747                         should save user-scope secrets (like to the keyring)
748
749 2008-09-08  Dan Williams  <dcbw@redhat.com>
750
751         Patch from Alexander Sack <asac@ubuntu.com>
752
753         * libnm-util/crypto_gnutls.c
754           libnm-util/crypto_nss.c
755                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
756
757         * libnm-util/nm-utils.c
758           libnm-util/nm-utils.h
759           libnm-util/libnm-util.ver
760                 - (nm_utils_init): initialize libnm-util
761                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
762
763         * libnm-util/nm-setting-8021x.c
764                 - (nm_setting_802_1x_class_init): init libnm-util when needed
765
766 2008-09-05  Dan Williams  <dcbw@redhat.com>
767
768         Patch from Roy Marples <roy@marples.name> and others
769
770         * configure.in
771           src/named-manager/nm-named-manager.c
772                 - Add support for resolvconf; use --with-resolvconf at configure time
773                         to enable it
774
775 2008-09-05  Dan Williams  <dcbw@redhat.com>
776
777         * libnm-util/crypto_nss.c
778           libnm-util/crypto_gnutls.c
779           libnm-util/crypto.h
780                 - (crypto_init): return error when init fails
781
782 2008-09-05  Dan Williams  <dcbw@redhat.com>
783
784         * libnm-glib/nm-device-wifi.c
785                 - (access_point_removed_proxy): clean up the active access point too
786                         just in case the active ap changed signal didn't come through yet
787                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
788
789 2008-09-05  Dan Williams  <dcbw@redhat.com>
790
791         * libnm-glib/nm-client.c
792                 - (constructor): get initial state after we know whether NM is running
793                         or not
794
795 2008-09-05  Dan Williams  <dcbw@redhat.com>
796
797         * libnm-glib/nm-ip4-config.c
798           libnm-glib/nm-dhcp4-config.c
799                 - (finalize): clean up the DBusGProxy
800
801 2008-09-04  Dan Williams  <dcbw@redhat.com>
802
803         * src/nm-ip4-config.c
804           src/nm-ip4-config.h
805                 - (nm_ip4_config_new): don't export over D-Bus here
806                 - (nm_ip4_config_export): new function; export the config over D-Bus
807                 - (nm_ip4_config_is_exported): new function
808
809         * src/nm-device.c
810                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
811                         objects by balancing the IP4Config constructor; the device holds
812                         a reference to the IP4Config already
813                 - (nm_device_set_ip4_config): export the IP4Config when needed
814
815 2008-09-04  Dan Williams  <dcbw@redhat.com>
816
817         * src/supplicant-manager/nm-supplicant-settings-verify.c
818                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
819
820 2008-09-04  Dan Williams  <dcbw@redhat.com>
821
822         * libnm-util/nm-setting-vpn.c
823           libnm-util/nm-setting-vpn.h
824                 - Split VPN secrets from VPN data so that settings services can actually
825                         figure out that they are secrets and store them accordingly
826
827         * system-settings/plugins/keyfile/nm-keyfile-connection.c
828           system-settings/plugins/keyfile/reader.c
829           system-settings/plugins/keyfile/reader.h
830           system-settings/plugins/keyfile/writer.c
831                 - Store VPN secrets separately from VPN data so that they can be fetched
832                         on demand
833                 - Implement the get_secrets() call so that (a) secrets don't leak out
834                         to unprivileged callers, and (b) secrets can be sent to privileged
835                         callers when needed
836
837         * vpn-daemons/vpnc/src/nm-vpnc-service.c
838                 - Handle split VPN secrets
839
840 2008-08-27  Dan Williams  <dcbw@redhat.com>
841
842         * system-settings/plugins/ifcfg-fedora/reader.c
843                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
844
845 2008-08-27  Dan Williams  <dcbw@redhat.com>
846
847         Ensure zombie children get cleaned up.  To get notifications when children
848         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
849         that requires calling waitpid() yourself if you've removed the child watch
850         handler before the process has actually died, which NM needs to do in a few
851         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
852         cleans up after the child when required.  Should fix problems trying to
853         activate mobile broadband connections after a previous failure.
854
855         * src/dhcp-manager/nm-dhcp-dhclient.c
856           src/dhcp-manager/nm-dhcp-dhcpcd.c
857                 - Use G_SPAWN_DO_NOT_REAP_CHILD
858
859         * src/dhcp-manager/nm-dhcp-manager.c
860                 - (nm_dhcp_device_destroy): ensure child is cleaned up
861                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
862                         block on child quitting, since the non-blocking functionality was
863                         never actually used
864
865         * src/dnsmasq-manager/nm-dnsmasq-manager.c
866                 - (dm_watch_cb): child is already reaped here
867                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
868
869         * src/nm-device.c
870                 - (aipd_cleanup): block until child is dead
871
872         * src/named-manager/nm-named-manager.c
873                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
874                         event bothering to watch the child
875
876         * src/ppp-manager/nm-ppp-manager.c
877                 - (ppp_watch_cb): child is already reaped here
878                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
879
880         * src/vpn-manager/nm-vpn-service.c
881                 - (vpn_service_watch_cb): child is already reaped here
882                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
883                         status of the child is actually tracked
884                 - (ensure_killed, finalize): block until child is dead
885
886 2008-08-26  Dan Williams  <dcbw@redhat.com>
887
888         * system-settings/plugins/keyfile/nm-keyfile-connection.c
889                 - (update): Update filename of the connection if the connection id
890                         was changed
891
892         * system-settings/plugins/keyfile/plugin.c
893                 - (dir_changed): first pass at handling connection renames correctly
894
895         * system-settings/plugins/keyfile/writer.c
896           system-settings/plugins/keyfile/writer.h
897                 - (write_connection): replace '/' with '*' when writing out the filename
898                         from the connection id
899
900 2008-08-26  Dan Williams  <dcbw@redhat.com>
901
902         Add connection UUIDs, since connection names can be changed, and since
903         old-style connection IDs could change over the life of the connection.  The
904         UUID should be assigned at connection creation time, be stable for a given
905         connection, and should be unique among all connections for a given settings
906         service.
907
908         * configure.in
909           libnm-util/Makefile.am
910                 - Require libuuid
911
912         * introspection/nm-exported-connection.xml
913                 - Remove "GetID" method
914
915         * libnm-glib/nm-dbus-connection.c
916           libnm-glib/nm-settings.c
917           libnm-glib/nm-settings.h
918                 - Remove id-related stuff
919
920         * libnm-util/nm-utils.c
921           libnm-util/nm-utils.h
922           libnm-util/libnm-util.ver
923                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
924                         utility functions to generate UUIDs
925
926         * libnm-util/nm-setting-connection.c
927           libnm-util/nm-setting-connection.h
928                 - Add 'uuid' member to the connection setting
929                 - (verify): require valid 'uuid' for a valid connection
930
931         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
932           system-settings/plugins/ifcfg-fedora/reader.c
933           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
934           system-settings/plugins/ifcfg-suse/parser.c
935           system-settings/plugins/keyfile/nm-keyfile-connection.c
936           system-settings/src/main.c
937                 - Remove id-related stuff
938                 - Give connections UUIDs where needed
939
940 2008-08-25  Dan Williams  <dcbw@redhat.com>
941
942         * libnm-util/crypto_gnutls.c
943           libnm-util/crypto_nss.c
944                 - (crypto_init, crypto_deinit): refcount init/deinit
945                 - (crypto_md5_hash): allow NULL salt
946
947 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
948
949         * libnm-glib/Makefile.am
950           libnm-util/Makefile.am
951           libnm-glib/libnm_glib.ver
952           libnm-glib/libnm_glib_vpn.ver
953           libnm-util/libnm-util.ver
954                 - Use linker version scripts to control the list of exported 
955                 symbols. List each exported symbol explicitely.
956         * libnm-util/Makefile.am
957                 - Fix compilation of the test-crypto binary. The crypto
958                 functions are no longer part of the libnm-util API. Add 
959                 crypto_*.c to test_crypto_SOURCES and link against the correct
960                 crypto libraries.
961
962 2008-08-19  Dan Williams  <dcbw@redhat.com>
963
964         * configure.in
965           test/Makefile.am
966                 - Don't build test/test-common
967                 - Remove unused stuff
968
969         * test/nm-set-fallback
970           test/nmtestdevices.c
971           test/test-common/.cvsignore
972           test/test-common/Makefile.am
973           test/test-common/test-common.c
974           test/test-common/test-common.h
975                 - delete
976
977 2008-08-18  Dan Williams  <dcbw@redhat.com>
978
979         * libnm-util/nm-utils.c
980           libnm-util/nm-utils.h
981                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
982                         export anything that needs to be converted with this function
983
984         * src/dhcp-manager/nm-dhcp-manager.c
985                 - (garray_to_string): convert a byte array to a UTF-8 string with
986                         minimal validation; the DHCP client sends it in ASCII anyway
987                 - (get_option, copy_option): use garray_to_string()
988
989 2008-08-18  Dan Williams  <dcbw@redhat.com>
990
991         * include/NetworkManager.h
992           introspection/nm-device.xml
993                 - Add a "missing firmware" device state reason
994
995         * src/NetworkManagerSystem.c
996           src/NetworkManagerSystem.h
997                 - (nm_system_device_set_up_down): add a no_firmware argument
998                 - (nm_system_device_set_up_down_with_iface): if the result of setting
999                         IFF_UP is ENOENT, that almost always means missing firmware
1000
1001         * src/backends/NetworkManagerGeneric.c
1002           src/nm-device-ethernet.c
1003           src/nm-device-private.h
1004           src/nm-device-wifi.c
1005           src/nm-device.c
1006           src/nm-device.h
1007           src/nm-hso-gsm-device.c
1008           src/vpn-manager/nm-vpn-connection.c
1009                 - Pass no_firmware along; check it where appropriate
1010
1011 2008-08-18  Dan Williams  <dcbw@redhat.com>
1012
1013         Patch from Robert Buchholz <rbu@gentoo.org>
1014
1015         * autogen.sh
1016           configure.in
1017                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1018                         1003.1-1988, allowing for file names longer than 99 characters
1019
1020 2008-08-17  Dan Williams  <dcbw@redhat.com>
1021
1022         * include/NetworkManager.h
1023           introspection/nm-device.xml
1024           src/nm-gsm-device.c
1025                 - Finer-grained GSM registration failure error codes
1026
1027 2008-08-17  Dan Williams  <dcbw@redhat.com>
1028
1029         * callouts/Makefile.am
1030           src/Makefile.am
1031                 - Move dispatcher directory creation to callouts/Makefile.am
1032
1033         * system-settings/plugins/keyfile/Makefile.am
1034                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1035
1036 2008-08-15  Dan Williams  <dcbw@redhat.com>
1037
1038         Do connection sharing in a cleaner manner; all required iptables rules
1039         are now stored in the activation request and pertain only to the device
1040         which is being shared to other computers. (rh #458625)
1041
1042         * src/nm-activation-request.c
1043           src/nm-activation-request.h
1044                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1045                         the activation request which will get torn down automatically when
1046                         the activation request dies
1047                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1048                         is started, and tear them down when sharing is stopped
1049
1050         * src/nm-device.c
1051                 - (start_sharing): start up sharing by doing the required iptables magic
1052                 - (share_init): poke the right bits of the kernel and load the right
1053                         modules for NAT
1054                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1055                         connection if it's a 'shared' connection
1056
1057         * src/NetworkManagerPolicy.c
1058                 - Remove all sharing stuff; done in the device code itself
1059
1060 2008-08-15  Dan Williams  <dcbw@redhat.com>
1061
1062         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1063                 - (create_dm_cmd_line): send the right router address
1064
1065 2008-08-15  Dan Williams  <dcbw@redhat.com>
1066
1067         * src/ppp-manager/nm-ppp-manager.c
1068                 - (pppd_timed_out): ensure timeouts fail the connection
1069
1070 2008-08-14  Dan Williams  <dcbw@redhat.com>
1071
1072         * src/nm-properties-changed-signal.c
1073           src/nm-properties-changed-signal.h
1074                 - Add a property spec flag for "don't export this property" in
1075                         property changed signals
1076
1077         * src/nm-hso-gsm-device.c
1078           src/nm-gsm-device.c
1079           src/nm-cdma-device.c
1080                 - Don't export monitor interface or netdev interface properties
1081
1082 2008-08-14  Dan Williams  <dcbw@redhat.com>
1083
1084         * src/NetworkManagerPolicy.c
1085                 - (update_routing_and_dns): 'hso' devices can be default even if they
1086                         don't have a gateway
1087
1088 2008-08-14  Dan Williams  <dcbw@redhat.com>
1089
1090         * src/nm-device.c
1091                 - (nm_device_deactivate_quickly): tear down activation request after
1092                         calling device-specific deactivation
1093
1094         * src/nm-hso-gsm-device.c
1095                 - (real_deactivate_quickly): terminate connection when deactivating
1096
1097 2008-08-14  Dan Williams  <dcbw@redhat.com>
1098
1099         * src/nm-activation-request.h
1100                 - Add HSO secrets caller
1101
1102         * src/nm-gsm-device.c
1103           src/nm-gsm-device.h
1104                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1105                         something to the callback function
1106                 - (set_apn, set_apn_done): call class dial function, not a static one
1107                 - (nm_gsm_device_class_init): add a class 'dial' function
1108
1109         * src/nm-hal-manager.c
1110                 - (get_hso_netdev): find the hso-driven hardware's net device
1111                 - (modem_device_creator): recognize hso-driven hardware and create the
1112                         right type of device object for it
1113
1114         * src/Makefile.am
1115           src/nm-hso-gsm-device.c
1116           src/nm-hso-gsm-device.h
1117                 - Implement support for devices driven by the 'hso' driver as a subclass
1118                         of NMGsmDevice
1119
1120 2008-08-14  Dan Williams  <dcbw@redhat.com>
1121
1122         * src/NetworkManagerSystem.c
1123                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1124                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1125                         success if the operation really was successful
1126
1127 2008-08-14  Dan Williams  <dcbw@redhat.com>
1128
1129         * src/nm-netlink-monitor.c
1130           src/nm-netlink-monitor.h
1131           src/nm-device-ethernet.c
1132                 - (nm_netlink_monitor_request_status): return an error on failure
1133                 - (constructor): don't segfault on missing error
1134
1135 2008-08-13  Dan Williams  <dcbw@redhat.com>
1136
1137         * callouts/nm-dispatcher-action.c
1138                 - Add IP4 config info to script environment
1139
1140 2008-08-12  Dan Williams  <dcbw@redhat.com>
1141
1142         * src/nm-device.c
1143                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1144                         that want to use DHCP hostnames should use dispatcher scripts
1145                         for that
1146
1147         * src/NetworkManagerSystem.h
1148           src/backends/NetworkManagerArch.c
1149           src/backends/NetworkManagerDebian.c
1150           src/backends/NetworkManagerFrugalware.c
1151           src/backends/NetworkManagerGeneric.c
1152           src/backends/NetworkManagerGeneric.h
1153           src/backends/NetworkManagerGentoo.c
1154           src/backends/NetworkManagerMandriva.c
1155           src/backends/NetworkManagerPaldo.c
1156           src/backends/NetworkManagerRedHat.c
1157           src/backends/NetworkManagerSlackware.c
1158           src/backends/NetworkManagerSuSE.c
1159                 - Remove nm_system_set_hostname(), no longer used
1160           
1161         * src/backends/Makefile.am
1162           src/backends/shvar.c
1163           src/backends/shvar.h
1164                 - Remove shvar.*; no longer used
1165
1166 2008-08-12  Dan Williams  <dcbw@redhat.com>
1167
1168         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1169         hostname is updated at runtime.  Distros or users who want hostname updates
1170         can use dispatcher scripts to update the hostname if they need it.
1171
1172 2008-08-12  Dan Williams  <dcbw@redhat.com>
1173
1174         * introspection/nm-settings-system.xml
1175           system-settings/src/dbus-settings.c
1176           system-settings/src/dbus-settings.h
1177                 - Add a 'Hostname' property (rw) which represents the configured
1178                         hostname and domain of the system, if any
1179
1180         * system-settings/src/nm-system-config-error.c
1181           system-settings/src/nm-system-config-error.h
1182           system-settings/src/nm-system-config-interface.c
1183           system-settings/src/nm-system-config-interface.h
1184                 - Add a 'hostname' property to the plugin interface
1185                 - Add a method to send updated hostname to plugins to save in their
1186                         backing configuration store
1187
1188         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1189           system-settings/plugins/keyfile/plugin.c
1190           system-settings/plugins/keyfile/writer.c
1191           system-settings/plugins/keyfile/writer.h
1192           system-settings/plugins/ifcfg-suse/plugin.c
1193                 - Add minimal hostname support
1194
1195         * system-settings/plugins/ifcfg-fedora/plugin.c
1196                 - Add support for updating system hostname in /etc/sysconfig/network
1197
1198 2008-08-12  Dan Williams  <dcbw@redhat.com>
1199
1200         * system-settings/plugins/ifcfg-fedora/shvar.c
1201           system-settings/plugins/ifcfg-fedora/shvar.c
1202                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1203
1204 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1205
1206         * Makefile.am: Fix distcheck.
1207
1208 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1209
1210         * libnm-glib/*.c. Document some more.
1211
1212 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1213
1214         Start documenting libnm-glib public API using gtk-doc.
1215
1216         * libnm-glib/nm-serial-device.c: 
1217         * libnm-glib/nm-object.c: 
1218         * libnm-glib/nm-gsm-device.c: 
1219         * libnm-glib/nm-device.c: 
1220         * libnm-glib/nm-device-wifi.c: 
1221         * libnm-glib/nm-device-ethernet.c: 
1222         * libnm-glib/nm-client.c: 
1223         * libnm-glib/nm-cdma-device.c: Document the public API.
1224
1225         * docs/libnm-glib/libnm-glib.types: Implement.
1226
1227         * docs/libnm-glib/Makefile.am: Implement.
1228
1229         * autogen.sh: 
1230         * configure.in: 
1231         * Makefile.am: Add gtk-doc support.
1232
1233 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1234
1235         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1236
1237         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1238         the composite result of all the IP4 configurations and call a distro
1239         specific update_resolv_conf().
1240         (update_resolv_conf): Implement one for directly writing to 
1241         /etc/resolv.conf and one for opensuse to call netconfig.
1242
1243 2008-08-11  Dan Williams  <dcbw@redhat.com>
1244
1245         * src/ppp-manager/nm-ppp-manager.c
1246                 - (impl_ppp_manager_need_secrets): pass interface as required
1247
1248 2008-08-11  Dan Williams  <dcbw@redhat.com>
1249
1250         Merge the vpn-properties setting with the vpn setting since it was pointless
1251         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1252         of string:string (instead of string:variant) so that system settings plugins
1253         can have an easier time dealing with the arbitrary key/value pairs.
1254
1255 2008-08-11  Dan Williams  <dcbw@redhat.com>
1256
1257         * libnm-util/nm-utils.c
1258                 - (nm_utils_register_value_transformations): add value transform for
1259                         a hash table of string:string
1260
1261 2008-08-10  Dan Williams  <dcbw@redhat.com>
1262
1263         * libnm-glib/nm-vpn-plugin.c
1264                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1265                         an idle handler so the Connect reply gets delivered before the
1266                         stop StateChanged signal
1267
1268 2008-08-10  Dan Williams  <dcbw@redhat.com>
1269
1270         * src/nm-ip4-config.c
1271                 - (get_property): use common ip4 address/route conversion functions
1272                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1273                         copy the new route here, not take ownership
1274
1275 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1276
1277         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1278         Update the IP4 setting's method name.
1279
1280 2008-08-07  Dan Williams  <dcbw@redhat.com>
1281
1282         * introspection/nm-ip4-config.xml
1283           libnm-glib/libnm-glib-test.c
1284           libnm-glib/nm-ip4-config.c
1285           libnm-glib/nm-ip4-config.h
1286           src/NetworkManagerSystem.h
1287           src/backends/NetworkManagerArch.c
1288           src/backends/NetworkManagerDebian.c
1289           src/backends/NetworkManagerFrugalware.c
1290           src/backends/NetworkManagerGeneric.c
1291           src/backends/NetworkManagerGeneric.h
1292           src/backends/NetworkManagerGentoo.c
1293           src/backends/NetworkManagerMandriva.c
1294           src/backends/NetworkManagerPaldo.c
1295           src/backends/NetworkManagerRedHat.c
1296           src/backends/NetworkManagerSlackware.c
1297           src/backends/NetworkManagerSuSE.c
1298           src/dhcp-manager/nm-dhcp-manager.c
1299           src/nm-device.c
1300           src/nm-ip4-config.c
1301           src/nm-ip4-config.h
1302                 - Remove NIS logic; should be done from dispatcher scripts instead
1303
1304 2008-08-07  Dan Williams  <dcbw@redhat.com>
1305
1306         * src/dhcp-manager/nm-dhcp-manager.c
1307                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1308                         mis-handling of DHCP responses that returned more than one router
1309                         (found by Grant Williamson)
1310
1311 2008-08-07  Dan Williams  <dcbw@redhat.com>
1312
1313         * callouts/nm-dispatcher-action.c
1314                 - (nm_dispatcher_action): grab device path and create the device; pass
1315                         the device's DHCP4 config to script caller
1316                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1317                         scripts
1318
1319         * libnm-glib/nm-dhcp4-config.c
1320           libnm-glib/nm-dhcp4-config.h
1321                 - (nm_dhcp4_config_get_options): expose
1322                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1323
1324 2008-08-07  Dan Williams  <dcbw@redhat.com>
1325
1326         * include/NetworkManager.h
1327                 - Add the DHCP4Config D-Bus interface
1328
1329         * libnm-glib/Makefile.am
1330           libnm-glib/nm-dhcp4-config.c
1331           libnm-glib/nm-dhcp4-config.h
1332                 - Handle DHCP4 config objects exported by NM over D-Bus
1333
1334         * libnm-glib/nm-device.c
1335           libnm-glib/nm-device.h
1336                 - Add a 'dhcp4-config' property
1337
1338         * libnm-glib/libnm-glib-test.c
1339                 - Print out DHCP4 config for devices
1340                 - Fix some crashes when no connections are active
1341
1342         * src/nm-device-interface.c
1343           src/nm-device.c
1344           src/nm-dhcp4-config.c
1345           src/nm-dhcp4-config.h
1346                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1347                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1348                         doesn't let us do when the property type is G_TYPE_OBJECT
1349
1350 2008-08-07  Dan Williams  <dcbw@redhat.com>
1351
1352         * src/NetworkManager.c
1353           src/NetworkManagerSystem.h
1354           src/backends/NetworkManagerArch.c
1355           src/backends/NetworkManagerDebian.c
1356           src/backends/NetworkManagerFrugalware.c
1357           src/backends/NetworkManagerGeneric.c
1358           src/backends/NetworkManagerGeneric.h
1359           src/backends/NetworkManagerGentoo.c
1360           src/backends/NetworkManagerMandriva.c
1361           src/backends/NetworkManagerPaldo.c
1362           src/backends/NetworkManagerRedHat.c
1363           src/backends/NetworkManagerSlackware.c
1364           src/backends/NetworkManagerSuSE.c
1365                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1366
1367 2008-08-06  Dan Williams  <dcbw@redhat.com>
1368
1369         * libnm-glib/nm-ip4-config.c
1370           libnm-glib/nm-ip4-config.h
1371                 - Add 'routes' property
1372
1373         * libnm-util/nm-setting-vpn.c
1374           libnm-util/nm-setting-vpn.h
1375                 - Remove 'routes' property
1376
1377         * libnm-util/nm-setting-ip4-config.c
1378           libnm-util/nm-setting-ip4-config.h
1379                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1380                 - Add 'ignore-auto-routes' property
1381                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1382                         accomodate route metrics
1383                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1384
1385         * libnm-util/nm-utils.c
1386           libnm-util/nm-utils.h
1387                 - Add helpers for marshalling IP4 routes
1388
1389         * src/NetworkManagerUtils.c
1390                 - (nm_utils_merge_ip4_config): handle property renames and new route
1391                         structure
1392
1393         * src/NetworkManagerSystem.c
1394                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1395                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1396
1397         * src/dhcp-manager/nm-dhcp-manager.c
1398                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1399
1400         * system-settings/plugins/ifcfg-fedora/reader.c
1401           system-settings/plugins/ifcfg-fedora/writer.c
1402                 - Handle routes separately from addresses now that routes have a different
1403                         format
1404
1405         * introspection/nm-ip4-config.xml
1406           src/nm-ip4-config.c
1407           src/nm-ip4-config.h
1408                 - Rename internal routing functions
1409                 - 'static-routes' renamed to 'routes'
1410
1411 2008-08-04  Dan Williams  <dcbw@redhat.com>
1412
1413         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1414
1415         * src/NetworkManager.c
1416           src/nm-manager.c
1417           src/nm-manager.h
1418                 - More explicitly make the NMManager a singleton
1419
1420 2008-08-04  Dan Williams  <dcbw@redhat.com>
1421
1422         * libnm-util/nm-connection.c
1423           libnm-util/nm-connection.h
1424                 - (nm_connection_verify): return error on missing 'connection' setting
1425                         (found by Sjoerd Simons)
1426
1427 2008-08-04  Dan Williams  <dcbw@redhat.com>
1428
1429         Handle multiple concurrent PPP connections.
1430
1431         * src/ppp-manager/nm-ppp-manager.c
1432           src/ppp-manager/nm-ppp-manager.h
1433                 - (constructor): only PPP Manager request bus name once; each
1434                         NMPPPManager object gets a unique object path
1435                 - (nm_ppp_manager_class_init, get_property, set_property,
1436                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1437                         at construct time
1438                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1439                         remove timeout until PPP manager gets an IP4 config
1440                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1441                         the plugin can call back to this specific PPP manager instance
1442
1443         * src/nm-device-ethernet.c
1444           src/nm-serial-device.c
1445                 - Pass parent device in nm_ppp_manager_new()
1446
1447         * src/nm-gsm-device.c
1448           src/nm-cdma-device.c
1449                 - (device_state_changed): don't close serial device on NEED_AUTH
1450                         state changed, that's not a failure case like the rest are
1451
1452         * src/ppp-manager/nm-pppd-plugin.c
1453                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1454                         binds one interface to any pppd process, thus the correct index
1455                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1456                         problems; try harder to get a peer address in spite of pppd
1457                 - (plugin_init): use 'ipparam' as the object path back to our specific
1458                         PPP manager instance
1459
1460 2008-08-04  Dan Williams  <dcbw@redhat.com>
1461
1462         * src/ppp-manager/nm-ppp-manager.c
1463                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1464                         since the GSM and CDMA settings now implement need_secrets, we can
1465                         rely on them to do the right thing.  Where secrets are not required,
1466                         just pass empty strings back to the pppd plugin.
1467                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1468                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1469                         on successful IP4 config receipt
1470
1471 2008-08-04  Dan Williams  <dcbw@redhat.com>
1472
1473         * libnm-util/nm-setting-cdma.c
1474           libnm-util/nm-setting-gsm.c
1475                 - (verify): validate username & password if they exist
1476                 - (need_secrets): if username given, require a password too
1477
1478 2008-08-04  Dan Williams  <dcbw@redhat.com>
1479
1480         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1481                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1482                         manpage says about --listen-address without --interface
1483                         (bgo #546033)
1484
1485 2008-08-01  Dan Williams  <dcbw@redhat.com>
1486
1487         * libnm-glib/nm-device.c
1488                 - (proxy_get_string): util function for querying a HAL property
1489                 - (get_ancestor_device): split out from get_product_and_vendor()
1490                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1491                         from PCI devices by querying subsys properties
1492                 - (nm_device_update_description): simplify
1493
1494 2008-08-01  Dan Williams  <dcbw@redhat.com>
1495
1496         * libnm-util/nm-setting-ip4-config.c
1497           libnm-util/nm-setting-ip4-config.h
1498                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1499                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1500                         settings, and they don't necessarily use DHCP.
1501
1502         * src/NetworkManagerPolicy.c
1503           src/nm-device.c
1504           system-settings/plugins/ifcfg-fedora/reader.c
1505           system-settings/plugins/ifcfg-suse/parser.c
1506                 - Fixup for method changes
1507
1508 2008-07-31  Dan Williams  <dcbw@redhat.com>
1509
1510         * src/nm-activation-request.c
1511           src/vpn-manager/nm-vpn-connection.c
1512                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1513                         itself should be attached to the activation request or the VPN
1514                         connection, not the NMConnection object, since the call is not
1515                         expected to live as long as the NMConnection itself
1516
1517 2008-07-31  Dan Williams  <dcbw@redhat.com>
1518
1519         * src/nm-device-wifi.c
1520                 - (real_act_stage2_config): fix issue where association would continue
1521                         even though secrets were needed; 'goto out' was in wrong scope and
1522                         result of handle_auth_or_fail() should have been dumped directly to
1523                         'ret' to ensure that the association was postponed until secrets
1524                         are available
1525
1526 2008-07-31  Dan Williams  <dcbw@redhat.com>
1527
1528         * system-settings/plugins/ifcfg-fedora/plugin.c
1529           system-settings/plugins/ifcfg-fedora/reader.c
1530                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1531                         valid NM connection
1532
1533 2008-07-29  Dan Williams  <dcbw@redhat.com>
1534
1535         * src/nm-gsm-device.c
1536                 - (automatic_registration_response, automatic_registration): recognize
1537                         denied registration and reorder responses
1538
1539 2008-07-29  Dan Williams  <dcbw@redhat.com>
1540
1541         * src/nm-serial-device.c
1542                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1543                         time(2) is used for current time, which returns seconds, we shouldn't
1544                         be multiplying by 1000.
1545
1546 2008-07-28  Dan Williams  <dcbw@redhat.com>
1547
1548         Patch from Fabrice Bellet <fabrice@bellet.info>
1549
1550         * src/NetworkManagerSystem.c
1551                 - (route_in_same_subnet): mask addresses and compare them so that the
1552                         function actually does what it says it's going to do (rh #456685)
1553
1554 2008-07-27  Dan Williams  <dcbw@redhat.com>
1555
1556         * libnm-util/nm-setting-ip6-config.c
1557                 - (set_property): add missing break that caused routes to be overwritten
1558                         with addresses
1559
1560         * libnm-util/nm-setting-ip6-config.c
1561                 - (verify): validate routes and return GError everywhere on invalid setting
1562                 - (finalize): don't leak routes
1563                 - (set_property): add missing break that caused routes to be overwritten
1564                         with addresses
1565
1566 2008-07-27  Dan Williams  <dcbw@redhat.com>
1567
1568         * libnm-util/*
1569                 - Relicense to LGPLv2+
1570
1571 2008-07-27  Dan Williams  <dcbw@redhat.com>
1572
1573         * system-settings/plugins/ifcfg-fedora/reader.c
1574                 - (make_ip4_setting): fix parsing automatic configs
1575
1576 2008-07-27  Dan Williams  <dcbw@redhat.com>
1577
1578         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1579           src/nm-device.c
1580           src/ppp-manager/nm-ppp-manager.c
1581                 - Ensure child process gets reaped.  The child watch function may be
1582                         removed from the mainloop before the child gets killed, so we have
1583                         to make sure the child is reaped when it's told to die intentionally
1584
1585 2008-07-27  Dan Williams  <dcbw@redhat.com>
1586
1587         Patch from Roy Marples <roy@marples.name>
1588
1589         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1590                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1591
1592 2008-07-27  Dan Williams  <dcbw@redhat.com>
1593
1594         * src/nm-gsm-device.c
1595                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1596                         Huawei devices turn echo back on after CPIN (rh #456770)
1597
1598 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1599
1600         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1601         format argument to g_set_error() call.
1602
1603         * src/backends/interface_parser.[ch]: Remove.
1604
1605         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1606
1607 2008-07-21  Dan Williams  <dcbw@redhat.com>
1608
1609         * src/ppp-manager/nm-ppp-manager.c
1610                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1611                         to prevent pppd from picking up some random local address from an
1612                         interface that doesn't have anything to do with the one we're
1613                         interested in (rh #455348)
1614
1615 2008-07-17  Dan Williams  <dcbw@redhat.com>
1616
1617         * libnm-util/nm-utils.c
1618                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1619                         by locale
1620                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1621                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1622
1623 2008-07-17  Dan Williams  <dcbw@redhat.com>
1624
1625         * introspection/Makefile.am
1626           introspection/nm-device.xml
1627           introspection/nm-dhcp4-config.xml
1628                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1629                         itself
1630         * src/nm-device-interface.c
1631           src/nm-device-interface.h
1632                 - Add the DHCP4Config property
1633
1634         * src/nm-device.c
1635                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1636                         D-Bus clients when it changes
1637
1638         * src/nm-dhcp4-config.c
1639           src/nm-dhcp4-config.h
1640                 - Simple object to store DHCP4 options, export them over D-Bus, and
1641                         notify when they change
1642
1643         * src/dhcp-manager/nm-dhcp-manager.c
1644           src/dhcp-manager/nm-dhcp-manager.h
1645                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1646                         filter server-returned DHCP options into an NMDHCP4Config object
1647
1648 2008-07-16  Dan Williams  <dcbw@redhat.com>
1649
1650         * introspection/nm-device.xml
1651                 - Add device state reasons
1652
1653 2008-07-16  Dan Williams  <dcbw@redhat.com>
1654
1655         Patch from Roy Marples <roy@marples.name>
1656
1657         * configure.in
1658                 - Add --with-dhcp-client option
1659
1660         * src/dhcp-manager/Makefile.am
1661                 - pass DHCP_CLIENT_PATH on compile line
1662
1663         * src/dhcp-manager/nm-dhcp-manager.c
1664           src/dhcp-manager/nm-dhcp-manager.h
1665                 - Genericize for both dhcpcd and dhclient
1666
1667         * src/dhcp-manager/nm-dhcp-dhclient.c
1668                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1669
1670         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1671                 - Implement support for dhcpcd too
1672
1673 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1674
1675         * system-settings/src/nm-system-config-interface.c 
1676         (nm_system_config_interface_supports_add): Implement.
1677         (nm_system_config_interface_add_connection): Return a boolean to notify
1678         of errors.
1679
1680         * system-settings/src/nm-polkit-helpers.c: 
1681         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1682         a separate file.
1683
1684         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1685         Return an error when none of the plugins support add or if addition
1686         failed for some reason.
1687
1688         * system-settings/src/nm-system-config-error.h: 
1689         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1690         here from nm-polkit-helpers.[ch].
1691
1692         * system-settings/src/Makefile.am: Build new files.
1693
1694         * system-settings/plugins/keyfile/reader.c 
1695         (read_array_of_array_of_uint): Make it more general so that it would
1696         work for routes as well.
1697
1698         * system-settings/plugins/keyfile/writer.c
1699         (write_array_of_array_of_uint): Ditto.
1700         Fix the netmask/prefix writing.
1701
1702         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1703         boolean to notify errors.
1704
1705         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1706         Return more specific error.
1707         (delete): Ditto.
1708
1709 2008-07-11  Dan Williams  <dcbw@redhat.com>
1710
1711         Modify the NMDevice::state-changed signal to include the previous state
1712         and reason. Enables the applet to provide more information why device
1713         activation failed.
1714
1715 2008-07-09  Dan Williams  <dcbw@redhat.com>
1716
1717         * callouts/Makefile.am
1718           callouts/nm-avahi-autoipd-action.c
1719           callouts/nm-avahi-autoipd.conf
1720                 - avahi-autoipd callout to send options back to NM
1721
1722         * src/autoip.c
1723           src/autoip.h
1724                 - remove
1725
1726         * src/nm-device.c
1727           src/nm-device-private.h
1728           src/nm-manager.c
1729                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1730                         old custom stuff
1731
1732 2008-07-07  Dan Williams  <dcbw@redhat.com>
1733
1734         * system-settings/plugins/ifcfg-fedora/reader.c
1735                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1736                         handle PREFIX too; clean up
1737
1738 2008-07-07  Dan Williams  <dcbw@redhat.com>
1739
1740         Convert to using IPv4 prefixes instead of netmasks.
1741
1742 2008-07-03  Dan Williams  <dcbw@redhat.com>
1743
1744         * libnm-util/nm-setting-ip4-config.c
1745           libnm-util/nm-setting-ip4-config.h
1746                 - Add properties for DHCP Client Identifier and DHCP Hostname
1747
1748         * src/dhcp-manager/nm-dhcp-manager.c
1749           src/dhcp-manager/nm-dhcp-manager.h
1750                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1751                         setting as an argument to pass on to the dhclient config file
1752                         creation function
1753                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1754                         DHCP is torn down
1755                 - (dhclient_run): punt config file handling to create_dhclient_config()
1756                 - (create_dhclient_config): create an interface-specific dhclient
1757                         config file since there may need to be interface-specific options
1758                         passed to dhclient
1759                 - (merge_dhclient_config): merge normal distro dhclient config file and
1760                         add options from the connection
1761                 - (nm_dhcp_device_new): generate the interface specific dhclient
1762                         config file path once
1763                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1764                         dhclient config file path
1765
1766         * src/nm-device.c
1767                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1768                         DHCP manager when starting DHCP
1769
1770 2008-07-02  Dan Williams  <dcbw@redhat.com>
1771
1772         * libnm-util/nm-setting-8021x.c
1773                 - (verify): allow forcing the PEAP label to 0
1774
1775 2008-07-02  Dan Williams  <dcbw@redhat.com>
1776
1777         * introspection/nm-active-connection.xml
1778           introspection/nm-vpn-connection.xml
1779           libnm-glib/nm-active-connection.c
1780           src/nm-activation-request.c
1781           src/nm-active-connection.h
1782           src/vpn-manager/nm-vpn-connection.c
1783                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1784                         and libnm-glib API since sharing didn't get implemented that way
1785
1786 2008-07-02  Dan Williams  <dcbw@redhat.com>
1787
1788         * src/nm-device-wifi.c
1789                 - (can_scan): don't scan when a shared connection is activated since
1790                         that makes drivers mad (causing disconnects); also NM doesn't need
1791                         to hedge against disconnects by keeping up-to-date network topology
1792                         because the connection originates from the local machine, and thus
1793                         there should be no disconnects
1794
1795 2008-07-01  Dan Williams  <dcbw@redhat.com>
1796
1797         Fix mobile broadband username/password issues.  NM was never requesting
1798         mobile broadband secrets, nor was it passing back the username and password
1799         if it had them.
1800
1801         * marshallers/nm-marshal.list
1802                 - Add some new types for activation request objects
1803
1804         * src/nm-activation-request.c
1805           src/nm-activation-request.h
1806                 - (get_secrets_cb): pass the caller type in the signal
1807                 - (nm_act_request_request_connection_secrets): take a caller type, so
1808                         that GetSecrets() reply handlers know who asked for the secrets in
1809                         the first place; use secret hints too so the settings service can
1810                         figure out exactly what NM wants (ie, PIN or the PPP password)
1811
1812         * src/ppp-manager/nm-ppp-manager.c
1813           src/ppp-manager/nm-ppp-manager.h
1814                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1815                         detect needed secrets when the secret could be blank, like GSM/CDMA
1816                         passwords.  So always ask for secrets, and send a hint as to what
1817                         secret we really want.
1818                 - (nm_ppp_manager_update_secrets): make function more generic by making
1819                         the device specific class figure out the username and password, and
1820                         accept an error argument to return back over D-Bus
1821
1822         * src/nm-device-wifi.c
1823                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1824                         nm_act_request_request_connection_secrets()
1825                 - (real_connection_secrets_updated): update for 'caller' changes
1826
1827         * src/nm-device.c
1828           src/nm-device.h
1829                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1830                         for 'caller' changes
1831
1832         * src/nm-device-ethernet.c
1833                 - (real_connection_secrets_updated): update for 'caller' changes and
1834                         move logic for getting PPPoE username and password here before
1835                         calling nm_ppp_manager_update_secrets()
1836                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1837                         nm_act_request_request_connection_secrets()
1838
1839         * src/nm-cdma-device.c
1840                 - (real_connection_secrets_updated): pass username and password back
1841                         to the PPP manager when required
1842
1843         * src/nm-gsm-device.c
1844                 - (enter_pin): send the required secret name to the settings service
1845                 - (real_connection_secrets_updated): pass username and password back
1846                         to the PPP manager when required
1847
1848 2008-06-30  Dan Williams  <dcbw@redhat.com>
1849
1850         * src/nm-device-wifi.c
1851                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1852
1853 2008-06-30  Dan Williams  <dcbw@redhat.com>
1854
1855         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1856         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1857         priv->supplicant.iface.  When either condition is false, the device should
1858         transition back to UNAVAILABLE because it cannot be used.
1859
1860         * src/nm-device-wifi.c
1861                 - (constructor): cleanup; connect to supplicant manager here since the
1862                         supplicant manager is always around
1863                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1864                         ensure the supplicant manager is in the IDLE state
1865                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1866                         cancel any pending scans too
1867                 - (real_bring_up): don't set up the supplicnat interface here, because
1868                         we need the supplicant interface at times when the device may not
1869                         be "up"
1870                 - (real_take_down): just remove the periodic source
1871                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1872                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1873                         do anything if there's no supplicant interface
1874                 - (cleanup_association_attempt): cleanup
1875                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1876                         the interface enters the READY state; transition to UNAVAILABLE
1877                         state when the interface goes down because the device can't be used
1878                         without a supplicant interface
1879                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1880                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1881                         acquire the supplicant interface and transition to DISCONNECTED
1882                         if the radio isn't killed
1883                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1884                 - (state_changed_cb): release any existing supplicant interface; if the
1885                         radio is enabled then try to acquire a new supplicant interface;
1886                         if the radio is enabled and a supplicant interface has been acquired,
1887                         we can transition to DISCONNECTED
1888                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1889                         don't enable the radio, because HAL probably lied to us about the
1890                         killswitch being off.  If bringing the hardware up worked, then
1891                         try to grab a supplicant interface, and if that was successful,
1892                         transition to DISCONNECTED
1893
1894 2008-06-30  Dan Williams  <dcbw@redhat.com>
1895
1896         * src/supplicant-manager/nm-supplicant-interface.c
1897                 - (request_scan_results, nm_supplicant_interface_dispose,
1898                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1899                         the id of the timeout, not a GSource
1900
1901 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1902
1903         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1904         bunch of typoes introduced by "Patch from David Cantrell 
1905         <dcantrell@redhat.com> and me".
1906
1907 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1908
1909         * src/nm-serial-device.c: 
1910         * src/nm-gsm-device.c: 
1911         * src/nm-cdma-device.c: Move the pending call handling to a common location
1912         in serial device. Handle setting device state to failed in one place as well.
1913
1914 2008-06-29  Dan Williams <dcbw@redhat.com>
1915
1916         * src/nm-hal-manager.c
1917                 - Rework killswitch handling to query killswitch status immediately
1918                         when the first killswitch is added, so that rfkill state is
1919                         known as early as possible
1920                 - Also treat failure of GetPower() as rfkill when the dbus method
1921                         call times out (but not when the HAL callout returns an error)
1922
1923 2008-06-26  Dan Williams <dcbw@redhat.com>
1924
1925         Patch from David Cantrell <dcantrell@redhat.com> and me
1926
1927         * include/nm-dbus-glib-types.h
1928                 - Add IP6 address types
1929
1930         * libnm-util/Makefile.am
1931           libnm-util/nm-setting-ip6-config.c
1932           libnm-util/nm-setting-ip6-config.h
1933                 - Add IP6 settings object
1934
1935         * libnm-util/nm-connection.c
1936                 - (register_default_settings): register ip6 settings object
1937
1938         * libnm-util/nm-utils.c
1939           libnm-util/nm-utils.h
1940                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
1941                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
1942                         ip6 address conversion functions
1943         
1944 2008-06-26  Dan Williams <dcbw@redhat.com>
1945
1946         Patch from David Cantrell <dcantrell@redhat.com>
1947         
1948         * Use inet_ntop() and inet_pton() everwhere and check for errors
1949
1950 2008-06-26  Dan Williams <dcbw@redhat.com>
1951
1952         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
1953
1954 2008-06-26  Dan Williams <dcbw@redhat.com>
1955
1956         Patch from Adel Gadllah <adel.gadllah@gmail.com>
1957
1958         * src/nm-device-wifi.c
1959                 - (link_timeout_cb): don't ignore disconnects due to scanning
1960                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
1961                         a longer timeout when scanning; avoids case where supplicant can't
1962                         find the AP and just keeps scanning forever but isn't connected
1963
1964 2008-06-26  Dan Williams <dcbw@redhat.com>
1965
1966         Patch from Michael Biebl <biebl@debian.org>
1967
1968         * Clean up build system stuff
1969
1970 2008-06-23  Christian Persch  <chpe@gnome.org>
1971
1972         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
1973         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
1974         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
1975         (impl_get_object):
1976         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
1977         (impl_get_object):
1978         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
1979         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
1980         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
1981         (impl_get_object):
1982         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
1983         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
1984         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
1985         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
1986         * vpn-daemons/pptp/properties/vpnui_opt.c:
1987         (vpnui_opt_connect_signals):
1988         * vpn-daemons/pptp/properties/vpnui_opt.h:
1989         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
1990         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
1991         deprecated gtk type macros. Bug #539325.
1992
1993 2008-06-20  Dan Williams  <dcbw@redhat.com>
1994
1995         * libnm-glib/nm-vpn-plugin-ui-interface.c
1996           libnm-glib/nm-vpn-plugin-ui-interface.h
1997                 - 'validity-changed' -> 'changed' to work better with the connection
1998                         editor.  Plugin UI widgets should emit 'changed' whenever their
1999                         UI values change in a meaningful way.
2000                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2001                         update_connection member now returns validity of the UI widget
2002
2003 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2004
2005         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2006
2007 2008-06-17  Dan Williams  <dcbw@redhat.com>
2008
2009         * libnm-glib/nm-vpn-plugin-ui-interface.c
2010           libnm-glib/nm-vpn-plugin-ui-interface.h
2011                 - Add "desc" property for longer descriptions of the VPN plugin
2012
2013 2008-06-16  Dan Williams  <dcbw@redhat.com>
2014
2015         * configure.in
2016           libnm-glib/libnm_glib_vpn.pc.in
2017                 - add a .pc file for libnm_glib_vpn
2018
2019         * libnm-glib/nm-vpn-plugin-ui-interface.c
2020           libnm-glib/nm-vpn-plugin-ui-interface.h
2021                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2022                         rework it substantially
2023
2024 2008-06-12  Dan Williams  <dcbw@redhat.com>
2025
2026         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2027         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2028         returns a descriptive GError when verification fails.
2029
2030 2008-06-11  Dan Williams  <dcbw@redhat.com>
2031
2032         Patch from Tambet Ingo <tambet@gmail.com>
2033
2034         * libnm-util/nm-setting-gsm.c
2035                 - (verify): validate APN
2036
2037         * src/nm-gsm-device.c
2038                 - (manual_registration_done): start setting APN if needed
2039                 - (set_apn, set_apn_done): set the APN
2040                 - (do_dial): use the APN when dialing
2041
2042 2008-06-11  Dan Williams  <dcbw@redhat.com>
2043
2044         * src/NetworkManagerSystem.c
2045                 - (nm_system_device_set_ip4_route,
2046                    nm_system_device_replace_default_ip4_route): check for the right
2047                         return value from rtnl_route_add() to know when to add a gateway
2048                         route (from Tambet)
2049
2050 2008-06-11  Dan Williams  <dcbw@redhat.com>
2051
2052         * src/NetworkManagerPolicy.c
2053                 - do_ipt_cmd -> do_cmd
2054                 - (sharing_init): use do_cmd() instead of system()
2055
2056 2008-06-10  Dan Williams  <dcbw@redhat.com>
2057
2058         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2059         and use "wifi" everwhere instead.
2060
2061 2008-06-10  Dan Williams  <dcbw@redhat.com>
2062
2063         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2064
2065 2008-06-10  Dan Williams  <dcbw@redhat.com>
2066
2067         Patch from Tambet Ingo <tambet@gmail.com>
2068
2069         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2070                 changes.
2071
2072         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2073                 a signal to emit these changes over dbus.
2074
2075         * src/Makefile.am: Genereate nm-serial-device-glue.
2076
2077         * libnm-glib/nm-serial-device.[ch]: Implement.
2078
2079         * libnm-glib/nm-cdma-device.[ch]
2080           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2081
2082         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2083
2084         * introspection/nm-device-serial.xml: Implement.
2085
2086         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2087
2088         * introspection/Makefile.am: Add nm-device-serial.xml.
2089
2090         * include/NetworkManager.h: Add a DBus interface for serial device.
2091
2092 2008-06-10  Dan Williams  <dcbw@redhat.com>
2093
2094         * configure.in
2095                 - Add TARGET_* define to config.h to distinguish distros
2096
2097         * src/dhcp-manager/nm-dhcp-manager.c
2098                 - (dhclient_run): use distro-specific path for dhclient config file
2099
2100 2008-06-09  Dan Williams  <dcbw@redhat.com>
2101
2102         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2103           src/dnsmasq-manager/nm-dnsmasq-manager.h
2104                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2105                         calculate the addresses passed to dnsmasq instead of hard-coding
2106                         them
2107
2108         * src/nm-device.c
2109                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2110                         IP addresses for shared connections to guard against shared
2111                         connection address collisions
2112                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2113                         error conditions
2114                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2115                         the dnsmasq manager
2116
2117 2008-06-09  Dan Williams  <dcbw@redhat.com>
2118
2119         * src/NetworkManagerPolicy.c
2120                 - (update_routing_and_dns): set the default connection _after_ unsetting
2121                         default on all non-default connections so that two connections can
2122                         never be default at the same time
2123                 - (device_state_changed): start and stop connection sharing when
2124                         needed
2125                 - (active_connection_default_changed): restart or stop sharing when
2126                         the default connection changes to keep shared connections always
2127                         NAT-ed through the default connection
2128                 - (check_sharing): handle activation/deactivation of shared connections
2129                 - (sharing_restart): atom-bomb approach to connection sharing until we
2130                         can use libnl; reinit all sharing when the default connection or
2131                         shared connections change
2132                 - (sharing_init, sharing_stop): evil functions that init and deinit
2133                         iptables
2134
2135 2008-06-09  Dan Williams  <dcbw@redhat.com>
2136
2137         * src/nm-activation-request.c
2138           src/nm-activation-request.h
2139                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2140                    nm_act_request_get_device): new functions to facilitate connection
2141                         sharing
2142
2143 2008-06-09  Dan Williams  <dcbw@redhat.com>
2144
2145         * src/nm-device.c
2146                 - (clear_act_request): unset the 'default' property of the activation
2147                         request when clearing it to ensure the property changed signal gets
2148                         delivered and handled
2149
2150 2008-06-09  Dan Williams  <dcbw@redhat.com>
2151
2152         * libnm-glib/nm-device-802-11-wireless.c
2153                 - (access_point_removed_proxy): actually unref the AP after removing
2154                         it from the device's AP list.  Fixes refcounting bug for APs that
2155                         caused them to get mixed up in the applet's menu.
2156
2157 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2158
2159         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2160         (nm_dhcp_device_destroy): Destroy the device options hash table.
2161
2162 2008-06-06  Dan Williams <dcbw@redhat.com>
2163
2164         * system-settings/src/nm-polkit-helpers.c
2165                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2166                         unref the context if the initialization fails; also avoid spew when
2167                         the error isn't set
2168
2169 2008-06-06  Dan Williams <dcbw@redhat.com>
2170
2171         Patch from Tambet Ingo  <tambet@gmail.com>
2172
2173         * src/NetworkManagerSystem.c
2174           src/NetworkManagerSystem.h
2175                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2176                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2177                 - (nm_system_device_set_ip4_route): clean up
2178                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2179
2180         * src/nm-device.c
2181                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2182
2183         * src/vpn-manager/nm-vpn-connection.c
2184                 - (ip_address_to_string): new function
2185                 - (print_vpn_config): use ip_address_to_string
2186                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2187                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2188
2189         * include/NetworkManagerVPN.h
2190                 - Add 'routes' key
2191
2192 2008-06-05  Dan Williams <dcbw@redhat.com>
2193
2194         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2195
2196         * test/nm-tool.c
2197                 - Show which device is the default device
2198
2199 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2200
2201         Fix memory leaks.
2202
2203         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2204         Free data returned from dbus method call.
2205
2206         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2207         dbus_g_method_get_sender() returns a duplicated string, free it 
2208         when done.
2209         (check_polkit_privileges): Looks like policykit sometimes returns
2210         error and non-null return value, don't leak errors in that case.
2211
2212         * system-settings/src/main.c (find_plugin): Don't leak existing 
2213         plugin names.
2214         (load_stuff): Don't leak device list and list items.
2215         (have_connection_for_device): Don't leak connection list.
2216
2217         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2218         Free the data received from g_keyfile_get_*.
2219
2220         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2221         the key when the security object is updated.
2222
2223         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2224         Free data returned from dbus method call.
2225         (iface_state_cb): Ditto.
2226         (add_network_cb): Ditto.
2227         (nm_supplicant_interface_add_cb): Don't make another copy of already
2228         duplicated object path.
2229         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2230         when done.
2231
2232         * src/supplicant-manager/nm-supplicant-config.c 
2233         (ADD_STRING_LIST_VAL): Fix a memory leak.
2234
2235         * src/nm-manager.c (free_get_settings_info): Free the allocated
2236         memory slice.
2237         (list_connections_cb): Free data returned from dbus method call.
2238         (system_settings_get_unmanaged_devices_cb): Ditto.
2239
2240         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2241
2242         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2243         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2244         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2245         of the GList.
2246
2247         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2248         arguments after the object is created.
2249
2250 2008-06-04  Dan Williams <dcbw@redhat.com>
2251
2252         * libnm-util/Makefile.am
2253                 - Don't distribute nm-param-spec-specialized.h
2254
2255 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2256
2257         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2258
2259         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2260         NMIP4Address, update the getters and setters.
2261
2262         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2263         Use the updated NMIP4Config routes api.
2264
2265         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2266         static routes as well.
2267
2268         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2269         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2270         routes api.
2271
2272 2008-05-30  Dan Williams <dcbw@redhat.com>
2273
2274         * src/named-manager/nm-named-manager.c
2275           src/named-manager/nm-named-manager.h
2276                 - Remove stale/obsolete bits for controlling bind over DBus
2277
2278 2008-05-29  Dan Williams <dcbw@redhat.com>
2279
2280         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2281           src/dnsmasq-manager/nm-dnsmasq-manager.h
2282                 - (nm_dnsmasq_manager_new): move iface argument here
2283                 - (constructor): remove, not needed
2284                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2285                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2286
2287         * src/nm-device.c
2288                 - (real_act_stage4_get_ip4_config,
2289                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2290                         changes
2291
2292 2008-05-29  Dan Williams <dcbw@redhat.com>
2293
2294         * src/nm-device.c
2295                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2296                         something happens to dnsmasq
2297                 - (nm_device_new_ip4_shared_config): new function; create a new
2298                         ip4-config for shared connections.  Shared connections always use a
2299                         fixed static IP address.
2300                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2301                         autoip connections by actually using the returned ip4-config and
2302                         not leaking it
2303                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2304                         connections
2305                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2306                         if its active
2307
2308 2008-05-29  Dan Williams <dcbw@redhat.com>
2309
2310         * src/nm-device-802-11-wireless.c
2311                 - (real_get_best_auto_connection): auto-activate 'shared' method
2312                         connections too
2313
2314 2008-05-29  Dan Williams <dcbw@redhat.com>
2315
2316         * libnm-util/nm-setting-ip4-config.c
2317           libnm-util/nm-setting-ip4-config.h
2318                 - Add a 'shared' method to indicate that this connection should be
2319                         brought up with a DHCP and proxy DNS server to facilitate
2320                         connection sharing.
2321                 - (verify): 'shared' method doesn't allow DNS or searches either
2322
2323 2008-05-29  Dan Williams <dcbw@redhat.com>
2324
2325         * configure.in
2326           src/Makefile.am
2327           src/dnsmasq-manager/Makefile.am
2328           src/dnsmasq-manager/nm-dnsmasq-manager.c
2329           src/dnsmasq-manager/nm-dnsmasq-manager.h
2330                 - Add a dnsmasq daemon manager to facilitate connection sharing
2331
2332 2008-05-29  Dan Williams <dcbw@redhat.com>
2333
2334         * src/nm-device-private.h
2335                 - Remove unused prototypes and clean up
2336
2337         * src/nm-device.c
2338                 - Remove anything related to system_config_data, which is no longer used
2339                 - (nm_device_new_ip4_autoip_config): make static
2340
2341 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2342
2343         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2344         (file_changed): Fix a bug where suse system settings plugin didn't
2345         update the connections automatically when the files changed.
2346
2347 2008-05-28  Dan Williams  <dcbw@redhat.com>
2348
2349         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2350
2351 2008-05-28  Dan Williams  <dcbw@redhat.com>
2352
2353         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2354
2355         * src/NetworkManagerSystem.c
2356                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2357                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2358                         was causing -EINVAL errors since the libnl code actually does flush
2359                         the routes on VPN interfaces now
2360
2361         * src/backends/NetworkManagerArch.c
2362           src/backends/NetworkManagerDebian.c
2363           src/backends/NetworkManagerFrugalware.c
2364           src/backends/NetworkManagerGeneric.c
2365           src/backends/NetworkManagerGentoo.c
2366           src/backends/NetworkManagerMandriva.c
2367           src/backends/NetworkManagerPaldo.c
2368           src/backends/NetworkManagerRedHat.c
2369           src/backends/NetworkManagerSlackware.c
2370           src/backends/NetworkManagerSuSE.c
2371                 - (nm_system_device_flush_ip4_routes,
2372                    nm_system_device_flush_ip4_routes_with_iface): remove
2373
2374 2008-05-28  Dan Williams  <dcbw@redhat.com>
2375
2376         * libnm-util/nm-setting-wireless.c
2377           libnm-util/nm-setting-wireless.h
2378                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2379                         'adhoc-create' property, which when TRUE indicates that NM should
2380                         create this connection as an adhoc wifi network if it's not found
2381                         as an adhoc network during scanning.  Can be used to auto-create
2382                         adhoc networks when used in combination with autoconnect.
2383
2384 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2385
2386         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2387
2388         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2389         checked, it doesn't work on some devices.
2390
2391 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2392
2393         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2394         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2395
2396         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2397         Use inet_aton() everywhere to improve error detection.
2398         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2399         provided.
2400
2401 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2402
2403         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2404         Fix a typo.
2405
2406 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2407
2408         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2409         reference counting issue.
2410
2411 2008-05-23  Dan Williams  <dcbw@redhat.com>
2412
2413         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2414
2415         * src/backends/NetworkManagerGeneric.c
2416                 - (nm_generic_enable_loopback): use libnl
2417
2418 2008-05-23  Dan Williams  <dcbw@redhat.com>
2419
2420         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2421
2422         * src/NetworkManagerSystem.h
2423           src/backends/NetworkManagerArch.c
2424           src/backends/NetworkManagerDebian.c
2425           src/backends/NetworkManagerFrugalware.c
2426           src/backends/NetworkManagerGentoo.c
2427           src/backends/NetworkManagerMandriva.c
2428           src/backends/NetworkManagerPaldo.c
2429           src/backends/NetworkManagerRedHat.c
2430           src/backends/NetworkManagerSlackware.c
2431           src/backends/NetworkManagerSuSE.c
2432                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2433                    nm_system_flush_arp_cache): remove, unused
2434
2435         * src/backends/NetworkManagerGeneric.c
2436           src/backends/NetworkManagerGeneric.h
2437                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2438                    nm_generic_flush_arp_cache): remove, unused
2439
2440 2008-05-23  Dan Williams  <dcbw@redhat.com>
2441
2442         * system-settings/plugins/ifcfg-fedora/reader.c
2443                 - (make_ip4_setting): honor PEERDNS setting
2444
2445 2008-05-23  Dan Williams  <dcbw@redhat.com>
2446
2447         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2448
2449         * src/NetworkManagerSystem.c
2450                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2451                         libnl
2452
2453         * src/backends/NetworkManagerArch.c
2454           src/backends/NetworkManagerDebian.c
2455           src/backends/NetworkManagerFrugalware.c
2456           src/backends/NetworkManagerGentoo.c
2457           src/backends/NetworkManagerMandriva.c
2458           src/backends/NetworkManagerPaldo.c
2459           src/backends/NetworkManagerRedHat.c
2460           src/backends/NetworkManagerSlackware.c
2461           src/backends/NetworkManagerSuSE.c
2462                 - (nm_system_device_flush_ip4_addresses,
2463                    nm_system_device_flush_ip4_addresses_with_iface): remove
2464
2465         * src/backends/NetworkManagerGeneric.c
2466                 - (nm_generic_device_flush_ip4_addresses,
2467                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2468
2469 2008-05-23  Dan Williams  <dcbw@redhat.com>
2470
2471         * src/supplicant-manager/nm-supplicant-settings-verify.c
2472                 - Switch 'bssid' from bytes to keyword type
2473                 - (validate_type_keyword): allow NULL keyword lists
2474
2475         * src/supplicant-manager/nm-supplicant-config.c
2476                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2477                         a byte array to string form, which is what the supplicant expects
2478
2479 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2480
2481         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2482         information received from DHCP.
2483
2484         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2485         to make it possible to ignore the DNS information (both servers and 
2486         searches) returned by DHCP server.
2487
2488         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2489         name servers and searches if "ignore_dhcp_dns" is set.
2490
2491         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2492         (nm_ip4_config_reset_searches): Implement.
2493
2494 2008-05-22  Dan Williams  <dcbw@redhat.com>
2495
2496         Remove anything mDNS related.  This is better done from a distro-specific
2497         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2498         avahi, since avahi can handle interface changes just fine using netlink.
2499
2500         * configure.in
2501                 - Remove --with-mdns-provider
2502
2503         * src/NetworkManagerPolicy.c
2504                 - (global_state_changed): don't restart the mdns provider
2505
2506         * src/NetworkManagerSystem.h
2507           src/backends/NetworkManagerArch.c
2508           src/backends/NetworkManagerDebian.c
2509           src/backends/NetworkManagerFrugalware.c
2510           src/backends/NetworkManagerGentoo.c
2511           src/backends/NetworkManagerMandriva.c
2512           src/backends/NetworkManagerPaldo.c
2513           src/backends/NetworkManagerRedHat.c
2514           src/backends/NetworkManagerSlackware.c
2515           src/backends/NetworkManagerSuSE.c
2516                 - (nm_system_restart_mdns_responder): remove
2517
2518         * src/backends/NetworkManagerGeneric.c
2519           src/backends/NetworkManagerGeneric.h
2520                 - (nm_generic_restart_mdns_responder): remove
2521
2522 2008-05-22  Dan Williams  <dcbw@redhat.com>
2523
2524         * configure.in
2525                 - clean up crypto options; just use --with-crypto=nss or
2526                         --with-crypto=gnutls
2527
2528 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2529
2530         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2531         anymore, do it right away.
2532
2533 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2534
2535         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2536         serial device open when we're not connecting or connected.
2537
2538         * src/nm-cdma-device.c (device_state_changed): Ditto.
2539
2540 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2541
2542         Don't remove all devices on waking up, sync with HAL.
2543
2544         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2545         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2546         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2547
2548 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2549
2550         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2551         If the default gateway is unreachable, add a route to gateway and try
2552         again.
2553
2554 2008-05-20  Dan Williams  <dcbw@redhat.com>
2555
2556         * system-settings/plugins/ifcfg-fedora/reader.c
2557                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2558
2559 2008-05-19  Dan Williams  <dcbw@redhat.com>
2560
2561         * system-settings/plugins/ifcfg-fedora/reader.c
2562                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2563                         if the ifcfg doesn't specify one (rh #446527)
2564
2565 2008-05-19  Dan Williams  <dcbw@redhat.com>
2566
2567         Make the system settings service exit when the bus goes away.  Since it's
2568         a bus-activated service, it's lifetime is limited to the bus that activated
2569         it (rh #444976).
2570
2571         * system-settings/src/Makefile.am
2572           system-settings/src/nm-system-config-hal-manager-private.h
2573                 - Remove nm-system-config-hal-manager-private.h
2574
2575         * system-settings/src/nm-system-config-hal-manager.c
2576                 - (nm_system_config_hal_manager_reinit_dbus,
2577                    nm_system_config_hal_manager_deinit_dbus): remove
2578
2579         * system-settings/src/main.c
2580                 - (dbus_reconnect): remove
2581                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2582                 - (destroy_cb): just quit when the bus goes away
2583                 - (start_dbus_service, dbus_init): simplify
2584                 - (main): destroy the wired devices hash table after destroying
2585                         the HAL manager so we don't have to disconnect signals from the
2586                         HAL manager
2587
2588 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2589
2590         Move crypto functions from nm-applet to libnm-util.
2591
2592         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2593         (nm_setting_802_1x_set_client_cert)
2594         (nm_setting_802_1x_set_phase2_ca_cert)
2595         (nm_setting_802_1x_set_phase2_client_cert)
2596         (nm_setting_802_1x_set_private_key)
2597         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2598         file (or private key and it's password), read the certificate data.
2599
2600         * libnm-util/crypto_nss.c: 
2601         * libnm-util/crypto_gnutls.c: 
2602         * libnm-util/crypto.[ch]: Move here from nm-applet.
2603
2604         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2605
2606         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2607         Imlement WPA-EAP configuration reading from sysconfig.
2608
2609 2008-05-16  Dan Williams  <dcbw@redhat.com>
2610
2611         * src/nm-device-802-11-wireless.c
2612                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2613                         wireless
2614
2615 2008-05-14  Dan Williams  <dcbw@redhat.com>
2616
2617         Fix Linus' bug in rh #134886
2618
2619         * src/nm-device-802-3-ethernet.c
2620                 - (constructor): request initial carrier state
2621
2622         * src/nm-netlink-monitor.c
2623                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2624                         signals after refilling the link cache.  Because the refill is a 
2625                         synchronous operation, the normal message hander won't get called
2626                         since libnl has already consumed the messages.
2627                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2628
2629 2008-05-14  Dan Williams  <dcbw@redhat.com>
2630
2631         * src/NetworkManagerSystem.c
2632                 - (nm_system_device_is_up_with_iface): clean up
2633
2634 2008-05-13  Dan Williams  <dcbw@redhat.com>
2635
2636         Fix refcounting issues over sleep/wake when a VPN connection was active that
2637         caused NM to try registering an object path for a device upon wake that was
2638         the same as an already registered object path.
2639
2640         * src/nm-device.c
2641                 - (nm_device_take_down): properly handle cases where the device is
2642                         no longer active but was just active, and therefore must be
2643                         deactivated.  When a device moves to unmanaged mode, this function
2644                         previously would not deactivate the device, because the state was
2645                         already unmanaged by the time this function was called.
2646
2647         * src/vpn-manager/nm-vpn-connection.c
2648                 - (device_state_changed): properly handle multiple devices states in
2649                         which the device is now deactivated.  Code previously didn't handle
2650                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2651                         UNMANAGED states.
2652
2653 2008-05-13  Dan Williams  <dcbw@redhat.com>
2654
2655         * src/nm-device-private.h
2656           src/nm-device.c
2657                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2658
2659         * src/nm-device-802-11-wireless.c
2660                 - (nm_device_802_11_wireless_set_enabled): take devices up
2661                         and down as appropriate for the rfkill state
2662
2663 2008-05-13  Dan Williams  <dcbw@redhat.com>
2664
2665         * marshallers/nm-marshal.list
2666                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2667
2668         * system-settings/plugins/ifcfg-fedora/Makefile.am
2669           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2670           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2671                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2672                         events.  Solely for use watching ifcfg files to pick up changes
2673                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2674
2675         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2676                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2677                         file contents change
2678                 - (finalize): clean up inotify watches
2679                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2680                         and the connection ifcfg for changes on their hardlinks
2681                 - (files_changed_cb): proxy the changed signal back out to listeners
2682
2683         * system-settings/plugins/ifcfg-fedora/plugin.c
2684                 - (dir_changed): 
2685                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2686                         changes
2687                 - (read_one_connection): connect to change signals on the new connection
2688                 - (dir_changed, connection_changed_handler,
2689                    handle_connection_remove_or_new): break out connection change
2690                         handling and connection new/remove handling so it can be used from
2691                         both the GFileMonitor callback and the NMIfcfgConnection changed
2692                         signals
2693
2694         * system-settings/plugins/ifcfg-fedora/reader.c
2695           system-settings/plugins/ifcfg-fedora/reader.h
2696                 - (connection_from_file): return the keyfile path the connection would use
2697
2698 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2699
2700         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2701         single PolKitContext which is shared by all. PolKitContext::unref leaks
2702         just about everything, including all open file descriptiors and results
2703         in 99% cpu usage when data arrives to any of the fds that don't belong
2704         to any context anymore.
2705
2706 2008-05-12  Dan Williams  <dcbw@redhat.com>
2707
2708         * gfilemonitor/glocaldirectorymonitor.c
2709           gfilemonitor/glocaldirectorymonitor.h
2710                 - (g_local_directory_monitor_constructor): actually subscribe to the
2711                         watch
2712                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2713
2714         * gfilemonitor/glocalfilemonitor.c
2715           gfilemonitor/glocalfilemonitor.h
2716                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2717                 - (_g_local_file_monitor_new): ensure that inotify is started up
2718
2719 2008-05-11  Dan Williams  <dcbw@redhat.com>
2720
2721         * configure.in
2722                 - record PolicyKit version
2723
2724         * system-settings/src/nm-polkit-helpers.c
2725                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2726                         with PolicyKit <= 0.6
2727
2728 2008-05-11  Dan Williams  <dcbw@redhat.com>
2729
2730         Update Fedora system-settings plugin to support latest API and use
2731         GFileMonitor rather than home-rolled inotify code.
2732
2733         * system-settings/plugins/ifcfg-fedora/Makefile.am
2734           system-settings/plugins/ifcfg-fedora/common.h
2735           system-settings/plugins/ifcfg-fedora/plugin.c
2736                 - Update to latest system settings plugin API; use GIO instead of
2737                         custom inotify code; use NMIfcfgConnection objects instead of
2738                         ConnectionData structures tacked onto NMConnection objects
2739
2740         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2741           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2742                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2743                         connections
2744
2745         * system-settings/plugins/ifcfg-fedora/reader.c
2746           system-settings/plugins/ifcfg-fedora/reader.h
2747                 - Move ifcfg parsing bits here from parser.c
2748
2749         * system-settings/plugins/ifcfg-fedora/parser.c
2750           system-settings/plugins/ifcfg-fedora/parser.h
2751                 - Remove; most code moved to reader.c
2752
2753 2008-05-11  Dan Williams  <dcbw@redhat.com>
2754
2755         * configure.in
2756           Makefile.am
2757           gfilemonitor/*
2758                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2759                         implementation, so that the same change monitoring code can be used
2760                         on systems without glib-2.14 (like Fedora 8)
2761
2762         * system-settings/plugins/keyfile/Makefile.am
2763           system-settings/plugins/keyfile/plugin.c
2764           system-settings/plugins/ifcfg-suse/Makefile.am
2765           system-settings/plugins/ifcfg-suse/plugin.c
2766                 - Use private gfilemonitor code if GIO is not present
2767
2768 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2769
2770         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2771         NMExportedConnection's 'update' and 'delete' and return error with
2772         descriptive message.
2773
2774 2008-05-08  Dan Williams  <dcbw@redhat.com>
2775
2776         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2777
2778         * src/nm-gsm-device.c
2779           src/nm-cdma-device.c
2780                 - (real_get_best_auto_connection): implement; allow autoconnection
2781                         to GSM & CDMA devices
2782
2783 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2784
2785         Use PolicyKit to authorize the system settings' AddConnection method
2786         and the system settings connections' Update and Delete methods.
2787         
2788         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2789         (impl_exported_connection_delete, nm_exported_connection_update)
2790         (nm_exported_connection_delete): Return boolean and fill GError
2791         to notify the callers of the reasons why it might have failed.
2792
2793         * libnm-glib/nm-dbus-settings-system.c
2794         (nm_dbus_settings_system_add_connection): Return the error from dbus
2795         call so that the callers can see why it failed.
2796
2797         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2798         signatures.
2799
2800         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2801
2802         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2803         abstract base class that checks PolicyKit permissions.
2804
2805         * system-settings/src/dbus-settings.c:
2806         (impl_settings_add_connection): Check the policy before carring out
2807         the request.
2808
2809         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2810         Inherit from NMSysconfigConnection, check the policies before
2811         allowing updating or removing.
2812
2813         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2814         Inherit from NMSysconfigConnection.
2815
2816         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2817         "Delete" methods with async flag so that the implementations can get
2818         access to DBusGMethodInvocation.
2819
2820         * system-settings/src/dbus-settings.c 
2821         (settings_add_connection_check_privileges): Implement.
2822         (impl_settings_add_connection): Check the privileges before adding a new
2823         connection. Improve error reporting.
2824
2825         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2826         async so that the implementation can access DBusGMethodInvocation.
2827
2828         * configure.in: Check for PolicyKit.
2829
2830         * policy/org.freedesktop.network-manager-settings.system.policy: 
2831         New file.
2832
2833         * policy/Makefile.am: Install the policy file.
2834
2835         * configure.in: Add 'policy' subdir.
2836
2837 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2838
2839         Rewrite the suse system settings plugin.
2840
2841         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2842
2843         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2844
2845         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2846
2847         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2848
2849         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2850
2851         * system-settings/src/main.c (load_plugins): Improve error reporting.
2852
2853         * system-settings/src/sha1.[ch] Add.
2854
2855         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2856
2857 2008-05-07  Dan Williams  <dcbw@redhat.com>
2858
2859         * system-settings/plugins/keyfile/reader.c
2860                 - (read_one_setting_value): handle IP address items separately
2861                 - (read_array_of_uint): read IPv4 DNS option as a string array
2862                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2863                         array
2864
2865         * system-settings/plugins/keyfile/writer.c
2866                 - (write_setting_value): handle IP address items separately
2867                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2868                         not an array of uint, so that it's user-editable
2869                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2870                         arrays, so they are user-editable
2871
2872 2008-05-07  Dan Williams  <dcbw@redhat.com>
2873
2874         * system-settings/plugins/keyfile/Makefile.am
2875                 - Change location of the keyfile plugin settings to
2876                         /etc/NetworkManager/system-connections
2877
2878 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2879
2880         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2881
2882         * system-settings/plugins/keyfile/plugin.c: Work with
2883         NMKeyfileConnections.
2884
2885         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2886         Plugins are supposed to return NMExportedConnections now and handle the
2887         updated(), removed(), and GetSecrets().
2888         Store the internal list of connections in hash table to make it easier
2889         to find duplicates.
2890
2891 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2892
2893         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2894         for multiple IP addresses.
2895
2896 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2897
2898         Patch from André Lemos.
2899
2900         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2901         corruption.
2902
2903 2008-05-06  Dan Williams  <dcbw@redhat.com>
2904
2905         * src/dhcp-manager/nm-dhcp-manager.c
2906                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2907                         NMIP4Config to support multiple IP addresses
2908
2909         * src/NetworkManagerUtils.c
2910                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2911
2912         * src/nm-ip4-config.c
2913           src/nm-ip4-config.h
2914                 - Store a list of IPv4 address/netmask/gateway tuples
2915                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2916                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2917                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2918                    nm_ip4_config_set_address): remove
2919                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
2920                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
2921                         new functions; handle multiple IPv4 addresses
2922
2923         * src/nm-device.c
2924           src/ppp-manager/nm-ppp-manager.c
2925           src/vpn-manager/nm-vpn-connection.c
2926           src/NetworkManagerPolicy.c
2927           test/nm-tool.c
2928           libnm-glib/libnm-glib-test.c
2929                 - update for changes to NMIP4Config for multiple IPv4 addresses
2930
2931         * src/NetworkManagerSystem.c
2932                 - (nm_system_device_set_ip4_route): don't add the route if any address
2933                         is on the same subnet as the destination
2934                 - (check_one_address): ignore the exact match, just match family and
2935                         interface index
2936                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
2937                         an interface
2938                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
2939                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
2940
2941         * introspection/nm-ip4-config.xml
2942                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
2943                 - Add 'addresses' property which is an array of (uuu) tuples of
2944                         address/netmask/gateway
2945
2946         * libnm-util/nm-setting-ip4-config.c
2947                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
2948
2949         * libnm-glib/nm-ip4-config.c
2950           libnm-glib/nm-ip4-config.h
2951                 - Handle D-Bus interface changes to support multiple IP addresses
2952
2953 2008-05-06  Dan Williams  <dcbw@redhat.com>
2954
2955         * libnm-util/nm-utils.c
2956           libnm-util/nm-utils.h
2957                 - (nm_utils_ip4_addresses_from_gvalue,
2958                    nm_utils_ip4_addresses_to_gvalue): new functions
2959
2960 2008-05-06  Tambet Ingo  <tambet@gmail.com>
2961
2962         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
2963         the returned connection paths.
2964
2965 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2966
2967         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
2968         "PropertiesChanged" signal signature.
2969
2970         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
2971         defined in nm-dbus-glib-types.h.
2972         Don't register the connection on dbus, we're a proxy class to 
2973         communicate with an already registered connection over dbus.
2974
2975 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2976
2977         Implement new subclasses of NMSettings and NMExportedConnection to make
2978         it easier for the applet to access and modify system settings.
2979
2980         * libnm-glib/nm-dbus-connection.[ch]:
2981         * libnm-glib/nm-dbus-settings.[ch]:
2982         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
2983
2984         * libnm-glib/Makefile.am: Add the new files to build, generate some more
2985         bindings and glue.
2986
2987         * include/NetworkManager.h: Define the system settings DBus interface.
2988
2989 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2990
2991         Implement additional C API for exported connections to make them identical
2992         with the DBus API. Change the (list_connections) virtual function to be
2993         more usable from C - instead of requiring implementers to return a GPtrArray
2994         of dbus paths, return a list of connections.
2995
2996         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
2997         (nm_settings_list_connections):
2998         (nm_exported_connection_new):
2999         (nm_exported_connection_update):
3000         (nm_exported_connection_delete): Implement.
3001
3002         (impl_settings_list_connections):
3003         (impl_exported_connection_update):
3004         (impl_exported_connection_delete): Use the new public functions to make 
3005         sure the C and dbus interfaces stay in sync.
3006
3007         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3008         connections.
3009
3010 2008-05-02  Dan Williams  <dcbw@redhat.com>
3011
3012         * system-settings/plugins/ifcfg-fedora/plugin.c
3013                 - (dispose): use right unref call on the DBusGConnection
3014
3015 2008-05-02  Dan Williams  <dcbw@redhat.com>
3016
3017         * src/nm-serial-device.c
3018                 - (find_terminator): don't compare the whole line, just the size of the
3019                         terminator, since some modems put stuff after the terminator, like
3020                         "CONNECT 9600"
3021
3022 2008-05-01  Dan Williams  <dcbw@redhat.com>
3023
3024         Patch from Michael Biebl <biebl@debian.org>
3025
3026         * callouts/Makefile.am
3027           callouts/org.freedesktop.nm_dispatcher.service.in
3028           system-settings/src/Makefile.am
3029           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3030                 - use the right install location for dbus-activated stuff
3031
3032 2008-04-30  Dan Williams  <dcbw@redhat.com>
3033
3034         * src/nm-gsm-device.c
3035                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3036                         PIN or PUK
3037
3038 2008-04-30  Dan Williams  <dcbw@redhat.com>
3039
3040         * src/nm-manager.c
3041                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3042
3043 2008-04-30  Dan Williams  <dcbw@redhat.com>
3044
3045         * src/nm-device-802-3-ethernet.c
3046           src/nm-device-802-11-wireless.c
3047                 - (real_is_up): return true instead of chaining up to unimplemented
3048                         parent method
3049
3050 2008-04-30  Dan Williams  <dcbw@redhat.com>
3051
3052         * src/NetworkManagerSystem.c
3053           src/NetworkManagerSystem.h
3054                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3055                         functions to check device flags for IFF_UP
3056
3057         * src/nm-serial-device.c
3058                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3059                         implement is_up
3060
3061         * src/nm-device-802-3-ethernet.c
3062           src/nm-device-802-11-wireless.c
3063                 - (real_hw_is_up): call nm_system_device_is_up()
3064
3065         * src/nm-device.c
3066                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3067                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3068                         does not implement
3069
3070 2008-04-29  Dan Williams  <dcbw@redhat.com>
3071
3072         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3073
3074         * marshallers/nm-marshal.list
3075                 - Add marshaller
3076
3077         * src/NetworkManager.c
3078                 - (main): let the NMManager handle the NMHalManager
3079
3080         * src/nm-hal-manager.c
3081           src/nm-hal-manager.h
3082                 - convert to a GObject, and emit singals when stuff changes.  Let the
3083                         NMManager handle the signals, instead of the NMHalManager calling
3084                         into the NMManager.  
3085
3086         * src/nm-manager.c
3087           src/nm-manager.h
3088                 - (remove_one_device): consolidate device removals here
3089                 - (dispose): use remove_one_device()
3090                 - (nm_manager_get_device_by_udi): make static
3091                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3092                         manager for devices at startup or wakeup time
3093                 - (nm_manager_new): create and monitor the HAL manager
3094                 - (hal_manager_udi_added_cb): new function; do what
3095                         nm_manager_add_device() used to do when signalled by the hal manager
3096                 - (hal_manager_udi_removed_cb): new function; do what
3097                         nm_manager_remove_device() used to do when signalled by the hal
3098                         manager
3099                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3100                         hal manager
3101                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3102                         in our device list that aren't known to HAL
3103                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3104                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3105                         commits ago
3106                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3107                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3108                    nm_manager_wireless_hardware_enabled,
3109                    nm_manager_set_wireless_hardware_enabled): remove, unused
3110
3111 2008-04-28  Dan Williams  <dcbw@redhat.com>
3112
3113         Fix the device up/down ambiguities.  Up/down state used to be a
3114         conglomeration of hardware state (IFF_UP) and any device-specific things
3115         (supplicant, periodic timers, etc) that the device used to indicate
3116         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3117         reason, then the device specific stuff wouldn't get run, and the device
3118         would be stuck.
3119
3120         * src/nm-device.c
3121           src/nm-device.h
3122                 - Create hw_is_up, hw_bring_up, and hw_take_down
3123                 - Rename bring_down -> take_down
3124                 - (real_hw_is_up): check interface flags for IFF_UP
3125                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3126                 - (nm_device_is_up): make static; only used locally
3127                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3128                         if the device is already up; if the device isn't up, bring it up
3129                 - (nm_device_hw_take_down): just take down hardware
3130                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3131                 - (nm_device_take_down): always deactivate device when called; always
3132                         try to take hardware down too
3133                 - (nm_device_state_changed): take device down when entering unmanaged
3134                         state from a higher state
3135
3136         * src/nm-device-802-11-wireless.c
3137                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3138                         check IFF_UP really
3139                 - (real_take_down, supplicant_iface_state_cb_handler, 
3140                    supplicant_iface_connection_state_cb_handler,
3141                    supplicant_mgr_state_cb_handler): fix some messages
3142
3143         * src/nm-device-802-3-ethernet.c
3144                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3145                         check IFF_UP really
3146
3147 2008-04-28  Dan Williams  <dcbw@redhat.com>
3148
3149         * src/nm-manager.c
3150           src/nm-manager.h
3151                 - (nm_manager_error_get_type): add new error
3152                 - (nm_manager_remove_device): don't bother taking down the device here,
3153                         the state change from unmanaging the device will do it
3154                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3155                         uses it; when going to sleep, just unmanage the device instead of
3156                         taking it down, because stuff will cleaned up correctly when the
3157                         device gets unmanaged
3158
3159 2008-04-28  Dan Williams  <dcbw@redhat.com>
3160
3161         * src/nm-hal-manager.c
3162                 - (add_initial_devices): convert to a GSourceFunc prototype
3163                 - (nm_manager_state_changed): when coming out of sleep, punt the
3164                         device re-addition to an idle handler to let D-Bus events go out
3165                         first, fixing a potential dbus-glib assert if the old device was
3166                         not yet disposed (due to references held while emitting the D-Bus
3167                         signals) but the new device was found, because the mainloop didn't
3168                         run between signal emission and add_initial_devices()
3169
3170 2008-04-27  Dan Williams  <dcbw@redhat.com>
3171
3172         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3173
3174         * initscript/paldo/NetworkManager.in
3175           initscript/SUSE/networkmanager.in
3176                 - Remove last bits of dhcdbd
3177
3178 2008-04-27  Dan Williams  <dcbw@redhat.com>
3179
3180         * src/nm-device-802-11-wireless.c
3181                 - (link_timeout_cb): don't ask for secrets when disconnected during
3182                         association/authentication phase, drivers are still just too crappy
3183
3184 2008-04-27  Dan Williams  <dcbw@redhat.com>
3185
3186         * Makefile.am
3187           configure.in
3188           dispatcher-daemon/Makefile.am
3189           dispatcher-daemon/NetworkManagerDispatcher.c
3190           initscript/Arch/Makefile.am
3191           initscript/Arch/networkmanager-dispatcher.in
3192           initscript/Gentoo/Makefile.am
3193           initscript/Gentoo/NetworkManagerDispatcher.in
3194           initscript/Mandriva/Makefile.am
3195           initscript/Mandriva/networkmanagerdispatcher.in
3196           initscript/RedHat/Makefile.am
3197           initscript/RedHat/NetworkManagerDispatcher.in
3198           initscript/SUSE/Makefile.am
3199           initscript/SUSE/networkmanager-dispatcher.in
3200           initscript/Slackware/Makefile.am
3201           initscript/Slackware/rc.networkmanager-dispatcher.in
3202           initscript/paldo/Makefile.am
3203           initscript/paldo/NetworkManagerDispatcher.in
3204           man/Makefile.am
3205           man/NetworkManagerDispatcher.8.in
3206                 - Remove the dispatcher daemon
3207
3208 2008-04-27  Dan Williams  <dcbw@redhat.com>
3209
3210         * callouts/Makefile.am
3211           callouts/nm-dispatcher-action.c
3212           callouts/nm-dispatcher-action.h
3213           callouts/nm-dispatcher.conf
3214           callouts/nm-dispatcher.xml
3215           callouts/org.freedesktop.nm_dispatcher.service
3216                 - Re-implement the dispatcher as a system-bus activated service that
3217                         NM calls on-demand, rather than an always running daemon
3218
3219         * src/Makefile.am
3220                 - Add callouts dir to includes to pick up dispatcher defines
3221
3222         * src/nm-device.c
3223                 - (nm_device_state_changed): call dispatcher on device activated/
3224                         deactivated
3225
3226         * src/vpn-manager/nm-vpn-connection.c
3227                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3228                         go up and down
3229
3230         * src/NetworkManagerUtils.c
3231           src/NetworkManagerUtils.h
3232                 - (nm_utils_call_dispatcher): helper to call dispatcher
3233
3234 2008-04-27  Dan Williams  <dcbw@redhat.com>
3235
3236         * src/NetworkManagerUtils.c
3237           src/NetworkManagerUtils.h
3238                 - remove unneeded includes
3239                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3240                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3241                    nm_timeval_cmp, nm_timeval_add): remove, unused
3242                 - clean up formatting
3243                 - (nm_spawn_process): de-uglify
3244
3245         * src/nm-device-802-11-wireless.c
3246                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3247
3248 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3249
3250         * initscript/Gentoo/NetworkManager.in:
3251                 Fix for starting the daemon.
3252
3253 2008-04-25  Dan Williams  <dcbw@redhat.com>
3254
3255         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3256
3257         * src/NetworkManagerSystem.c
3258                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3259
3260 2008-04-25  Dan Williams  <dcbw@redhat.com>
3261
3262         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3263
3264         * src/NetworkManagerSystem.c
3265                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3266                         implementation of nm_system_device_replace_default_route()
3267
3268         * src/NetworkManagerPolicy.c
3269                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3270
3271         * src/backends/NetworkManagerArch.c
3272           src/backends/NetworkManagerDebian.c
3273           src/backends/NetworkManagerFrugalware.c
3274           src/backends/NetworkManagerGeneric.c
3275           src/backends/NetworkManagerGeneric.h
3276           src/backends/NetworkManagerGentoo.c
3277           src/backends/NetworkManagerMandriva.c
3278           src/backends/NetworkManagerPaldo.c
3279           src/backends/NetworkManagerRedHat.c
3280           src/backends/NetworkManagerSlackware.c
3281           src/backends/NetworkManagerSuSE.c
3282                 - (nm_system_device_replace_default_route): remove
3283
3284 2008-04-25  Dan Williams  <dcbw@redhat.com>
3285
3286         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3287
3288         * src/NetworkManagerSystem.c
3289                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3290                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3291                         replace nm_system_device_add_route_via_device_with_iface() in the
3292                         backends
3293
3294         * src/backends/NetworkManagerArch.c
3295           src/backends/NetworkManagerDebian.c
3296           src/backends/NetworkManagerFrugalware.c
3297           src/backends/NetworkManagerGeneric.c
3298           src/backends/NetworkManagerGeneric.h
3299           src/backends/NetworkManagerGentoo.c
3300           src/backends/NetworkManagerMandriva.c
3301           src/backends/NetworkManagerPaldo.c
3302           src/backends/NetworkManagerRedHat.c
3303           src/backends/NetworkManagerSlackware.c
3304           src/backends/NetworkManagerSuSE.c
3305                 - Remove nm_system_device_add_route_via_device_with_iface()
3306
3307 2008-04-25  Dan Williams  <dcbw@redhat.com>
3308
3309         * system-settings/plugins/ifcfg-fedora/parser.c
3310                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3311
3312 2008-04-24  Dan Williams  <dcbw@redhat.com>
3313
3314         * dispatcher-daemon/NetworkManagerDispatcher.c
3315                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3316
3317 2008-04-24  Dan Williams  <dcbw@redhat.com>
3318
3319         * initscript/RedHat/NetworkManager.in
3320           initscript/RedHat/NetworkManagerDispatcher.in
3321                 - Be active at runlevel 2
3322                 - Adjust priorities earlier
3323
3324 2008-04-22  Dan Williams  <dcbw@redhat.com>
3325
3326         * src/NetworkManagerPolicy.c
3327                 - (update_routing_and_dns): when checking for a gateway, look at the
3328                         composite IP4 config, not the connection's ip4-config setting, which
3329                         doesn't include DHCP-returned information
3330
3331 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3332
3333         Implement GKeyFile system settings plugin.
3334         Implement writing system settings (currently supported only by GKeyFile plugin).
3335
3336         * system-settings/src/main.c: 
3337         * system-settings/src/dbus-settings.c: Move the communication with plugins
3338         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3339         plugins for adding/updating/removing connections.
3340
3341         * system-settings/src/nm-system-config-interface.c
3342         (nm_system_config_interface_add_connection): Implement
3343         (nm_system_config_interface_update_connection): Implement.
3344         (nm_system_config_interface_remove_connection): Implement.
3345
3346         * system-settings/plugins/keyfile/Makefile.am:
3347         * system-settings/plugins/keyfile/plugin.[ch]:
3348         * system-settings/plugins/keyfile/writer.[ch]:
3349         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3350
3351         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3352
3353         * configure.in: Generate GKeyFile Makefile.
3354
3355         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3356         corruption, need to duplicate the returned string.
3357         (impl_exported_connection_update): Implement.
3358         (impl_exported_connection_delete): Implement.
3359
3360         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3361
3362         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3363
3364 2008-04-22  Dan Williams  <dcbw@redhat.com>
3365
3366         Patch from Charles R. Anderson (cra@wpi.edu)
3367
3368         * src/NetworkManagerPolicy.c
3369                 - (update_routing_and_dns): don't select devices without a gateway
3370                         as having the default route (rh #437338)
3371
3372 2008-04-21  Dan Williams  <dcbw@redhat.com>
3373
3374         * src/nm-activation-request.c
3375           src/nm-activation-request.h
3376                 - (dispose): ensure to disconnect from the device's state-changed signal
3377                         when appropriate so the signal doesn't get handled by an already
3378                         disposed NMActRequest
3379                 - (device_state_changed): update is_default here too just to make sure
3380                         default is only True when the child device is activated
3381                 - (nm_act_request_set_default): new function
3382
3383         * src/NetworkManagerPolicy.c
3384                 - (update_routing_and_dns): set 'default' on the active connection which
3385                         has the default route and DNS
3386
3387 2008-04-21  Dan Williams  <dcbw@redhat.com>
3388
3389         * src/NetworkManagerPolicy.c
3390                 - (device_state_changed): update routing and DNS when a device goes
3391                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3392
3393 2008-04-21  Dan Williams  <dcbw@redhat.com>
3394
3395         * include/NetworkManager.h
3396                 - Add NMActiveConnectionState enum
3397
3398         * introspection/nm-active-connection.xml
3399           introspection/nm-vpn-connection.xml
3400                 - Add 'State' property for overall active connection state
3401                 - Add 'Default' property, when True means this active connection
3402                         has the default route
3403                 - Add PropertyChanged signals so changes actually go out over the bus
3404
3405         * src/nm-active-connection.h
3406                 - Add defines for State & Default properties
3407
3408         * src/nm-activation-request.c
3409                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3410                         signal to determine active connection state
3411
3412         * src/vpn-manager/nm-vpn-connection.c
3413           src/vpn-manager/nm-vpn-connection.h
3414           src/vpn-manager/nm-vpn-manager.c
3415           src/vpn-manager/nm-vpn-service.c
3416                 - Rename old 'state' to 'vpn-state'
3417                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3418                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3419                         'vpn-state-changed' signal
3420
3421         * libnm-glib/nm-active-connection.c
3422           libnm-glib/nm-active-connection.h
3423                 - Add new 'state' and 'default' properties and accessors
3424
3425         * libnm-glib/nm-vpn-connection.c
3426           libnm-glib/nm-vpn-connection.h
3427                 - Rename old 'state' property to 'vpn-state'
3428                 - Add new 'state' and 'default' properties and accessors
3429
3430 2008-04-21  Dan Williams  <dcbw@redhat.com>
3431
3432         * src/nm-ip4-config.c
3433                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3434                         not specified (rh #443474)
3435
3436 2008-04-20  Dan Williams  <dcbw@redhat.com>
3437
3438         * src/NetworkManagerUtils.c
3439           src/NetworkManagerUtils.h
3440                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3441                         NMSettingIP4Config to an NMIP4Config object
3442
3443         * src/nm-device.c
3444                 - (merge_ip4_config): move to NetworkManagerUtils.c
3445
3446         * src/vpn-manager/nm-vpn-connection.c
3447                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3448                         too
3449
3450 2008-04-18  Dan Williams  <dcbw@redhat.com>
3451
3452         * libnm-util/nm-setting-ppp.c
3453           libnm-util/nm-setting-ppp.h
3454                 - Add 'no-vj-comp' option for TCP header compression
3455                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3456                         uint32
3457
3458 2008-04-18  Dan Williams  <dcbw@redhat.com>
3459
3460         * libnm-util/nm-setting-ppp.c
3461           libnm-util/nm-setting-ppp.h
3462           src/ppp-manager/nm-ppp-manager.c
3463                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3464
3465 2008-04-18  Dan Williams  <dcbw@redhat.com>
3466
3467         * libnm-util/nm-setting-ppp.c
3468           libnm-util/nm-setting-ppp.h
3469           src/ppp-manager/nm-ppp-manager.c
3470                 - Remove the 'usepeerdns' option and always request DNS servers from
3471                         the PPP server; the connection chooses to use/override/ignore the
3472                         DNS servers returned from the PPP server
3473
3474 2008-04-18  Dan Williams  <dcbw@redhat.com>
3475
3476         * libnm-util/nm-setting-ppp.c
3477           libnm-util/nm-setting-ppp.h
3478           src/ppp-manager/nm-ppp-manager.c
3479                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3480                         it seems to have been an erroneous addition to the PPTP plugin in
3481                         the first place (from which the ppp-manager is derived)
3482
3483 2008-04-17  Dan Williams  <dcbw@redhat.com>
3484
3485         * libnm-util/nm-setting-pppoe.c
3486                 - (verify): require a PPP setting too
3487
3488         * src/ppp-manager/nm-ppp-manager.c
3489                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3490                         segfaulting
3491
3492 2008-04-17  Dan Williams  <dcbw@redhat.com>
3493
3494         * src/nm-device.c
3495                 - (nm_device_state_changed): do deactivation and and promotion to
3496                         unavailable here, so that the device gets cleaned up before the
3497                         manager runs and starts emitting signals; do the
3498                         FAILED->DISCONNECTED transition from an idle handler rather than
3499                         immediately to guard against recursion
3500                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3501                         FAILED->DISCONNECTED handler if it's scheduled
3502
3503 2008-04-17  Dan Williams  <dcbw@redhat.com>
3504
3505         * src/nm-device-802-11-wireless.c
3506                 - (state_changed_cb): clear AP list when device transitions to
3507                         unavailable or unmanaged
3508                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3509                         since this is already done in device_cleanup()
3510                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3511                         isn't available or managed
3512                 - (device_cleanup): use remove_all_aps()
3513                 - (remove_all_aps): consolidate code removing all APs
3514
3515 2008-04-17  Dan Williams  <dcbw@redhat.com>
3516
3517         * src/nm-serial-device.c
3518           src/nm-serial-device.h
3519                 - (wait_for_reply_got_data): break input into lines, and search each
3520                         line for responses _and_ terminator strings; also make sure that
3521                         the read loop doesn't continue after the timeout is supposed to fire
3522                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3523
3524         * src/nm-gsm-device.c
3525           src/nm-cdma-device.c
3526                 - Send terminators to nm_serial_device_wait_for_reply()
3527
3528 2008-04-16  Dan Williams  <dcbw@redhat.com>
3529
3530         Patch from 陈鑫 <znscnchen@gmail.com>
3531
3532         * src/ppp-manager/nm-pppd-plugin.c
3533                 - (get_credentials): return correct value for success; handle case where
3534                         pppd just does some checking but doesn't want a password
3535                 - (plugin_init): make CHAP work too
3536
3537 2008-04-16  Dan Williams  <dcbw@redhat.com>
3538
3539         Patch from 陈鑫 <znscnchen@gmail.com>
3540
3541         * src/ppp-manager/nm-ppp-manager.c
3542                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3543
3544 2008-04-16  Dan Williams  <dcbw@redhat.com>
3545
3546         Patch from 陈鑫 <znscnchen@gmail.com>
3547
3548         * src/nm-device-802-3-ethernet.c
3549                 - (real_deactivate_quickly): clear the IP interface name on
3550                         deactivation, otherwise the wrong interface might get used later
3551                         for routing and IP management
3552
3553 2008-04-15  Dan Williams  <dcbw@redhat.com>
3554
3555         * libnm-glib/nm-device.c
3556                 - (get_product_and_vendor): handle serial devices correctly
3557                 - (nm_device_update_description): pass device to get_product_and_vendor()
3558
3559 2008-04-15  Dan Williams  <dcbw@redhat.com>
3560
3561         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3562
3563         * src/NetworkManagerSystem.h
3564           src/backends/NetworkManagerArch.c
3565           src/backends/NetworkManagerDebian.c
3566           src/backends/NetworkManagerFrugalware.c
3567           src/backends/NetworkManagerGeneric.c
3568           src/backends/NetworkManagerGeneric.h
3569           src/backends/NetworkManagerGentoo.c
3570           src/backends/NetworkManagerMandriva.c
3571           src/backends/NetworkManagerPaldo.c
3572           src/backends/NetworkManagerRedHat.c
3573           src/backends/NetworkManagerSlackware.c
3574           src/backends/NetworkManagerSuSE.c
3575           src/nm-device.c
3576                 - (nm_generic_device_add_ip6_link_address,
3577                    nm_system_device_add_ip6_link_address): remove
3578
3579 2008-04-15  Dan Williams  <dcbw@redhat.com>
3580
3581         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3582
3583         * src/backends/NetworkManagerArch.c
3584           src/backends/NetworkManagerDebian.c
3585           src/backends/NetworkManagerFrugalware.c
3586           src/backends/NetworkManagerGeneric.c
3587           src/backends/NetworkManagerGeneric.h
3588           src/backends/NetworkManagerGentoo.c
3589           src/backends/NetworkManagerMandriva.c
3590           src/backends/NetworkManagerPaldo.c
3591           src/backends/NetworkManagerRedHat.c
3592           src/backends/NetworkManagerSlackware.c
3593           src/backends/NetworkManagerSuSE.c
3594           src/NetworkManagerSystem.h
3595                 - flush_routes -> flush_ip4_routes
3596                 - flush_addresses -> flush_ip4_addresses
3597
3598         * src/NetworkManagerSystem.c
3599           src/nm-device.c
3600           src/vpn-manager/nm-vpn-connection.c
3601                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3602
3603 2008-04-15  Dan Williams  <dcbw@redhat.com>
3604
3605         Remove exposure of wireless-tools mode types in the API.
3606
3607         * include/NetworkManager.h
3608                 - Define NM80211Mode enum
3609
3610         * introspection/generic-types.xml
3611                 - Describe NM_802_11_MODE enum
3612                 - Remove IW_MODE_* enum
3613
3614         * introspection/nm-access-point.xml
3615           libnm-glib/nm-access-point.c
3616           libnm-glib/nm-access-point.h
3617                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3618
3619         * introspection/nm-device-802-11-wireless.xml
3620           libnm-glib/nm-device-802-11-wireless.c
3621           libnm-glib/nm-device-802-11-wireless.h
3622                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3623
3624         * libnm-util/nm-setting-wireless.c
3625           src/NetworkManagerAP.c
3626           src/NetworkManagerAP.h
3627           src/nm-device-802-11-wireless.c
3628           src/nm-device-802-11-wireless.h
3629           test/nm-tool.c
3630                 - Use NM80211Mode not IW_MODE_*
3631
3632 2008-04-15  Dan Williams  <dcbw@redhat.com>
3633
3634         Enhance nm-online based on a patch from Bill Nottingham.
3635
3636         * test/nm-online.c
3637                 - Add a '-q' option
3638                 - Add help messages and option summary
3639                 - Add long-format options
3640                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3641
3642 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3643
3644         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3645
3646         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3647
3648 2008-04-15  Dan Williams  <dcbw@redhat.com>
3649
3650         * nm-setting-ip4-config.c
3651                 - (ip4_addresses_from_gvalue): handle NULL address array
3652
3653         * nm-setting-8021x.c
3654                 - (verify_tls, verify_ttls): warn on failed verification
3655
3656 2008-04-10  Dan Williams  <dcbw@redhat.com>
3657
3658         * src/nm-gsm-device.c
3659                 - (automatic_registration): accept "+CREG: 0,0"
3660                 - (automatic_registration_response): fail on "+CREG: 0,0"
3661
3662 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3663
3664         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3665
3666 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3667
3668         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3669         Make it compile again by commenting out broken code that at first didn't work and
3670         now didn't compile either.
3671
3672 2008-04-08  Dan Williams  <dcbw@redhat.com>
3673
3674         * libnm-glib/nm-object-cache.c
3675           libnm-glib/nm-settings.c
3676           src/dhcp-manager/nm-dhcp-manager.c
3677           system-settings/plugins/ifcfg-fedora/plugin.c
3678           system-settings/plugins/ifcfg-suse/plugin.c
3679           system-settings/src/nm-system-config-hal-manager.c
3680           libnm-util/nm-utils.c
3681                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3682                         not threadsafe anyway
3683
3684 2008-04-08  Dan Williams  <dcbw@redhat.com>
3685
3686         * system-settings/src/main.c
3687                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3688                         callbacks take a device type too
3689
3690 2008-04-08  Dan Williams  <dcbw@redhat.com>
3691
3692         The system settings service will now create a new default DHCP connection
3693         for wired devices that have no existing applicable connection.
3694
3695         * system-settings/src/nm-system-config-hal-manager.c
3696           system-settings/src/nm-system-config-hal-manager.h
3697                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3698
3699         * system-settings/src/dbus-settings.c
3700           system-settings/src/dbus-settings.h
3701                 - (nm_sysconfig_settings_get_connections): new function
3702                 - (nm_sysconfig_settings_is_device_managed): new function
3703
3704         * system-settings/src/main.c
3705                 - (load_stuff): check for wired devices that need a default connection
3706                 - (get_details_for_udi): get interface and MAC address from HAL
3707                 - (add_default_dhcp_connection): add a default connection for a wired
3708                         device if needed
3709                 - (device_added_cb, device_removed_cb): do the right thing with
3710                         wired devices and their default connections on HAL device events
3711
3712 2008-04-07  Dan Williams  <dcbw@redhat.com>
3713
3714         * libnm-glib/nm-device.c
3715           libnm-glib/nm-device.h
3716                 - Proxy the 'managed' property
3717
3718 2008-04-07  Dan Williams  <dcbw@redhat.com>
3719
3720         * src/nm-gsm-device.c
3721           src/nm-cdma-device.c
3722                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3723                         handler to transition to DISCONNECTED
3724
3725 2008-04-07  Dan Williams  <dcbw@redhat.com>
3726
3727         Patch from Bill Nottingham
3728
3729         * dispatcher-daemon/NetworkManagerDispatcher.c
3730                 - ignore backup/packaging crufy (rh #440143)
3731
3732 2008-04-07  Dan Williams  <dcbw@redhat.com>
3733
3734         * include/NetworkManager.h
3735                 - Remove the DOWN and CANCELLED device states
3736                 - Add UNMANAGED and UNAVAILABLE device states
3737                 - Document the device states
3738
3739         * introspection/nm-device.xml
3740           src/nm-device-interface.c
3741           src/nm-device-interface.h
3742                 - Add the 'managed' property
3743
3744         * test/nm-tool.c
3745                 - (detail_device): print out device state
3746
3747         * src/NetworkManagerSystem.h
3748           src/backends/NetworkManagerArch.c
3749           src/backends/NetworkManagerDebian.c
3750           src/backends/NetworkManagerFrugalware.c
3751           src/backends/NetworkManagerGentoo.c
3752           src/backends/NetworkManagerMandriva.c
3753           src/backends/NetworkManagerPaldo.c
3754           src/backends/NetworkManagerRedHat.c
3755           src/backends/NetworkManagerSlackware.c
3756           src/backends/NetworkManagerSuSE.c
3757                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3758                    nm_system_device_free_system_config): remove; they were unused and
3759                         their functionality should be re-implemented in each distro's
3760                         system settings service plugin 
3761
3762         * src/nm-gsm-device.c
3763           src/nm-gsm-device.h
3764           src/nm-cdma-device.c
3765           src/nm-cdma-device.h
3766                 - (*_new): take the 'managed' argument
3767
3768         * src/nm-device.c
3769                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3770                 - (nm_device_init): start in unmanaged state, not disconnected
3771                 - (constructor): don't start device until the system settings service
3772                         has had a chance to figure out if the device is managed or not
3773                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3774                         don't set device state here, let callers handle that as appropriate
3775                 - (nm_device_dispose): don't touch the device if it's not managed
3776                 - (set_property, get_property, nm_device_class_init): implement the
3777                         'managed' property
3778                 - (nm_device_state_changed): bring the device up if its now managed,
3779                         and deactivate it if it used to be active
3780                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3781                         with the managed state
3782
3783         * src/nm-hal-manager.c
3784                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3785                         take initial managed state and pass it along to device constructors
3786                 - (create_device_and_add_to_list): get managed state and pass to
3787                         type creators
3788
3789         * src/nm-device-802-11-wireless.c
3790                 - (real_can_activate): fold in most of
3791                         nm_device_802_11_wireless_can_activate()
3792                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3793                 - (link_timeout_cb): instead of deactivating, change device state and
3794                         let the device state handler to it
3795                 - (real_update_hw_address): clean up
3796                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3797                         handler to transition to DISCONNECTED if the device isn't rfkilled
3798
3799         * src/nm-device-802-3-ethernet.c
3800                 - (set_carrier): move above callers and get rid of prototype
3801                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3802                         idle handler to transition to DISCONNECTED if the device has a
3803                         carrier
3804                 - (real_update_hw_address): clean up
3805                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3806                         deactivation directly as deactivation doesn't change state anymore
3807
3808         * src/NetworkManagerPolicy.c
3809                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3810                         the NMManager and wireless devices work that out themselves now
3811                 - (device_state_changed): change to a switch and update for new device
3812                         states
3813                 - (device_carrier_changed): remove; device handles this now through
3814                         state changes
3815                 - (device_added): don't care about carrier any more; the initial
3816                         activation check will happen when the device transitions to
3817                         DISCONNECTED
3818
3819         * src/nm-manager.c
3820                 - (dispose): clear unmanaged devices
3821                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3822                         the managed property on each device when needed
3823                 - (system_settings_properties_changed_cb): handle signals from the
3824                         system settings service
3825                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3826                         getting the unmanaged device list method call
3827                 - (query_unmanaged_devices): ask the system settings service for its
3828                         list of unmanaged devices
3829                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3830                         devices
3831                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3832                         devices directly and let them handle the necessary state transitions
3833                 - (manager_device_state_changed): update for new device states
3834                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3835                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3836                 - (nm_manager_activate_connection): return error if the device is
3837                         unmanaged
3838                 - (nm_manager_sleep): handle new device states correctly; don't change
3839                         the state of unavailable/unmanaged devices
3840
3841         * libnm-glib/nm-device-802-11-wireless.c
3842                 - (state_changed_cb): update for new device states
3843
3844 2008-04-07  Dan Williams  <dcbw@redhat.com>
3845
3846         * marshallers/nm-marshal.list
3847                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3848
3849 2008-04-07  Dan Williams  <dcbw@redhat.com>
3850
3851         * system-settings/src/main.c
3852                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3853                         plugins to the dbus settings object
3854                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3855                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3856                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3857                 - (main): switch default logging to syslog with a 'debug' option to
3858                         output to console; start up the HAL manager
3859
3860 2008-04-07  Dan Williams  <dcbw@redhat.com>
3861
3862         * introspection/nm-settings-system.xml
3863           introspection/Makefile.am
3864                 - Define the unmanaged devices interface for the system settings service
3865
3866         * system-settings/src/nm-system-config-hal-manager.c
3867           system-settings/src/nm-system-config-hal-manager.h
3868           system-settings/src/nm-system-config-hal-manager-private.h
3869           system-settings/src/Makefile.am
3870                 - Add a lightweight HAL manager object for tracking network devices for
3871                         the purpose of determining unmanaged devices and which devices need
3872                         the default DHCP connections
3873
3874         * system-settings/src/nm-system-config-interface.c
3875           system-settings/src/nm-system-config-interface.h
3876                 - (nm_system_config_interface_init): add the HAL manager as an argument
3877                 - (nm_system_config_interface_get_unmanaged_devices): implement
3878                 - Define 'unmanaged-devices-changed' signal
3879
3880         * system-settings/src/dbus-settings.c
3881           system-settings/src/dbus-settings.h
3882                 - Implement the unmanaged devices interface; some cleanups
3883
3884         * system-settings/plugins/ifcfg-suse/plugin.c
3885                 - Fixup for plugin interface changes
3886
3887         * system-settings/plugins/ifcfg-fedora/plugin.c
3888                 - (get_ether_device_udi): new function; find the device that has
3889                         a specified MAC address and return its UDI
3890                 - (get_udi_for_connection): new function; try to find the specific
3891                         device a connection is locked to, if any
3892                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3893                         response to HAL events
3894                 - (get_unmanaged_devices): new function; return unmanaged device list
3895                 - (build_one_connection): set the connection's locked device, if any
3896                 - (write_auto_wired_connection): remove
3897                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3898                 - (handle_connection_changed): alert listeners that the unmanaged device
3899                         list has changed
3900                 - (init): fixup for plugin interface changes, implement unmanaged devices
3901
3902         * system-settings/plugins/ifcfg-fedora/parser.c
3903           system-settings/plugins/ifcfg-fedora/parser.h
3904                 - (connection_data_free): clean up connection UDI
3905
3906 2008-04-07  Dan Williams  <dcbw@redhat.com>
3907
3908         * system-settings/plugins/ifcfg-fedora/parser.c
3909                 - (make_ip4_setting): fix parsing of DNS servers
3910
3911 2008-04-05  Dan Williams  <dcbw@redhat.com>
3912
3913         * Makefile.am
3914           configure.in
3915           marshallers/Makefile.am
3916           marshallers/nm-marshal-main.c
3917           marshallers/nm-marshal.list
3918                 - Consolidate marshallers
3919
3920         * libnm-glib/nm-marshal-main.c
3921           libnm-glib/nm-marshal.list
3922           src/marshallers/Makefile.am
3923           src/marshallers/nm-marshal-main.c
3924           src/marshallers/nm-marshal.list
3925                 - Remove
3926
3927         * libnm-glib/Makefile.am
3928           src/Makefile.am
3929           src/dhcp-manager/Makefile.am
3930           src/ppp-manager/Makefile.am
3931           src/supplicant-manager/Makefile.am
3932           src/vpn-manager/Makefile.am
3933                 - Use consolidated marshallers
3934
3935 2008-04-04  Dan Williams  <dcbw@redhat.com>
3936
3937         * src/nm-hal-manager.c
3938           src/nm-hal-manager.h
3939                 - (hal_init): don't look for hardware here
3940                 - (nm_hal_manager_start): new function; look for hardware here instead,
3941                         which can be done at a later time than hal_init()
3942
3943         * src/NetworkManager.c
3944                 - (main): start HAL manager after entering the main loop
3945
3946 2008-04-03  Dan Williams  <dcbw@redhat.com>
3947
3948         * libnm-glib/nm-settings.c
3949           libnm-glib/nm-settings.h
3950             - (nm_exported_connection_get_id): new function
3951                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
3952
3953 2008-04-02  Dan Williams  <dcbw@redhat.com>
3954
3955         * src/nm-device-interface.c
3956           src/nm-device-interface.h
3957           src/nm-device.c
3958           src/nm-device.h
3959                 - Rename check_connection_conflicts() to check_connection_compatible()
3960
3961         * src/nm-device-802-11-wireless.c
3962                 - (real_check_connection_conflicts): remove
3963                 - (real_check_connection_compatible): implement; match MAC address
3964
3965         * src/nm-device-802-3-ethernet.c
3966                 - (real_check_connection_conflicts): remove
3967                 - (real_check_connection_compatible): implement; match MAC address
3968                 - (real_get_best_auto_connection): correctly handle PPPoE cases
3969
3970         * src/nm-manager.c
3971                 - (check_connection_allowed): remove; unused until PolicyKit integration
3972                 - (internal_activate_device): check whether the connection is compatible
3973                         with the device before trying to activate it
3974
3975 2008-04-02  Dan Williams  <dcbw@redhat.com>
3976
3977         * system-settings/plugins/ifcfg-fedora/parser.c
3978                 - (read_mac_address): new function; read in MAC address and stuff it
3979                         into the connection
3980                 - (add_one_wep_key): remove debug spew
3981                 - (make_wireless_security_setting): validate the default TX key; don't
3982                         add the wireless-security setting if the connection doesn't need
3983                         security; don't leak the keys shvarFile on error cases
3984                 - (make_wireless_setting, make_wired_setting): populate device's MAC
3985                         address
3986
3987 2008-04-02  Dan Williams  <dcbw@redhat.com>
3988
3989         * libnm-util/nm-setting-connection.c
3990           libnm-util/nm-setting-connection.h
3991                 - (set_property, get_property, nm_setting_connection_class_init): remove
3992                         the 'lockdown' property; it's functionality will be replaced by
3993                         PolicyKit instead
3994
3995 2008-04-01  Dan Williams  <dcbw@redhat.com>
3996
3997         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
3998
3999         * configure.in
4000           initscript/Makefile.am
4001           initscript/Mandriva/Makefile.am
4002           initscript/Mandriva/networkmanager.in
4003           initscript/Mandriva/networkmanagerdispatcher.in
4004           src/backends/Makefile.am
4005           src/backends/NetworkManagerMandriva.c
4006           system-settings/plugins/Makefile.am
4007                 - Add Mandriva support
4008
4009 2008-03-31  Dan Williams  <dcbw@redhat.com>
4010
4011         * src/vpn-manager/nm-vpn-service.c
4012                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4013                         errors can be passed back to the caller; also no longer scheduled
4014                         as an idle handler, but called directly; and bump up VPN service
4015                         spawn timeout, 2s is really short
4016                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4017                         but call it directly so that errors are reported on return from
4018                         ActivateConnection() and don't get lost.  If scheduled as an idle
4019                         handler, clients don't have the time to query NM for the new VPN
4020                         connection's properties before the VPN connection is torn down again
4021                         if the service couldn't be launched, and therefore launch errors
4022                         get lost.
4023
4024 2008-03-31  Dan Williams  <dcbw@redhat.com>
4025
4026         * src/vpn-manager/nm-vpn-connection.c
4027                 - (device_state_changed): send correct state on device failure too
4028                 - (plugin_state_changed): failed state means unexpected disconnection,
4029                         thus if the service goes away while the VPN connection is activated
4030                         that's a failure too
4031
4032 2008-03-31  Dan Williams  <dcbw@redhat.com>
4033
4034         * src/vpn-manager/nm-vpn-manager.c
4035           src/vpn-manager/nm-vpn-manager.h
4036                 - Make VPNManager errors more available; add a service-start-failed error
4037
4038 2008-03-31  Dan Williams  <dcbw@redhat.com>
4039
4040         * libnm-glib/nm-client.c
4041           libnm-glib/nm-client.h
4042                 - (activate_cb): pass the new active connection to callback; fix
4043                         message when no callback is specified
4044
4045 2008-03-30  Dan Williams  <dcbw@redhat.com>
4046
4047         * libnm-util/nm-setting-wireless-security.c
4048                 - (need_secrets): only require key0 if the transmit key index is also
4049                         0
4050                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4051
4052 2008-03-29  Dan Williams  <dcbw@redhat.com>
4053
4054         * libnm-util/nm-setting-8021x.c
4055           libnm-util/nm-setting-ip4-config.c
4056           libnm-util/nm-setting-vpn-properties.c
4057           libnm-util/nm-setting-vpn.c
4058           libnm-util/nm-setting-wireless-security.c
4059           libnm-util/nm-setting-wireless.c
4060           libnm-util/nm-utils.c
4061           src/dhcp-manager/nm-dhcp-manager.c
4062           src/nm-activation-request.c
4063           src/nm-ip4-config.c
4064           src/nm-manager.c
4065           src/nm-properties-changed-signal.c
4066           src/ppp-manager/nm-pppd-plugin.c
4067           src/supplicant-manager/nm-supplicant-interface.c
4068           src/vpn-manager/nm-vpn-connection.c
4069                 - consistently use nm-dbus-glib-types.h
4070
4071 2008-03-29  Dan Williams  <dcbw@redhat.com>
4072
4073         * src/vpn-manager/nm-vpn-connection.c
4074                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4075                         not string
4076
4077         * src/nm-activation-request.c
4078                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4079                         not string
4080
4081 2008-03-29  Dan Williams  <dcbw@redhat.com>
4082
4083         * libnm-glib/nm-device-802-11-wireless.c
4084                 - (access_point_added_proxy): create new APs if not found
4085
4086 2008-03-29  Dan Williams  <dcbw@redhat.com>
4087
4088         * libnm-glib/nm-client.c
4089                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4090                         before freeing them
4091
4092 2008-03-29  Dan Williams  <dcbw@redhat.com>
4093
4094         * system-settings/plugins/ifcfg-fedora/parser.c
4095                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4096                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4097
4098 2008-03-29  Dan Williams  <dcbw@redhat.com>
4099
4100         * system-settings/plugins/ifcfg-fedora/parser.c
4101                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4102
4103 2008-03-27  Dan Williams  <dcbw@redhat.com>
4104
4105         * nm-object.c
4106                 - (nm_object_queue_notify): don't notify multiple times for the same
4107                         property
4108
4109         * nm-object-private.h
4110                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4111                         if it has zero elements
4112
4113         * nm-ip4-config.c
4114                 - (finalize): use g_ptr_array_foreach() when freeing domains
4115                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4116
4117         * nm-active-connection.c
4118                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4119
4120         * nm-device-802-11-wireless.c
4121           nm-device-802-11-wireless.h
4122                 - (nm_device_802_11_wireless_get_access_points): return const; use
4123                         handle_ptr_array_return()
4124
4125         * nm-types.c
4126                 - (nm_object_array_demarshal): always create an array, even of length
4127                         zero, to distinguish between "NM returned no items" and "haven't
4128                         asked NM yet"
4129
4130         * nm-client.c
4131                 - (dispose): free active connections too
4132                 - (proxy_name_owner_changed): free active connections too when NM goes
4133                         away
4134                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4135                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4136
4137 2008-03-26  Dan Williams  <dcbw@redhat.com>
4138
4139         Rework VPN connection handling for a more consistent D-Bus API.  The
4140         VPNManager object has been removed, and active VPN connections are now the
4141         same as any other active connection.  The Manager object's ActivateConnection
4142         and DeactivateConnection methods are used to start and stop a VPN connection,
4143         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4144         When activating a VPN connection, pass the path of the active connection
4145         to which the VPN connection is tied in the 'specific_object' argument.
4146
4147         Consequently, the libnm-glib API has been reworked to match this arrangement,
4148         with the VPNManager object removed, and the NMVPNConnection objects now
4149         being subclasses of NMActiveConnection.
4150
4151 2008-03-25  Dan Williams  <dcbw@redhat.com>
4152
4153         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4154
4155         * initscript/Arch/networkmanager.in
4156           initscript/Arch/networkmanager-dispatcher.in
4157                 - Updates for Arch Linux (gnome.org #523701)
4158
4159 2008-03-25  Dan Williams  <dcbw@redhat.com>
4160
4161         * libnm-glib/nm-ip4-config.c
4162           libnm-glib/nm-active-connection.c
4163           libnm-glib/nm-access-point.c
4164                 - Use nm_object_queue_notify() instead of g_object_notify()
4165
4166         * libnm-glib/nm-device.c
4167                 - (demarshal_ip4_config): distinguish between successful but missing
4168                         ip4-config request, and unsuccessful and missing ip4-config request
4169                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4170                         path
4171                 - Use nm_object_queue_notify() instead of g_object_notify()
4172
4173         * libnm-glib/nm-device-802-11-wireless.c
4174                 - (demarshal_active_ap): distinguish between successfull but missing
4175                         active-ap request, and unsuccessful and missing active-ap request
4176                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4177                         code
4178                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4179                         for the NMClient to notify the device that wireless is disabled,
4180                         and therefore to clear the AP list and active AP
4181                 - Use nm_object_queue_notify() instead of g_object_notify()
4182
4183         * libnm-glib/nm-client.c
4184                 - (poke_wireless_devices_with_rf_status): new function
4185                 - (update_wireless_status): notify wireless devices of the rfkill status
4186                         so they can clean up if needed
4187                 - Use nm_object_queue_notify() instead of g_object_notify()
4188
4189 2008-03-25  Dan Williams  <dcbw@redhat.com>
4190
4191         * libnm-glib/nm-object.c
4192           libnm-glib/nm-object-private.h
4193                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4194                         signals to an idle handler
4195                 - (nm_object_get_property): add a timeout to the D-Bus method call
4196
4197 2008-03-25  Dan Williams  <dcbw@redhat.com>
4198
4199         * introspection/nm-device-cdma.xml
4200           introspection/nm-device-gsm.xml
4201           introspection/Makefile.am
4202           introspection/all.xml
4203                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4204
4205         * src/nm-gsm-device.h
4206           src/nm-gsm-device.c
4207           src/nm-cdma-device.h
4208           src/nm-cdma-device.c
4209           src/Makefile.am
4210                 - Implement PropertiesChanged signals
4211
4212         * libnm-glib/nm-cdma-device.c
4213           libnm-glib/nm-cdma-device.c
4214                 - Attach to PropertiesChanged signals
4215
4216 2008-03-24  Dan Williams  <dcbw@redhat.com>
4217
4218         * libnm-glib/nm-client.c
4219                 - (client_device_added_proxy): add new devices to the internal device
4220                         list so they appear to clients
4221
4222 2008-03-24  Dan Williams  <dcbw@redhat.com>
4223
4224         Massive fixup of libnm-glib to:
4225         a) have all objects (with the exception of VPN) cache their properties and
4226                 update them asynchronously on PropertiesChanged signals from NM
4227         b) return internal const data for most attributes/properties instead of
4228                 allocated values that the caller must free
4229         c) cache wrapped objects such that a given D-Bus path will always map to the
4230                 same GObject returned by libnm-glib
4231         d) remove a few signals and move them to GObject property notifications
4232         e) match recent NM D-Bus API changes for activation/deactivation
4233         f) remove some private functions from libnm-glib headers
4234
4235 2008-03-20  Dan Williams  <dcbw@redhat.com>
4236
4237         * src/nm-manager.c
4238                 - (nm_manager_update_state, manager_device_state_changed,
4239                    nm_manager_activate_device, connection_added_default_handler,
4240                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4241                         queue PropertyChanged singals when the active connections change
4242
4243 2008-03-20  Dan Williams  <dcbw@redhat.com>
4244
4245         * introspection/nm-manager.xml
4246           introspection/nm-manager-client.xml
4247                 - (ActivateConnection): return the object path of the active connection
4248                         on success
4249                 - (GetActiveConnections): remove
4250                 - (DeactivateConnection): new function; deactivate a currently active
4251                         connection
4252                 - Add an ActiveConnections property which returns an array of
4253                         active connection object paths
4254
4255         * introspection/nm-device.xml
4256                 - (Deactivate): remove
4257
4258         * introspection/all.xml
4259                 - Add ActiveConnection introspection
4260
4261         * introspection/nm-active-connection.xml
4262                 - Add the ActiveConnection object
4263
4264         * include/NetworkManager.h
4265                 - Add the Connection.Active D-Bus interface
4266
4267         * src/nm-device-interface.c
4268                 - (impl_device_deactivate): remove
4269
4270         * src/nm-activation-request.c
4271           src/nm-activation-request.c
4272           src/Makefile.am
4273                 - Implement the Connection.Active D-Bus interface
4274
4275         * src/nm-manager.c
4276                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4277                 - (nm_manager_activate_device): return the active connection path
4278                 - (connection_added_default_handler, impl_manager_activate_connection):
4279                         return the active connection to the caller
4280                 - (add_one_connection_element, impl_manager_get_active_connections):
4281                         remove
4282                 - (impl_manager_deactivate_connection): new function; deactivate an
4283                         active connection
4284
4285         * libnm-glib/nm-device.c
4286           libnm-glib/nm-device.h
4287                 - Remove Deactivate() function
4288
4289 2008-03-19  Dan Williams  <dcbw@redhat.com>
4290
4291         * introspection/nm-manager.xml
4292           introspection/nm-manager-client.xml
4293                 - Rename the ActivateDevice method to ActivateConnection to better
4294                         reflect it's usage; it's arguments get reordered a bit too
4295                 - Convert GetActiveConnections method return from a struct to a dict
4296
4297         * include/NetworkManager.h
4298                 - Define the dict keys for return value of GetActiveConnections
4299
4300         * src/nm-manager.c
4301                 - impl_manager_activate_device -> impl_manager_activate_connection
4302                 - (add_one_connection_element): return a populated hash table, not
4303                         a structure
4304
4305         * libnm-glib/nm-client.c
4306           libnm-glib/nm-client.h
4307                 - nm_client_activate_device -> nm_client_activate_connection
4308                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4309                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4310                         instead of the custom structures.  Each element of the returned list
4311                         must be freed with nm_client_free_active_connections_element()
4312
4313 2008-03-18  Dan Williams  <dcbw@redhat.com>
4314
4315         * system-settings/plugins/ifcfg-fedora/parser.c
4316           system-settings/plugins/ifcfg-fedora/parser.h
4317           system-settings/plugins/ifcfg-fedora/plugin.c
4318                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4319                         profiles.  DNS servers and searches must now be stored in the ifcfg
4320                         files themselves
4321
4322 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4323
4324         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4325         print out username and password, it's supposed to be a secret.
4326
4327         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4328         request and set the device state accordingly.
4329
4330 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4331
4332         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4333
4334         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4335
4336 2008-03-18  Dan Williams  <dcbw@redhat.com>
4337
4338         * src/vpn-manager/nm-vpn-connection.c
4339                 - (get_secrets_cb): handle new GetSecrets return format
4340
4341 2008-03-18  Dan Williams  <dcbw@redhat.com>
4342
4343         Adapt system settings service for split 802.1x.
4344
4345         * system-settings/src/nm-system-config-interface.h
4346                 - clarify return value of get_secrets()
4347
4348         * system-settings/src/dbus-settings.c
4349                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4350                 - (check_for_secrets): check if there actually secrets returned by a
4351                         plugin
4352                 - (exported_connection_get_secrets): just return the plugin-returned
4353                         hash of settings' secrets if it looks valid
4354
4355         * system-settings/plugins/ifcfg-fedora/plugin.c
4356                 - (get_secrets): add split secrets with correct format to reply hash
4357
4358         * system-settings/plugins/ifcfg-fedora/parser.c
4359           system-settings/plugins/ifcfg-fedora/parser.h
4360                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4361                    connection_data_free, connection_data_add): keep secrets for
4362                         different settings in different hashes
4363
4364 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4365
4366         Clean up activating device deactivation.
4367
4368         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4369         should be done whether the device activation gets cancelled or the device
4370         is just getting deactivated.
4371         (nm_device_activation_cancel): Remove.
4372         (nm_device_deactivate_quickly): Handle the case where device is activating.
4373
4374         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4375         It does the exact same thing as real_deactivate_quickly().
4376
4377 2008-03-17  Dan Williams  <dcbw@redhat.com>
4378
4379         Split the 802.1x bits out of the wireless-security setting so they are
4380         generalized enough for wired 802.1x to use too.
4381
4382         * introspection/nm-exported-connection.xml
4383                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4384                         of just a hash of the secrets for one setting
4385
4386         * libnm-util/nm-setting-wireless-security.c
4387           libnm-util/nm-setting-wireless-security.h
4388                 - Remove 802.1x-specific stuff
4389                 - Added leap-username and leap-password properties for old-school LEAP
4390
4391         * src/nm-device.c
4392           src/nm-device.h
4393                 - (connection_secrets_updated_cb): take a list of updated settings names,
4394                         not just one
4395
4396         * src/supplicant-manager/nm-supplicant-config.c
4397           src/supplicant-manager/nm-supplicant-config.h
4398                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4399                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4400                         to nm_supplicant_config_add_setting_8021x()
4401                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4402                         the supplicant config
4403
4404         * src/nm-device-802-11-wireless.c
4405                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4406                 - (real_connection_secrets_updated): take a list of updated settings
4407                         names, not just one
4408
4409         * src/nm-device-802-3-ethernet.c
4410           src/nm-cdma-device.c
4411           src/nm-gsm-device.c
4412                 - (real_connection_secrets_updated_cb): take a list of updated settings
4413                         names, not just one
4414
4415         * src/nm-activation-request.c
4416           src/nm-activation-request.h
4417                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4418                         now passes a list of updated settings names, not just one
4419                 - (update_one_setting): new function; handle one updated setting
4420                 - (get_secrets_cb): handle multiple settings returned from the
4421                         settings service; have to be careful of ordering here as there are
4422                         some dependencies between settings (ex. wireless-security and 802.1x
4423                         in some cases)
4424
4425         * src/marshallers/nm-marshal.list
4426                 - new marshaller for connection-secrets-updated signal
4427
4428         * libnm-util/nm-setting-8021x.c
4429                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4430                         methods
4431                 - (verify): a valid 'eap' property is now required
4432
4433         * libnm-util/nm-connection.c
4434                 - (register_default_settings): add priorities to settings; there are
4435                         some dependencies between settings, and during the need_secrets
4436                         calls this priority needs to be respected.  For example, only the
4437                         wireless-security setting knows whether or not the connection is
4438                         going to use 802.1x or now, so it must be asked for secrets before
4439                         any existing 802.1x setting is
4440                 - (nm_connection_lookup_setting_type): expose
4441
4442         * libnm-util/nm-setting-wireless.c
4443                 - (verify): should verify even if all_settings is NULL; otherwise won't
4444                         catch the case where there is missing security
4445
4446         * libnm-util/nm-setting-wireless-security.c
4447                 - Remove everything to do with 802.1x
4448                 - Add old-school LEAP specific properties for username and password
4449                 - (need_secrets): rework LEAP secrets checking
4450                 - (verify): rework for LEAP and 802.1x verification
4451
4452 2008-03-17  Dan Williams  <dcbw@redhat.com>
4453
4454         * src/NetworkManagerPolicy.c
4455                 - (auto_activate_device): always remove the current activation check
4456                         from the pending activation list, otherwise when the policy gets
4457                         destroyed on NM exit it will attempt to free the already freed
4458                         activation check
4459
4460 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4461
4462         * src/backends/NetworkManagerSlackware.c 
4463         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4464
4465         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4466
4467 2008-03-14  Dan Williams  <dcbw@redhat.com>
4468
4469         * src/nm-manager.c
4470                 - (nm_device_interface_get_iface): g_object_get() will return an
4471                         allocated value, so this function must not return const
4472                 - (nm_device_interface_activate): free returned iface
4473
4474 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4475
4476         * libnm-util/Makefile.am: Add new files to build.
4477
4478         * libnm-util/nm-connection.c: Register NMSetting8021x.
4479
4480         * libnm-util/nm-setting-8021x.c
4481         * libnm-util/nm-setting-8021x.h: Implement.
4482
4483 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4484
4485         * libnm-util/Makefile.am: Add new files to build.
4486
4487         * libnm-util/nm-connection.c: Register NMSetting8021x.
4488
4489         * libnm-util/nm-setting-8021x.c
4490         * libnm-util/nm-setting-8021x.h: Implement.
4491
4492 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4493
4494         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4495         data.
4496
4497 2008-03-14  Dan Williams  <dcbw@redhat.com>
4498
4499         * include/wireless-helper.h
4500           include/Makefile.am
4501                 - One place for all the junk needed for #including wireless.h
4502
4503         * test/nm-tool.c
4504           src/NetworkManagerAP.c
4505           src/wpa.c
4506           src/Makefile.am
4507           libnm-util/nm-utils.c
4508           libnm-util/nm-setting-wireless.c
4509           libnm-glib/nm-device-802-11-wireless.c
4510           libnm-glib/nm-access-point.c
4511           libnm-glib/libnm-glib-test.c
4512                 - include wireless-helper.h, not iwlib.h
4513
4514         * configure.in
4515                 - Don't need libiw really, just need to check for wireless.h
4516
4517         * src/kernel-types.h
4518                 - Remove; used types moved into wpa.c
4519
4520         * src/nm-device-802-11-wireless.c
4521                 - (nm_device_802_11_wireless_update_signal_strength,
4522                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4523                    nm_device_802_11_wireless_set_mode,
4524                    nm_device_802_11_wireless_get_frequency,
4525                    nm_device_802_11_wireless_get_ssid,
4526                    nm_device_802_11_wireless_set_ssid,
4527                    nm_device_802_11_wireless_get_bitrate,
4528                    nm_device_802_11_wireless_get_bssid,
4529                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4530                         instead of iwlib functions
4531
4532 2008-03-14  Dan Williams  <dcbw@redhat.com>
4533
4534         * src/ppp-manager/nm-ppp-manager.c
4535                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4536                         should only take the DBusGMethodInvocation argument, not user/pass
4537                         too.  With dbus-glib, async functions only take 2 C arguments since
4538                         the real dbus method arguments get passed back with
4539                         dbus_g_method_return()
4540
4541 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4542
4543         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4544         Adapt the changes of NMSettingIP4Config.
4545
4546 2008-03-13  Dan Williams  <dcbw@redhat.com>
4547
4548         * src/NetworkManagerUtils.c
4549           src/NetworkManagerUtils.h
4550                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4551
4552         * src/NetworkManagerAP.c
4553           src/nm-device-802-11-wireless.c
4554           src/nm-device-802-3-ethernet.c
4555                 - s/iw_ether_ntop/nm_ether_ntop/g
4556
4557 2008-03-13  Dan Williams  <dcbw@redhat.com>
4558
4559         * src/NetworkManagerPolicy.c
4560                 - (update_routing_and_dns): never set the default route through an
4561                         IPv4LL addressed device
4562
4563 2008-03-13  Dan Williams  <dcbw@redhat.com>
4564
4565         * NetworkManagerUtils.c
4566           NetworkManagerUtils.h
4567                 - Remove NMSock stuff
4568                 - Remove the completion stuff
4569
4570         * nm-device.c
4571           nm-device.h
4572           NetworkManager.c
4573           NetworkManagerSystem.c
4574           autoip.c
4575           nm-device-802-11-wireless.c
4576           nm-device-802-3-ethernet.c
4577                 - Remove NMSock and completion stuff
4578                 - Remove nm_ioctl_info()
4579
4580 2008-03-12  Dan Williams  <dcbw@redhat.com>
4581
4582         * src/nm-device.c
4583                 - (merge_ip4_config): avoid duplicates
4584
4585 2008-03-12  Dan Williams  <dcbw@redhat.com>
4586
4587         * libnm-util/nm-setting-ip4-config.c
4588           libnm-util/nm-setting-ip4-config.h
4589                 - Remove 'manual' and 'autoip' properties
4590                 - Add 'method' property
4591                 - (verify): fix verification with 'method'
4592                 - (finalize): free 'method'
4593                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4594                         up for 'method'
4595
4596         * src/nm-device.c
4597                 - (real_act_stage3_ip_config_start): check IP4Config method
4598                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4599                         the future
4600                 - (merge_ip4_config): IP settings are valid with DHCP too
4601                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4602                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4603
4604         * src/nm-device-802-11-wireless.c
4605                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4606                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4607                         only on demand
4608
4609         * system-settings/plugins/ifcfg-fedora/parser.c
4610           system-settings/plugins/ifcfg-suse/parser.c
4611                 - (make_ip4_setting): fix up for 'method'
4612
4613 2008-03-12  Dan Williams  <dcbw@redhat.com>
4614
4615         * system-settings/plugins/ifcfg-fedora/parser.c
4616           system-settings/plugins/ifcfg-fedora/parser.h
4617                 - (get_ifcfg_name): ignore more file suffixes
4618                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4619
4620 2008-03-12  Dan Williams  <dcbw@redhat.com>
4621
4622         * configure.in
4623                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4624
4625 2008-03-12  Dan Williams  <dcbw@redhat.com>
4626
4627         * system-settings/plugins/ifcfg-fedora/plugin.c
4628                 - (write_auto_wired_connection): new function; write out an auto
4629                         wired connection file since the applet isn't doing it any more
4630                 - (reload_all_connections): write out the auto wired connection file
4631                         if there aren't any wired connections already
4632                 - (init): don't leak a GError
4633
4634 2008-03-12  Dan Williams  <dcbw@redhat.com>
4635
4636         * src/nm-device-interface.c
4637                 - (nm_device_interface_activate): print the ID of the connection
4638                         that's about to be activated
4639
4640 2008-03-12  Dan Williams  <dcbw@redhat.com>
4641
4642         Harmonize the 802.11 bitrate API
4643
4644         * introspection/nm-access-point.xml
4645                 - 'Rate' -> 'MaxBitrate'; clarify units
4646
4647         * introspection/nm-device-802-11-wireless.xml
4648                 - Clarify units of 'Bitrate'
4649
4650         * src/NetworkManagerAP.c
4651           src/NetworkManagerAP.h
4652                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4653                         property to 'max-bitrate'
4654                 - (foreach_property_cb): convert rate to Kb/s
4655
4656         * src/nm-device-802-11-wireless.c
4657                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4658
4659         * libnm-glib/nm-access-point.c
4660           libnm-glib/nm-access-point.h
4661                 - 'rate' -> 'max-bitrate'
4662
4663         * test/nm-tool.c
4664           libnm-glib/libnm-glib-test.c
4665                 - Fix up for these changes
4666
4667 2008-03-12  Dan Williams  <dcbw@redhat.com>
4668
4669         * src/nm-device.c
4670                 - (nm_device_set_ip4_config): don't send property notifications when
4671                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4672                         which dbus-glib can't parse because the value is NULL, which isn't
4673                         a legal object path.  Setting the IP4 config to NULL is only
4674                         valid when deactivating a device anyway, so the device state change
4675                         will alert listeners that the ip4 config is invalid.
4676
4677 2008-03-12  Dan Williams  <dcbw@redhat.com>
4678
4679         * src/nm-properties-changed-signal.c
4680                 - (add_to_string): better handling of NULL objects
4681
4682 2008-03-12  Dan Williams  <dcbw@redhat.com>
4683
4684         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4685         convert the libnm-glib NMDevice8023Ethernet to cached properties
4686
4687         * introspection/nm-device-802-3-ethernet.xml
4688                 - New 'Carrier' property
4689                 - New 'PropertiesChanged' signal
4690
4691         * introspection/nm-device.xml
4692                 - Remove 'Carrier' property
4693                 - Remove 'CarrierChanged' signal
4694
4695         * src/nm-device-interface.c
4696           src/nm-device-interface.h
4697                 - (nm_device_interface_init): remove 'carrier' property and
4698                         'carrier-changed' signal
4699
4700         * src/nm-device.c
4701           src/nm-device.h
4702                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4703                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4704                         the link here; wired device will handle that
4705                 - (handle_dhcp_lease_change): don't bother updating link here
4706                 - (get_property, nm_device_class_init): remove carrier property
4707
4708         * src/nm-device-802-11-wireless.c
4709                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4710                         real_update_link(); wireless devices don't use carrier at all
4711                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4712                    supplicant_iface_connection_state_cb_handler,
4713                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4714
4715         * src/nm-device-802-3-ethernet.c
4716           src/nm-device-802-3-ethernet.h
4717                 - (nm_device_802_3_ethernet_carrier_on,
4718                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4719                         instead of nm_device_set_carrier()
4720                 - (device_state_changed): update link from sysfs on activation;
4721                         replaces real_update_link()
4722                 - (real_update_link): remove, replaced by device_state_changed()
4723                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4724                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4725                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4726                         new get_carrier function
4727                 - (get_property): add 'carrier' property
4728                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4729                         hook into property-changed signal helper
4730
4731         * src/NetworkManagerPolicy.c
4732                 - (device_carrier_changed): will only ever be called with a wired device
4733                 - (device_added): only hook up to carrier-changed for wired devices
4734
4735         * libnm-glib/nm-device.c
4736           libnm-glib/nm-device.h
4737                 - (constructor, nm_device_class_init): remove carrier-changed signal
4738                 - (device_carrier_changed_proxy): remove; unused
4739                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4740
4741         * libnm-glib/nm-device-802-3-ethernet.c
4742           libnm-glib/nm-device-802-3-ethernet.h
4743                 - Convert to cached properties like AP and Wireless objects
4744                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4745                         instead of a 'char *', return value should not be freed
4746                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4747                 - (constructor): hook into properties-changed helper
4748                 - (set_property, get_property): new functions
4749                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4750
4751         * test/nm-tool.c
4752                 - (detail_device): strdup the wired hardware address too since it's
4753                         cached now
4754
4755         * libnm-glib/libnm-glib-test.c
4756                 - (dump_wired): strdup the wired hardware address too since it's
4757                         cached now
4758
4759 2008-03-12  Dan Williams  <dcbw@redhat.com>
4760
4761         * libnm-util/nm-setting-ip4-config.c
4762           libnm-util/nm-setting-ip4-config.h
4763                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4764                         the 'autoip' property from the spec
4765
4766 2008-03-11  Dan Williams  <dcbw@redhat.com>
4767
4768         * src/backends/NetworkManagerGeneric.c
4769           src/backends/NetworkManagerGeneric.h
4770                 - (nm_generic_device_get_use_dhcp): remove
4771
4772 2008-03-11  Dan Williams  <dcbw@redhat.com>
4773
4774         * src/nm-device.c
4775                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4776                         already in nm_device_set_ip4_config()
4777                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4778                         due to a DHCP rebind fails
4779                 - (nm_device_set_ip4_config): send property notifications when the
4780                         ip4 config changes
4781                 - (get_property): only report IP4Config property during valid states
4782
4783         * src/NetworkManagerPolicy.c
4784                 - (update_routing_and_dns): ignore devices that don't have an ip4
4785                         config; add parameter 'force_update' to allow callers to specify
4786                         that changes should be made even if the default device doesn't change
4787                 - (device_ip4_config_changed): update DNS and routing when the device's
4788                         IP4Config changes, like for DHCP updates
4789                 - (device_added): listen for ip4-config property changes
4790
4791 2008-03-11  Dan Williams  <dcbw@redhat.com>
4792
4793         Fix address handling as a result of DHCP rebind/renew/reboot.
4794
4795         * src/NetworkManagerSystem.c
4796                 - (check_one_address): delete an address if it doesn't match a given
4797                         one for the same interface
4798                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4799                         be smarter about flushing addresses (only flush ones that don't
4800                         match the one we're about to apply)
4801
4802         * src/backends/NetworkManagerDebian.c
4803           src/backends/NetworkManagerSuSE.c
4804           src/backends/NetworkManagerArch.c
4805           src/backends/NetworkManagerSlackware.c
4806           src/backends/NetworkManagerRedHat.c
4807           src/backends/NetworkManagerPaldo.c
4808           src/backends/NetworkManagerFrugalware.c
4809           src/backends/NetworkManagerGentoo.c
4810                 - (nm_system_delete_default_route): remove
4811
4812         * src/backends/NetworkManagerGeneric.c
4813           src/backends/NetworkManagerGeneric.h
4814                 - (nm_generic_enable_loopback): fix the loopback device label
4815                 - (nm_generic_delete_default_route): remove; no longer used
4816
4817 2008-03-11  Dan Williams  <dcbw@redhat.com>
4818
4819         * src/nm-device-interface.h
4820                 - Delimit property name words with '-', otherwise g_object_notify()
4821                         doesn't work the way we expect
4822
4823 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4824
4825         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4826
4827 2008-03-11  Dan Williams  <dcbw@redhat.com>
4828
4829         * src/NetworkManagerPolicy.c
4830                 - (update_routing_and_dns): don't change anything if the default device
4831                         hasn't changed; print something out when switching the default route
4832                         and DNS
4833
4834 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4835
4836         Implement PPPoE.
4837
4838         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4839         setting. Use "nic-$eth".
4840
4841         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4842         the device is activating here to fix a race condition.
4843
4844         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4845
4846         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4847         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4848         (nm_ppp_manager_start): Take activation request instead of connection, we might
4849         need it for asking secrets.
4850         (nm_ppp_manager_update_secrets): Implement.
4851
4852         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4853         ppp manager start. It might be needed for asking secrets.
4854
4855         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4856         (ppp_state_changed): Handle pppd daemon disappearing.
4857         (pppoe_stage2_config): Send activation request to ppp manager start.
4858
4859         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4860
4861         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4862         username and password.
4863         
4864 2008-03-10  Dan Williams  <dcbw@redhat.com>
4865
4866         * src/nm-device.c
4867                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4868                         response to a DHCP lease change
4869                 - (dhcp_state_changed): handle DHCP lease changes while activated
4870                 - (nm_device_set_ip4_config): remove a previously set named config
4871                         when setting an ip4 config
4872
4873 2008-03-10  Dan Williams  <dcbw@redhat.com>
4874
4875         * src/nm-serial-device.c
4876                 - (nm_serial_device_send_command): report errno on error
4877                 - (get_reply_got_data): limit the size of the overall buffer
4878                 - (wait_for_reply_info_destroy): destroy result string
4879                 - (wait_for_reply_got_data): append received data to an overall buffer
4880                         until timeout, filled buffer, or error instead of keeping a per-call
4881                         buffer.  Some devices send data slowly enough that this function
4882                         gets called multiple times for the same command stream.
4883                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4884                         wait_for_reply_got_data() here
4885
4886 2008-03-10  Dan Williams  <dcbw@redhat.com>
4887
4888         * src/nm-cdma-device.c
4889                 - (do_dial, init_modem): handle errors from
4890                         nm_serial_device_send_command_string()
4891
4892         * src/nm-gsm-device.c
4893                 - (do_dial, manual_registration, automatic_registration_get_network,
4894                    automatic_registration, enter_pin, check_pin, init_modem): handle
4895                         errors from nm_serial_device_send_command_string()
4896
4897 2008-03-10  Dan Williams  <dcbw@redhat.com>
4898
4899         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4900
4901         * src/named-manager/nm-named-manager.c
4902                 - (compute_searches): prefer searches before domains
4903                 - (compute_domain): new function
4904                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4905                 - (merge_one_ip4_config): if there are no searches in the source config,
4906                         merge domains of the source config into the target config
4907                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4908
4909 2008-03-10  Dan Williams  <dcbw@redhat.com>
4910
4911         * src/nm-serial-device.c
4912                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4913                 - (wait_for_reply_got_data): try to handle slower serial devices where
4914                         the reply is broken up into multiple reads by concatenating replies
4915                         together until either an error is received or the search string is
4916                         found
4917
4918 2008-03-10  Dan Williams  <dcbw@redhat.com>
4919
4920         * src/nm-device.c
4921                 - (nm_device_bring_down): deactivate the device if it's activating too,
4922                         not just if it's already activated.  This makes sure that everything
4923                         from an association attempt is cleaned up (like DHCP for example)
4924
4925 2008-03-10  Dan Williams  <dcbw@redhat.com>
4926
4927         * src/nm-serial-device.c
4928                 - (config_fd): report error from TCSETA
4929                 - (nm_serial_device_open): fail when config_fd() fails
4930
4931 2008-03-10  Dan Williams  <dcbw@redhat.com>
4932
4933         * src/nm-ip4-config.c
4934                 - (nm_ip4_config_init): allocate searches list
4935                 - (finalize): free searches list
4936
4937 2008-03-09  Dan Williams  <dcbw@redhat.com>
4938
4939         Patch from Bas Zoetekouw <bas@debian.org>
4940
4941         * src/dhcp-manager/nm-dhcp-manager.c
4942                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
4943
4944 2008-03-09  Dan Williams  <dcbw@redhat.com>
4945
4946         Patch from Bas Zoetekouw <bas@debian.org>
4947
4948         * src/nm-ip4-config.c
4949           src/nm-ip4-config.h
4950                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
4951                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
4952                         domains.  'searches' is the correct way to store multiple search
4953                         domains, whereas 'domains' is really just supposed to store one
4954                         domain.  Some sites abuse the DHCP 'domain-name' option to push
4955                         search domains to the client.
4956                 - (nm_ip4_config_add_domain): group with related functions (my patch)
4957
4958 2008-03-09  Dan Williams  <dcbw@redhat.com>
4959
4960         * src/dhcp-manager/nm-dhcp-manager.c
4961                 - (dhclient_run): send interface-specific config files to dhclient
4962
4963 2008-03-07  Dan Williams  <dcbw@redhat.com>
4964
4965         * system-settings/plugins/ifcfg-fedora/parser.c
4966                 - (is_wireless_device): new function; test a device for wireless
4967                         extensions
4968                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
4969                         test the device for wireless extensions to determine the type
4970
4971 2008-03-07  Dan Williams  <dcbw@redhat.com>
4972
4973         Change manager's StateChange signal to StateChanged for consistency.
4974
4975         * introspection/nm-manager.xml
4976                 - Add 'StateChanged' signal
4977                 - Move 'StateChange' down to the deprecated section
4978
4979         * src/nm-hal-manager.c
4980                 - (nm_hal_manager_new): connect to 'state-changed' instead
4981
4982         * src/NetworkManagerPolicy.c
4983                 - (nm_policy_new): connect to 'state-changed' instead
4984
4985         * src/nm-manager.c
4986           src/nm-manager.h
4987                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
4988                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
4989                         of 'state-change'
4990
4991         * libnm-glib/nm-client.c
4992           libnm-glib/nm-client.h
4993                 - (constructor, nm_client_class_init, client_state_changed_proxy):
4994                         track and proxy 'state-changed' instead of 'state-change'
4995
4996 2008-03-07  Dan Williams  <dcbw@redhat.com>
4997
4998         First pass of multiple active device support.  Expect bugs.
4999
5000         * src/nm-ip4-config.c
5001           src/nm-ip4-config.h
5002                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5003                         there are better ways to do this in the named manager
5004
5005         * src/nm-device.c
5006           src/nm-device.h
5007                 - (nm_device_can_activate): return whether the device can activate a
5008                         connection right now; taking into account things like carrier state
5009                         and rfkill state
5010                 - (nm_device_get_best_auto_connection): renamed from
5011                         nm_device_get_best_connection
5012                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5013                         device subclasses themselves, so that each device can override the
5014                         MTU from it's NMSetting subclass if needed
5015                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5016                         in NetworkManagerSystem.c, not here
5017
5018         * src/named-manager/nm-named-manager.c
5019           src/named-manager/nm-named-manager.h
5020                 - (nm_named_manager_name_owner_changed,
5021                    nm_named_manager_dbus_connection_changed): fix for changes to
5022                         rewrite_resolv_conf()
5023                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5024                         from parameter list
5025                 - (merge_one_ip4_config): new function; merge ip4 configs together
5026                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5027                         ip4 configs; the VPN config takes precedence, then the best
5028                         device config, then the rest of the configs
5029                 - (get_domain_for_config): take the NMNamedManager as an argument
5030                         to check whether the config is the VPN config
5031                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5032                         attribute from ip4 configs
5033                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5034                 - (remove_ip4_config_from_named): fix for changes to
5035                         get_domain_for_config()
5036                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5037                         based on its type; callers must pass in the type now
5038                 - (get_last_default_domain): remove, unused
5039                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5040
5041         * src/nm-device-802-11-wireless.c
5042                 - (real_can_activate): new function
5043                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5044                 - (real_act_stage4_get_ip4_config): handle MTU override
5045
5046         * src/nm-device-802-3-ethernet.c
5047                 - (real_can_activate): new function
5048                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5049                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5050
5051         * src/vpn-manager/nm-vpn-connection.c
5052                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5053                         attribute on the ip4 config
5054
5055         * src/NetworkManagerPolicy.c
5056                 - (nm_policy_auto_get_best_device): remove
5057                 - (nm_policy_device_change_check): remove
5058                 - (update_default_route): new function; set the default route via
5059                         the specified device
5060                 - (get_device_priority): new function; return the priority number of
5061                         a device type WRT which one should have the default route.  Order is
5062                         (highest to lowest)  wired, wireless, GSM, CDMA.
5063                 - (update_routing_and_dns): new function; determine which device should
5064                         have the default route, then update the routing table and DNS
5065                 - (maybe_auto_activate_device): new function; if a device is now
5066                         available for activation, find out what connection it would like to
5067                         activate and do it
5068                 - (schedule_activate_check): new function; if a device can be activated
5069                         now, schedule the activation.  Each device may have only one
5070                         pending activation at a given time.
5071                 - (device_state_changed): if activation was canceled, try again,
5072                         possibly with another connection; if the device was activated,
5073                         update routing and DNS; if the device was deactivated, try again
5074                         with another connection
5075                 - (device_carrier_changed): if there is no carrier, deactivate the
5076                         device; otherwise schedule an activation check for the device
5077                 - (wireless_networks_changed): schedule an activation check for the
5078                         device
5079                 - (device_added): keep track of the signal handler IDs so they can
5080                         be removed when the device goes away
5081                 - (device_removed): remove any signal handlers that might be attached
5082                         to the device; update routing and DNS
5083                 - (schedule_activate_all): new function
5084                 - (connections_added, connection_added, connection_updated): when
5085                         connections change, schedule all devices for an activation check
5086                 - (connection_removed): when a device is deactivated because its
5087                         connection was removed, schedule another activation check for it
5088                 - (nm_policy_destroy): destroy pending activations and disconnect
5089                         all device signal handlers
5090
5091         * src/nm-manager.c
5092                 - (nm_manager_activate_device): if the device was already actived,
5093                         deactivate it
5094                 - (deactivate_old_device): remove
5095                 - (connection_added_default_handler, impl_manager_activate_device):
5096                         don't deactivate other devices when activating this one
5097
5098         * src/backends/NetworkManagerGentoo.c
5099           src/backends/NetworkManagerFrugalware.c
5100           src/backends/NetworkManagerPaldo.c
5101           src/backends/NetworkManagerRedHat.c
5102           src/backends/NetworkManagerSlackware.c
5103           src/backends/NetworkManagerArch.c
5104           src/backends/NetworkManagerSuSE.c
5105           src/backends/NetworkManagerDebian.c
5106                 - (nm_system_get_mtu): remove; MTU should be provided through the
5107                         distro's system settings service plugin instead
5108                 - (nm_system_device_add_default_route_via_device): remove
5109                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5110                 - (nm_system_device_replace_default_route): new function; call
5111                         generic implementation
5112
5113         * src/backends/NetworkManagerGeneric.c
5114           src/backends/NetworkManagerGeneric.h
5115                 - (nm_generic_device_add_default_route_via_device,
5116                    nm_generic_device_add_default_route_via_device_with_iface): remove
5117                 - (nm_generic_device_replace_default_route): replace the default route
5118                         with the given route via some gateway
5119
5120         * src/NetworkManagerSystem.c
5121           src/NetworkManagerSystem.h
5122                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5123                         to routing and DNS; but set the MTU here
5124                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5125                         ip_iface of the active device; use the standard MTU setting function
5126                 - (nm_system_set_mtu): remove
5127                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5128
5129 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5130
5131         Rework the interaction between ppp manager and pppd plugin. Register a well
5132         known DBUS service in manager and let the plugin call it's methods instead
5133         of listening plugin's signals.
5134
5135         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5136         of emitting signals.
5137
5138         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5139
5140         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5141
5142         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5143         nm_ppp_manager_start().
5144
5145         * introspection/nm-ppp-manager.xml: New file.
5146
5147         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5148         the case correctly where driver is trying to send -1 for the speed, which gets
5149         casted to u16 and thus is always > 0.
5150
5151 2008-03-07  Dan Williams  <dcbw@redhat.com>
5152
5153         * src/nm-hal-manager.c
5154                 - (nm_get_device_driver_name): use net.originating_device first, fall
5155                         back to physical device.  HAL has deprecated physical_device.
5156
5157         * libnm-glib/nm-device.c
5158                 - (get_product_and_vendor): use net.originating_device first, fall
5159                         back to physical device.  HAL has deprecated physical_device.
5160                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5161
5162 2008-03-07  Dan Williams  <dcbw@redhat.com>
5163
5164         * src/nm-netlink.c
5165                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5166                         last commit; fix that
5167                 - (get_link_cache): print error string
5168
5169 2008-03-07  Dan Williams  <dcbw@redhat.com>
5170
5171         * src/nm-netlink.c
5172                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5173                         don't need this hack any more (Benoit Boissinot)
5174
5175 2008-03-06  Dan Williams  <dcbw@redhat.com>
5176
5177         * autogen.sh
5178                 - Die gnome-common, die
5179
5180 2008-03-04  Dan Williams  <dcbw@redhat.com>
5181
5182         Patch from Michael Biebl <biebl@debian.org>
5183
5184         * NetworkManager.pc.in
5185                 - doesn't actually depend on dbus-1
5186
5187         * libnm-util/nm-utils.h
5188                 - remove unused #include <dbus/dbus.h>
5189
5190         * libnm-glib/libnm_glib.pc.in
5191                 - depends on glib and dbus-glib
5192
5193 2008-03-02  Dan Williams  <dcbw@redhat.com>
5194
5195         * src/NetworkManagerPolicy.c
5196                 - s/device_state_changed_idle_id/update_state_id/
5197
5198 2008-03-02  Dan Williams  <dcbw@redhat.com>
5199
5200         * src/nm-device.c
5201           src/nm-device.h
5202           src/nm-device-802-11-wireless.c
5203           src/nm-device-802-3-ethernet.c
5204           src/NetworkManagerPolicy.c
5205                 - s/link_active/carrier
5206                 - nm_device_set_active_link() -> nm_device_set_carrier()
5207                 - nm_device_has_active_link() -> nm_device_get_carrier()
5208
5209 2008-03-02  Dan Williams  <dcbw@redhat.com>
5210
5211         * system-settings/plugins/ifcfg-fedora/parser.c
5212                 - (make_wireless_setting): fail connection creation on missing SSID
5213
5214 2008-02-29  Dan Williams  <dcbw@redhat.com>
5215
5216         * src/NetworkManagerPolicy.c
5217                 - (nm_policy_device_change_check): ensure that a previously active
5218                         device with a system connection has a link before denying a switch
5219                         to a user connection
5220
5221 2008-02-29  Dan Williams  <dcbw@redhat.com>
5222
5223         * src/nm-device-802-11-wireless.c
5224                 - (link_timeout_cb): try again if scanning; deactivate the device when
5225                         activated if the link dies
5226                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5227                         15 seconds
5228
5229 2008-02-29  Dan Williams  <dcbw@redhat.com>
5230
5231         * src/nm-device-802-11-wireless.c
5232           src/nm-device-802-11-wireless.h
5233                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5234                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5235                 - (device_cleanup): reset the scan interval lower when the device
5236                         deactivates
5237                 - (can_scan): base decision mostly off device state, not supplicant
5238                         interface state since the supplicant interface state isn't a
5239                         great indicator of whether the device is active or not
5240                 - (request_wireless_scan): clean up; schedule the next scan here
5241                 - (schedule_scan): only back the scan interval off if a new scan
5242                         actually gets scheduled; and make scan intervals tighter when the
5243                         device is disconnected
5244                 - (supplicant_iface_state_cb_handler): fold in the bits of
5245                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5246                         interval to minimum
5247                 - (activation_success_handler): reset scan interval to something
5248                         reasonable 
5249
5250 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5251
5252         reviewed by: Steev <steev@steev.net>
5253
5254         * configure.in:
5255         * src/backends/NetworkManagerGentoo.c:
5256         (nm_system_restart_mdns_responder):
5257                 Howl is no longer a supported mDNS provider
5258
5259 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5260
5261         Get rid of a bunch of unused distro specific functions.
5262
5263 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5264
5265         Implement suse plugin for system settings daemon.
5266
5267         * system-settings/plugins/ifcfg-suse/*: Implement.
5268
5269         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5270         suse.
5271
5272         * configure.in: Check (without failing) for gio.
5273         Create ifcfg-suse plugin's Makefile.
5274
5275 2008-02-20  Dan Williams  <dcbw@redhat.com>
5276
5277         * libnm-util/nm-connection.c
5278           libnm-util/nm-connection.h
5279                 - (nm_connection_compare): accept compare flags and pass them to the
5280                         setting compare function
5281
5282         * libnm-util/nm-setting.c
5283           libnm-util/nm-setting.h
5284                 - (nm_setting_compare): accept compare flags; ignore properties that are
5285                         marked fuzzy
5286
5287         * libnm-util/nm-setting-connection.c
5288           libnm-util/nm-setting-wireless.c
5289           libnm-util/nm-setting-ppp.c
5290           libnm-util/nm-setting-wired.c
5291                 - Mark some setting properties as ignorable when doing a fuzzy compare
5292
5293         * src/nm-device.c
5294                 - (device_activation_precheck): use exact compare
5295
5296 2008-02-20  Dan Williams  <dcbw@redhat.com>
5297
5298         * src/NetworkManagerPolicy.c
5299                 - (nm_policy_device_change_check): get scope off the connection, not
5300                         using the manager helper
5301
5302         * src/nm-manager.c
5303           src/nm-manager.h
5304                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5305                 - (connection_get_settings_cb): set scope and path on connection, not
5306                         using GObject data items
5307                 - (get_connection_for_proxy): don't need to return path, since that
5308                         can be gotten from the connection
5309                 - (get_connection_for_proxy): get path off the connection, not from
5310                         parameters
5311                 - (connection_removed_cb, connection_updated_cb): don't need to get
5312                         path from get_connection_for_proxy(); get scope off the connection
5313                         instead of using GObject data items
5314                 - (connection_added_default_handler, add_one_connection_element): use
5315                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5316                 - (nm_manager_get_connection_dbus_path): remove
5317                 - (nm_manager_get_connection_scope): remove
5318
5319 2008-02-20  Dan Williams  <dcbw@redhat.com>
5320
5321         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5322                 on confusing names
5323
5324         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5325                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5326                 NMExportedConnection
5327
5328         * Internally rename NMConnectionType -> NMConnectionScope
5329
5330         * Provide default implementations of the 'get_id' and 'get_settings' methods
5331                 of NMExportedConnection
5332
5333 2008-02-15  Dan Williams  <dcbw@redhat.com>
5334
5335         * src/nm-device-802-11-wireless.c
5336                 - (device_cleanup): release the AP list here too so that the AP list
5337                         doesn't survive across suspend/resume and up/down.  There is some
5338                         room for optimization, for example blow the list away when the card
5339                         brought back up, but only if the device has only been down for a
5340                         minute or more.
5341
5342 2008-02-15  Dan Williams  <dcbw@redhat.com>
5343
5344         * src/nm-hal-manager.c
5345                 - (modem_device_creator): recognize new HAL modem capabilities
5346
5347 2008-02-12  Dan Williams  <dcbw@redhat.com>
5348
5349         * system-settings/plugins/ifcfg-fedora/plugin.c
5350                 - (watch_path): handle IN_DELETE_SELF too
5351                 - (handle_connection_changed): notify when removing a connection
5352                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5353                         case of a file moving out of the profile directory
5354
5355 2008-02-12  Dan Williams  <dcbw@redhat.com>
5356
5357         * system-settings/plugins/ifcfg-fedora/parser.c
5358                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5359
5360 2008-02-12  Dan Williams  <dcbw@redhat.com>
5361
5362         * libnm-util/nm-utils.c
5363                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5364                         just any empty array
5365
5366 2008-02-12  Dan Williams  <dcbw@redhat.com>
5367
5368         * system-settings/src/nm-system-config-interface.c
5369           system-settings/src/nm-system-config-interface.h
5370                 - (load_connections): get_connections() should now return an allocated
5371                         GSList that the system settings service will free
5372
5373         * system-settings/plugins/ifcfg-fedora/plugin.c
5374           system-settings/plugins/ifcfg-fedora/parser.h
5375           system-settings/plugins/ifcfg-fedora/parser.c
5376                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5377                         in the profile directory, handle resolv.conf file changes
5378
5379 2008-02-10  Dan Williams  <dcbw@redhat.com>
5380
5381         * src/nm-device-802-3-ethernet.c
5382                 - (real_bring_up): save the supplicant interface state signal id
5383                 - (real_bring_down): disconnect from the supplicant interface state
5384                         signal
5385
5386 2008-02-07  Dan Williams  <dcbw@redhat.com>
5387
5388         * initscript/RedHat/NetworkManager.in
5389           initscript/RedHat/NetworkManagerDispatcher.in
5390                 - Add new-style LSB init headers
5391
5392 2008-02-07  Dan Williams  <dcbw@redhat.com>
5393
5394         * system-settings/src/dbus-settings.c
5395           system-settings/src/dbus-settings.h
5396                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5397                         table of secrets
5398                 - (connection_settings_get_secrets): consolidate error returns into
5399                         one place; use the new get_secrets() plugin interface function to
5400                         get secrets from the plugin itself rather than using GObject data
5401                         magic
5402
5403         * system-settings/src/main.c
5404                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5405                    load_connections): keep a private list of the plugin-returned
5406                         connections, don't use the plugin's GSList
5407
5408         * system-settings/plugins/ifcfg-fedora/plugin.c
5409                 - (watch_path): watch the path, not the filename (duh)
5410                 - (reload_all_connections): use the direct hash/equal functions; the
5411                         ones for int aren't appropriate here
5412                 - (get_secrets, system_config_interface_init): implement the
5413                         get_secrets() function
5414                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5415                         now in the connection's ConnectionData instead of being a GObject
5416                         data property
5417                 - (handle_profile_item_changed): ifcfg file path is now in the
5418                         connection's ConnectionData instead of being a GObject data property;
5419                         be sure to copy secrets over from the new connection to the existing
5420                         connection when updating the connection's settings
5421                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5422                         file descriptor
5423
5424         * system-settings/plugins/ifcfg-fedora/parser.c
5425           system-settings/plugins/ifcfg-fedora/parser.h
5426                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5427                    connection_data_copy_secrets, connection_data_free,
5428                    connection_data_add): new functions; connection data manipulation
5429                 - (make_wireless_security_setting): stuff secrets into the
5430                         connection data, not as GObject data items; make sure to close
5431                         the keys ifcfg file
5432                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5433                         connection data to the connection
5434
5435 2008-02-07  Dan Williams  <dcbw@redhat.com>
5436
5437         * system-settings/src/nm-system-config-interface.c
5438           system-settings/src/nm-system-config-interface.h
5439                 - Add a get_secrets() interface function to retrieve secrets for a
5440                         specific setting of a specific connection.  Document the interface
5441                         a bit more too.
5442
5443 2008-02-07  Dan Williams  <dcbw@redhat.com>
5444
5445         * src/nm-device-802-11-wireless.c
5446                 - (handle_auth_or_fail): new function; consolidate device activation
5447                         failure check after a certain number of failures getting secrets
5448                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5449                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5450                         the connection if secrets were requested more than a few times
5451                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5452                         tries here; otherwise they are cleared before the IP configure
5453                         timeout, which happens with open system WEP when key is wrong
5454                 - (activation_success_handler): clear wireless secrets tries here too
5455
5456 2008-02-07  Dan Williams  <dcbw@redhat.com>
5457
5458         * src/NetworkManagerPolicy.c
5459                 - (connection_updated): clear invalid tag when connection gets updated
5460                         to allow that connection to be tried again
5461                 - (nm_policy_new): save signal ids so they can be disconnected when
5462                         the policy is destroyed
5463                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5464                         and disconnect all signals from the manager object so that none
5465                         of the policy functions gets called after the policy is destroyed
5466
5467 2008-02-06  Dan Williams  <dcbw@redhat.com>
5468
5469         * src/nm-manager.c
5470                 - (finalize): remove devices a bit earlier; clean up system settings
5471                         poke
5472                 - (nm_manager_name_owner_changed): clean up system settings poke when
5473                         the service appears, and try to restart it if it fails
5474                 - (poke_system_settings_daemon_cb): try to get the system settings
5475                         service started through D-Bus service activation
5476                 - (initial_get_connections): start the system settings daemon if it's
5477                         not already running
5478
5479 2008-02-05  Dan Williams  <dcbw@redhat.com>
5480
5481         * src/supplicant-manager/nm-supplicant-config.c
5482                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5483                         broadcast networks too
5484
5485 2008-02-04  Dan Williams  <dcbw@redhat.com>
5486
5487         * system-settings/plugins/ifcfg-fedora/parser.c
5488                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5489                         need key_mgmt set too
5490                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5491                         .bak files; ensure that an error is set whenever NULL gets returned
5492
5493 2008-02-04  Dan Williams  <dcbw@redhat.com>
5494
5495         * system-settings/src/Makefile.am
5496                 - Install D-Bus service activation file for the system settings
5497                         service
5498
5499         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5500                 - D-Bus service activation file for system settings service
5501
5502 2008-02-04  Dan Williams  <dcbw@redhat.com>
5503
5504         * system-settings/src/main.c
5505                 - (parse_config_file): parse a config file
5506                 - (main): accept --config option and read plugins from config file
5507
5508 2008-02-04  Dan Williams  <dcbw@redhat.com>
5509
5510         * system-settings/plugins/ifcfg-fedora/plugin.c
5511                 - Change reported name to 'ifcfg-fedora'
5512                 - Use IFCFG_PLUGIN_NAME
5513
5514         * system-settings/plugins/ifcfg-fedora/plugin.c
5515                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5516
5517 2008-02-04  Dan Williams  <dcbw@redhat.com>
5518
5519         * system-settings/plugins/ifcfg-fedora/parser.c
5520                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5521                 - (make_connection_setting): use get_ifcfg_name()
5522                 - (make_wireless_security_setting): handle shadow key files
5523                 - (get_one_wep_key): treat empty string as NULL
5524
5525 2008-02-04  Dan Williams  <dcbw@redhat.com>
5526
5527         * src/supplicant-manager/nm-supplicant-manager.c
5528                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5529                         glib automatically reschedule
5530                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5531                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5532                         the supplicant
5533
5534 2008-02-01  Dan Williams  <dcbw@redhat.com>
5535
5536         * src/NetworkManagerPolicy.c
5537                 - (device_state_changed): schedule a change check when a device gets
5538                         deactivated so something happens if you disconnect GSM/CDMA
5539
5540 2008-01-31  Dan Williams  <dcbw@redhat.com>
5541
5542         * src/nm-device-802-11-wireless.h
5543           src/nm-device-802-11-wireless.c
5544                 - (ap_list_get_ap_by_ssid, is_associated,
5545                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5546                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5547                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5548                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5549                         function
5550
5551 2008-01-30  Dan Williams  <dcbw@redhat.com>
5552
5553         * system-settings/plugins/ifcfg
5554         * system-settings/plugins/ifcfg-fedora
5555                 - Move the ifcfg plugin to ifcfg-fedora
5556
5557 2008-01-24  Dan Williams  <dcbw@redhat.com>
5558
5559         * libnm-glib/nm-device-802-11-wireless.c
5560                 - (get_access_point): move the "/" check here; check for invalid path
5561                         too
5562                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5563                         to get_access_point()
5564                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5565                         to send signals for non-existent access points
5566
5567 2008-01-24  Dan Williams  <dcbw@redhat.com>
5568
5569         * libnm-glib/nm-device-802-11-wireless.c
5570                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5571
5572 2008-01-23  Dan Williams  <dcbw@redhat.com>
5573
5574         * libnm-glib/libnm_glib.c
5575                 - (libnm_glib_init): make thread joinable
5576                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5577
5578 2008-01-23  Dan Williams  <dcbw@redhat.com>
5579
5580         * test/libnm_glib_test.c
5581                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5582                 - (main): set up signal handlers; call libnm_glib_shutdown
5583
5584 2008-01-21  Dan Williams  <dcbw@redhat.com>
5585
5586         * include/NetworkManager.h
5587                 - Add CDMA mobile broadband card device type
5588
5589         * src/nm-hal-manager.c
5590                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5591                         must now be tagged with 'cdma' or 'gsm' capability
5592
5593         * src/nm-cdma-device.c
5594           src/nm-cdma-device.h
5595           src/Makefile.am
5596                 - Add the CDMA mobile broadband card device class
5597
5598         * libnm-util/nm-connection.c
5599                 - (register_default_settings): add NMSettingCdma
5600
5601         * libnm-util/nm-setting-cdma.c
5602           libnm-util/nm-setting-cdma.h
5603           libnm-util/Makefile.am
5604                 - Add the CDMA mobile broadband card setting class
5605
5606         * libnm-glib/nm-cdma-device.c
5607           libnm-glib/nm-cdma-device.h
5608           libnm-glib/Makefile.am
5609                 - Add the CDMA mobile broadband card GLib proxy class
5610
5611         * libnm-glib/nm-client.c
5612                 - (get_device): handle CDMA devices too
5613
5614 2008-01-21  Dan Williams  <dcbw@redhat.com>
5615
5616         * src/ppp-manager/nm-ppp-manager.c
5617                 - (ip4_config_get): set peer address too
5618
5619         * src/ppp-manager/nm-pppd-plugin.c
5620                 - (nm_ip_up): try harder to get the peer's address
5621
5622         * src/NetworkManagerSystem.c
5623                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5624                         address, use that too.  Otherwise, some PPP connections won't work.
5625
5626 2008-01-19  Dan Williams  <dcbw@redhat.com>
5627
5628         * src/NetworkManagerPolicy.c
5629                 - (nm_policy_device_change_check): system connections override user
5630                         connections; don't activate a user connection if there's a currently
5631                         active system connection, and new, better system connections always
5632                         interrupt user connections
5633
5634 2008-01-19  Dan Williams  <dcbw@redhat.com>
5635
5636         * src/nm-manager.h
5637                 - (nm_manager_get_connection_type): new function
5638
5639 2008-01-19  Dan Williams  <dcbw@redhat.com>
5640
5641         * src/nm-device-802-11-wireless.c
5642                 - (real_get_best_connection): collapse find_best_connection() into this
5643                         function
5644
5645 2008-01-19  Dan Williams  <dcbw@redhat.com>
5646
5647         * src/nm-device-802-3-ethernet.c
5648                 - (real_get_best_connection): collapse find_best_connection() into this
5649                         function
5650
5651 2008-01-18  Dan Williams  <dcbw@redhat.com>
5652
5653         * src/nm-device-802-3-ethernet.c
5654                 - (find_best_connection): check MAC address too
5655                 - (real_get_best_connection): let autoconnect=True connections activate
5656                         for devices that don't have carrier detection
5657
5658         * src/nm-device-802-11-wireless.c
5659                 - (find_best_connection): check MAC address too
5660
5661 2008-01-18  Dan Williams  <dcbw@redhat.com>
5662
5663         * system-settings/plugins/ifcfg/parser.c
5664                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5665
5666 2008-01-17  Dan Williams  <dcbw@redhat.com>
5667
5668         * src/nm-device-802-3-ethernet.c
5669                 - (nm_device_802_3_ethernet_carrier_on,
5670                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5671                         carrier events that might come in for devices that don't support
5672                         carrier detect
5673
5674 2008-01-17  Dan Williams  <dcbw@redhat.com>
5675
5676         * src/nm-device-interface.c
5677                 - (nm_device_interface_check_connection_conflicts): need to actually
5678                         get the interface, not cast to the object
5679
5680         * src/nm-device.c
5681                 - (nm_device_check_connection_conflicts): need to get the device class,
5682                         not cast the device to the device class
5683
5684 2008-01-17  Dan Williams  <dcbw@redhat.com>
5685
5686         * src/nm-device-802-11-wireless.c
5687                 - (real_check_connection_conflicts): ignore connections that aren't
5688                         wireless connections
5689
5690 2008-01-17  Dan Williams  <dcbw@redhat.com>
5691
5692         * src/NetworkManagerPolicy.c
5693                 - (nm_policy_device_change_check): clear change check idle here
5694                 - (device_change_check_done): remove
5695                 - (schedule_change_check): simplify
5696
5697 2008-01-17  Dan Williams  <dcbw@redhat.com>
5698
5699         * src/nm-manager.c
5700                 - (check_connection_allowed): take an NMDeviceInterface instead of
5701                         an NMDevice object as an argument
5702                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5703                         check_connection_allowed()
5704
5705 2008-01-13  Dan Williams  <dcbw@redhat.com>
5706
5707         * libnm-glib/nm-device-802-11-wireless.c
5708                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5709
5710 2008-01-12  Dan Williams  <dcbw@redhat.com>
5711
5712         * src/nm-device-802-11-wireless.c
5713                 - (activation_success_handler): if a match was found in the scan list
5714                         and that match is a hidden AP, update that AP's SSID
5715
5716 2008-01-11  Dan Williams  <dcbw@redhat.com>
5717
5718         * src/NetworkManagerAP.c
5719                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5720
5721         * src/nm-device-802-11-wireless.c
5722                 - (get_active_ap): do two passes over the scan list if the caller
5723                         requests that hidden APs get matched too; during the second pass
5724                         when matching hidden APs, ignore the SSID since hidden APs in the
5725                         scan list don't have an SSID yet
5726                 - (periodic_update): move some checks to
5727                         nm_device_802_11_periodic_update() because not all callers need them
5728                 - (nm_device_802_11_periodic_update): move some checks here from
5729                         perodic_update()
5730                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5731                         matching on incoming scan results, because the fake AP's flags
5732                         might be slightly different (yet still compatible) with the incoming
5733                         scan result's flags and they might actually be the same AP; update
5734                         the rate on merged APs too
5735                 - (activation_success_handler): update the frequency of the fake AP
5736                         on successful connection; match hidden APs too since if the
5737                         current AP is fake, there might already be a scan result in the
5738                         scan list for the desired AP, just without it's SSID filled in yet
5739
5740 2008-01-10  Dan Williams  <dcbw@redhat.com>
5741
5742         * src/NetworkManagerAP.c
5743                 - (foreach_property_cb): catch more hidden SSID formats
5744
5745 2008-01-10  Dan Williams  <dcbw@redhat.com>
5746
5747         Fix gnome.org #464215.  Requires the kernel patch titled
5748         "Introduce WEXT scan capabilities" but will handle the patch not being
5749         present, you'll just continue to have problems with hidden SSIDs when
5750         using mac80211-based drivers.
5751
5752         * src/supplicant-manager/nm-supplicant-config.h
5753           src/supplicant-manager/nm-supplicant-config.c
5754                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5755                         whether the driver supports SSID scans or not.  If it does, and if
5756                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5757
5758         * src/nm-device-802-11-wireless.c
5759                 - (constructor): check whether or not the driver supports SSID scans
5760                 - (build_supplicant_config): pass driver SSID scan capability when
5761                         building the wireless bits of the supplicant config
5762
5763 2008-01-09  Dan Williams  <dcbw@redhat.com>
5764
5765         * src/nm-device.c
5766           src/nm-device.h
5767                 - (device_activation_precheck, check_connection_complete): remove this
5768                         virtual function; incomplete connections should be invalid by
5769                         definition, complete-ness should be checked in the setting's
5770                         verify function
5771
5772         * src/nm-serial-device.c
5773           src/nm-gsm-device.c
5774                 - (real_check_connection_complete): remove
5775
5776         * libnm-util/nm-setting-serial.c
5777                 - (verify): new function; ensure there is a PPP setting too
5778
5779         * libnm-util/nm-setting-gsm.c
5780                 - (verify): ensure there is a serial setting too
5781
5782 2008-01-06  Dan Williams  <dcbw@redhat.com>
5783
5784         * src/dhcp-manager/nm-dhcp-manager.c
5785                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5786                         (gnome.org #332953)
5787
5788 2008-01-04  Dan Williams  <dcbw@redhat.com>
5789
5790         * src/named-manager/nm-named-manager.c
5791                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5792                         nameservers if the secondary config doesn't have any
5793                         (gnome.org #346833)
5794
5795 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5796
5797         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5798         with G_PARAM_CONSTRUCT so that they get the default values.
5799
5800         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5801         the monitoring device and prints out the output for now. Or more precicely, doesn't
5802         do absolutely anything right now since the montoring device argument is never set.
5803
5804         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5805         requires it's own knob to turn it on.
5806         (config_fd): Add NMSettingSerial to the arguments list.
5807         (nm_serial_device_open): Ditto.
5808         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5809         (nm_serial_device_get_io_channel): Implement.
5810
5811         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5812         a new reference every time (and forgetting to release it sometimes) is a pain and
5813         it's not like NMManager could work without dbus.
5814         (nm_manager_add_device): Register the added device on dbus here.
5815
5816         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5817         device.
5818
5819         * src/nm-device.c (constructor): Don't export the device here, instead export
5820         it when it's added to the NMManager's device list.
5821
5822 2007-12-31  Dan Williams  <dcbw@redhat.com>
5823
5824         * src/nm-device-interface.c
5825           src/nm-device-interface.h
5826                 - (nm_device_interface_check_connection_conflicts): new function
5827
5828         * src/nm-device.c
5829           src/nm-device.h
5830                 - (nm_device_check_connection_conflicts): new function
5831                 - (device_activation_precheck): don't require subclasses to implement
5832                         check_connection_complete()
5833                 - check_connection() -> check_connection_complete()
5834
5835         * src/nm-device-802-11-wireless.c
5836                 - (real_check_connection): remove; unused
5837                 - (real_check_connection_conflicts): implement, handle lockdown for
5838                         system connections
5839
5840         * src/nm-device-802-3-ethernet.c
5841                 - (real_check_connection): remove; unused
5842
5843         * src/nm-manager.c
5844                 - (check_connection_allowed): new function
5845                 - (nm_manager_activate_device): ensure the connection being requested
5846                         is allowed to be activated
5847
5848         * src/nm-serial-device.c
5849           src/nm-gsm-device.c
5850                 - real_check_connection() -> real_check_connection_complete()
5851
5852 2007-12-27  Dan Williams  <dcbw@redhat.com>
5853
5854         * src/nm-device-interface.c
5855           src/nm-device-interface.h
5856                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5857                         normalize and expand errors
5858                 - (nm_device_interface_init): register errors so they can be marshalled
5859                         through dbus-glib
5860                 - (nm_device_interface_activate): ensure that failure of activation
5861                         returns an error
5862
5863         * src/nm-device.c
5864           src/nm-device.h
5865                 - (device_activation_precheck): implementations of check_connection()
5866                         now take a GError and must fill it in if the check fails.  Return
5867                         more descriptive error if the requested connection is already
5868                         activating
5869                 - (nm_device_activate): actually try to return descriptive errors on
5870                         failures
5871
5872         * src/nm-device-802-11-wireless.c
5873           src/nm-device-802-3-ethernet.c
5874           src/nm-serial-device.c
5875           src/nm-gsm-device.c
5876                 - (real_check_connection): return more descriptive errors on failure
5877
5878         * src/NetworkManagerPolicy.c
5879                 - (nm_policy_device_change_check): print activation errors in the logs
5880
5881         * src/nm-manager.c
5882                 - (nm_manager_error_quark, nm_manager_error_get_type,
5883                    nm_manager_class_init): new errors
5884                 - (nm_manager_activate_device): handle errors
5885                 - (nm_manager_error_new): removed
5886                 - (wait_for_connection_expired, connection_added_default_handler,
5887                    impl_manager_activate_device): better error handling
5888
5889 2007-12-27  Dan Williams  <dcbw@redhat.com>
5890
5891         Fixes gnome.org #466954
5892
5893         * src/supplicant-manager/nm-supplicant-settings-verify.c
5894                 - Allow 'frequency' network property
5895
5896         * src/supplicant-manager/nm-supplicant-config.c
5897           src/supplicant-manager/nm-supplicant-config.h
5898                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5899                         for callers to specify the frequency an Ad-Hoc network should operate
5900                         on.  Some drivers require this to successfully create an Ad-Hoc
5901                         network.
5902
5903         * src/nm-device-802-11-wireless.c
5904                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5905                         guint32 value in MHz
5906                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5907                         iw_freq_to_uint32()
5908                 - (find_supported_frequency): new function; find a free supported
5909                         frequency for a user-created Ad-Hoc network
5910                 - (build_supplicant_config): if no frequency was specified for a user-
5911                         created Ad-Hoc network, find a free one to use
5912                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5913                         a specific object as user-created
5914
5915 2007-12-27  Dan Williams  <dcbw@redhat.com>
5916
5917         * libnm-util/nm-utils.c
5918           libnm-util/nm-utils.h
5919                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
5920                         for adhoc networks
5921
5922 2007-12-24  Dan Williams  <dcbw@redhat.com>
5923
5924         * libnm-util/nm-setting-wireless.c
5925                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
5926                         185, 187, 188, 192, and 196
5927
5928 2007-12-24  Dan Williams  <dcbw@redhat.com>
5929
5930         * src/nm-device-802-11-wireless.c
5931                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
5932                         a channel # instead of a frequency
5933
5934 2007-12-24  Dan Williams  <dcbw@redhat.com>
5935
5936         * src/NetworkManagerAP.c
5937           src/NetworkManagerAP.h
5938                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
5939                 - (freq_to_channel): handle split band tables
5940                 - (channel_to_freq): handle split band tables, take a band argument
5941
5942 2007-12-24  Dan Williams  <dcbw@redhat.com>
5943
5944         * libnm-util/nm-setting-connection.h
5945           libnm-util/nm-setting-connection.c
5946                 - Add 'lockdown' member
5947
5948 2007-12-22  Dan Williams  <dcbw@redhat.com>
5949
5950         * libnm-util/nm-setting-wireless.c
5951                 - (nm_setting_wireless_class_init): add missing 'rate' property
5952                         specification
5953
5954 2007-12-18  Dan Williams  <dcbw@redhat.com>
5955
5956         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
5957
5958         * src/nm-netlink-monitor.c
5959           src/nm-netlink-monitor.h
5960                 - Remove handrolled netlink, use libnl instead
5961
5962         * src/nm-device-802-3-ethernet.c
5963                 - (constructor, nm_device_802_3_ethernet_carrier_off,
5964                    nm_device_802_3_ethernet_carrier_on): use new names
5965
5966 2007-12-17  Dan Williams  <dcbw@redhat.com>
5967
5968         * configure.in
5969                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
5970                         and fixes memory leaks)
5971
5972         * src/nm-netlink.c
5973                 - (nm_netlink_get_default_handle): handle new versions of libnl that
5974                         automatically handle the netlink PID
5975
5976 2007-12-17  Dan Williams  <dcbw@redhat.com>
5977
5978         Patch from Michael Biebl <biebl@debian.org>
5979
5980         * configure.in
5981           src/ppp-manager/Makefile.am
5982                 - fix up install dir of pppd plugin
5983                 - clean up configure.in a bit
5984
5985 2007-12-12  Dan Williams  <dcbw@redhat.com>
5986
5987         * system-settings/src/nm-system-settings.conf
5988                 - Allow non-root clients (like the applet) to read settings
5989
5990 2007-12-10  Tambet Ingo  <tambet@gmail.com>
5991
5992         * Replace all occurences of 'UMTS' with 'GSM'.
5993
5994 2007-12-07  Dan Williams  <dcbw@redhat.com>
5995
5996         * src/nm-serial-device.c
5997                 - (real_is_up): serial devices are always "up"
5998
5999 2007-12-07  Dan Williams  <dcbw@redhat.com>
6000
6001         * src/nm-netlink.c
6002           src/NetworkManagerSystem.c
6003                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6004                         twice (gnome.org #491047)
6005                 - Make more robust against allocation-related failures should they occur
6006
6007 2007-12-07  Dan Williams  <dcbw@redhat.com>
6008
6009         Noticed by Christian Persch <chpe@gnome.org>
6010
6011         Always chain up to parent object in dispose and finalize handlers.
6012                 (gnome.org #433112)
6013
6014 2007-12-07  Dan Williams  <dcbw@redhat.com>
6015
6016         * src/nm-device-802-11-wireless.c
6017                 - Wrap #include of linux/mii.h to fix redefined structures due to
6018                         incorrect kernel headers (gnome.org #350061)
6019
6020 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6021
6022         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6023         before doing anything else.
6024         (init_modem): Move modem initialization here.
6025
6026         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6027         (nm_serial_device_flash): Implement.
6028
6029         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6030         changes signal is "StateChanged" and not "Status".
6031         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6032
6033 2007-12-06  Dan Williams  <dcbw@redhat.com>
6034
6035         * src/supplicant-manager/nm-supplicant-config.c
6036                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6037                         to only send some options when they make sense; also send phase2
6038                         option to the supplicant (possible fix for rh #399631)
6039
6040 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6041
6042         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6043         arguments: This whole file shouldn't really know anything about NMDevices, it
6044         should deal only with device interfaces. Devices might have different ifaces for
6045         different stuff and this place shouldn't know anything about it.
6046
6047         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6048         (global_state_changed): Implement. In the current NM it's not really important,
6049         but will be required in the case of multiple active devices. (Or even better,
6050         if stuff like that gets moved out from NM).
6051
6052         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6053         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6054         instead.
6055
6056         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6057         devices like serial devices (ttyS0 and ppp0 for example).
6058         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6059         set.
6060         (nm_device_set_ip_iface): Implement.
6061         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6062         after setting ip4_config from here ...
6063         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6064         than this function should call nm_system_device_set_from_ip4_config() because no
6065         other code has enough information on which arguments to use. So instead, other code
6066         could just set the new ip4 config using this function and everyone is happy.
6067
6068         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6069         if we happen to get deactivated while something is pending.
6070         (automatic_registration): Handle the response that indicates pending network
6071         registration and wait until the pending registration is done.
6072         (real_deactivate_quickly): If there's a pending operation, cancel it.
6073
6074         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6075         (real_deactivate_quickly): ... and remove it when it's down.
6076         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6077         it if needed.
6078         (nm_serial_device_wait_for_reply): Ditto.
6079
6080 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6081
6082         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6083         (get_network_done): Remove newline, nm_info() does it already.
6084         (real_act_stage1_prepare): Turn the modem echo off.
6085
6086         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6087         device, set the route to the device interface. This is a hack.
6088
6089         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6090         return, no need for a new-line.
6091         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6092         Change the device iface here (ugh).
6093         (real_act_stage4_get_ip4_config): Implement.
6094         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6095         Restore the device iface.
6096
6097         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6098         device is not wired or wireless (eg, automatically upped) device.
6099
6100         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6101         it isn't.
6102         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6103
6104         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6105         before calling it's is_device_fn().
6106
6107 2007-12-05  Dan Williams  <dcbw@redhat.com>
6108
6109         * libnm-util/nm-utils.c
6110                 - (nm_utils_register_value_transformations,
6111                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6112                         GHashTables of GValues too
6113
6114 2007-12-04  Dan Williams  <dcbw@redhat.com>
6115
6116         * initscript/RedHat/NetworkManager.in
6117                 - No longer start named; it's D-Bus interface is going away
6118
6119 2007-12-04  Dan Williams  <dcbw@redhat.com>
6120
6121         Patch from Michael Biebl <biebl@debian.org>
6122
6123         * system-settings/plugins/ifcfg/Makefile.am
6124           system-settings/src/main.c
6125           system-settings/src/Makefile.am
6126                 - Put system settings plugins in NM plugins dir
6127
6128         * src/ppp-manager/Makefile.am
6129           src/ppp-manager/nm-ppp-manager.c
6130                 - Move pppd plugin to NM plugins dir
6131
6132 2007-12-04  Dan Williams  <dcbw@redhat.com>
6133
6134         * libnm-util/nm-setting-vpn-properties.h
6135                 - Clarify usage of the 'data' member of the setting
6136
6137         * libnm-util/nm-setting-vpn-properties.c
6138                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6139                 - (set_property): just remove all the settings; don't recreate the has
6140                 - (update_one_secret): don't need to create the hash table here since
6141                         it should always be present
6142
6143 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6144
6145         Implement PIN and PUK requesting.
6146
6147         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6148         (enter_pin): Handle PIN and PUK requests.
6149         (real_act_stage1_prepare): Clear the secret type.
6150         (real_connection_secrets_updated): Implement this class method to get
6151         notified when new secrets arrive.
6152         (nm_umts_device_class_init): Add private data back to the umts device class
6153         to store the required secret type.
6154
6155 2007-12-01  Dan Williams  <dcbw@redhat.com>
6156
6157         * system-settings/plugins/ifcfg/parser.c
6158                 - (parser_parse_file): don't try to verify NULL connections
6159
6160 2007-12-01  Dan Williams  <dcbw@redhat.com>
6161
6162         * system-settings/src/main.c
6163                 - (load_connections, add_connection_to_settings): actually export
6164                         plugin-provided connections over D-Bus so NM can get them
6165
6166 2007-12-01  Dan Williams  <dcbw@redhat.com>
6167
6168         * system-settings/plugins/ifcfg/parser.c
6169           system-settings/plugins/ifcfg/parser.h
6170           system-settings/plugins/ifcfg/plugin.c
6171                 - Hook up more inotify bits (untested)
6172
6173 2007-11-29  Dan Williams  <dcbw@redhat.com>
6174
6175         * system-settings/src/nm-system-config-interface.h
6176           system-settings/src/nm-system-config-interface.c
6177                 - (nm_system_config_interface_init,
6178                    nm_system_config_interface_get_connections): add
6179
6180         * system-settings/src/main.c
6181                 - (load_plugins, load_connections, main): use a GSList for plugins
6182                         to ensure priority ordering
6183
6184         * system-settings/plugins/ifcfg/parser.c
6185                 - (ifcfg_error_quark): move to plugin.c, and rename
6186
6187         * system-settings/plugins/ifcfg/plugin.h
6188           system-settings/plugins/ifcfg/plugin.c
6189                 - (ifcfg_plugin_error_quark): move here from parser.c
6190                 - rework connection loading and initialization
6191                 - Add preliminary inotify support for network profile config file
6192
6193 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6194
6195         Merge the beginnings of the new GSM card support.
6196
6197         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6198         ppp watch source before killing pppd - If this happens from g_object_unref()
6199         then the ppp manager is already destroyed by the time the watch callback runs.
6200
6201         * src/nm-hal-manager.c: Add a device_type_name string to the device
6202         creators, so that we can print a nice human readable string when a
6203         device is added.
6204
6205         * src/nm-umts-device.c (automatic_registration_get_network): Query
6206         for the activated network, not much is done with the result thought.
6207
6208         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6209         (ppp_ip4_config): Change the device state to activated here for now.
6210         (real_check_connection): Make sure the connection includes ppp setting.
6211
6212         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6213
6214         * libnm-glib/Makefile.am: Add the new files to build.
6215
6216         * libnm-glib/nm-umts-device.c: 
6217         * libnm-glib/nm-umts-device.h: Implement.
6218
6219 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6220
6221         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6222         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6223
6224         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6225         the timeout source - this function is only called when the timeout source has
6226         been removed.
6227         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6228         to be big enough to contain the terminating zero element as well.
6229         The timeout argument is meant to be in seconds now.
6230         (real_deactivate_quickly): Implement.
6231
6232         * src/NetworkManager.conf: Allow root to own 
6233         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6234
6235         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6236         (not unsigned ints).
6237
6238         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6239         small issue with parity bounds - capital letters have lower ascii codes
6240         than lower case letters.
6241
6242         * libnm-util/nm-connection.c (register_default_settings): Register serial
6243         and umts settings.
6244
6245 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6246
6247         Remove the "index" property from devices as not all device types have this.
6248
6249         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6250
6251         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6252         (wired_device_creator): Get the device interface from hal to create the device.
6253         (wireless_device_creator): Ditto.
6254
6255         * src/nm-device.c (nm_device_init): Remove the index member.
6256         (constructor): Remove the checks for index property, make interface property
6257         a require constructor property.
6258         Use the HAL udi for DBus path for devices.
6259         (nm_device_get_index): Remove.
6260         (set_property): Remove index handling.
6261         (get_property): Ditto.
6262         (nm_device_get_dbus_path): Remove.
6263
6264         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6265         property.
6266
6267         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6268         Access the device index through it's interface.
6269         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6270         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6271         index argument. Add interface argument.
6272
6273         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6274         the useless test_dev argument. Remove index argument. Add interface arugment.
6275
6276         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6277         device index through interface.
6278         (nm_system_set_mtu): Ditto.
6279
6280         * introspection/nm-device.xml: Remove the "Index" property.
6281
6282 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6283
6284         * src/nm-serial-device.c: 
6285         * src/nm-serial-device.c: 
6286         * src/nm-umts-device.c:
6287         * src/nm-umts-device.h: Implement.
6288
6289         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6290         allocated by libhal.
6291         (modem_device_creator): Implement.
6292         (register_built_in_creators): Register the modem creator.
6293
6294         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6295         Remove the unused test_dev argument.
6296
6297         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6298
6299         * src/Makefile.am: Add new files to build.
6300         Link in ppp-manager.
6301
6302         * libnm-util/nm-setting-umts.c: 
6303         * libnm-util/nm-setting-umts.h: 
6304         * libnm-util/nm-setting-serial.c: 
6305         * libnm-util/nm-setting-serial.h: Implement.
6306
6307         * libnm-util/Makefile.am: Add new files to build.
6308
6309 2007-11-28  Dan Williams  <dcbw@redhat.com>
6310
6311         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6312
6313         Support DHCP-provided static routes.
6314
6315         * src/nm-ip4-config.h
6316           src/nm-ip4-config.c
6317                 - Add get/set functions for static routes
6318
6319         * src/dhcp-manager/nm-dhcp-manager.c
6320                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6321                         DHCP response
6322
6323         * src/NetworkManagerSystem.c
6324                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6325                         interface when applying the IP4Config
6326
6327 2007-11-28  Dan Williams  <dcbw@redhat.com>
6328
6329         * src/nm-device-802-11-wireless.c
6330                 - (real_act_stage1_prepare): mark APs created for hidden networks
6331                         as non-broadcasting
6332
6333 2007-11-27  Dan Williams  <dcbw@redhat.com>
6334
6335         * system-settings/src/nm-system-config-interface.h
6336                 - Note how to store secrets on NMSetting objects
6337
6338         * system-settings/src/dbus-settings.c
6339                 - (connection_settings_get_secrets): implement
6340
6341 2007-11-27  Dan Williams  <dcbw@redhat.com>
6342
6343         * system-settings/plugins/ifcfg/Makefile.am
6344           system-settings/plugins/ifcfg/parser.c
6345           system-settings/plugins/ifcfg/parser.h
6346           system-settings/plugins/ifcfg/plugin.c
6347                 - Parse wireless connections too
6348
6349         * system-settings/src/dbus-settings.c
6350           system-settings/src/dbus-settings.h
6351           system-settings/src/main.c
6352                 - Handle connection update/removal if the plugin supports it
6353
6354 2007-11-27  Dan Williams  <dcbw@redhat.com>
6355
6356         * src/nm-dbus-manager.h
6357           src/nm-hal-manager.c
6358                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6359                         do it for them
6360
6361         * src/Makefile.am
6362           src/NetworkManagerDbusUtils.c
6363           src/NetworkManagerDbusUtils.h
6364                 - Remove these two source files; they are unused
6365
6366 2007-11-27  Dan Williams  <dcbw@redhat.com>
6367
6368         * src/vpn-manager/nm-vpn-manager.c
6369                 - (impl_vpn_manager_connect): fix system settings check (found by
6370                         James M. Leddy)
6371
6372 2007-11-26  Dan Williams  <dcbw@redhat.com>
6373
6374         * Fix warnings so everything compiles with --enable-more-warnings
6375
6376 2007-11-25  Dan Williams  <dcbw@redhat.com>
6377
6378         * system-settings/*
6379                 - Rework structure and code to use GModule-loaded plugins and a plugin
6380                         interface that plugins export to the system settings service
6381
6382 2007-11-21  Dan Williams  <dcbw@redhat.com>
6383
6384         * system-settings/*
6385                 - Add Soren's system settings service.  Needs work for distros other
6386                         than Fedora; the backends from NM should mostly migrate to here
6387                         and be converted to GObjects
6388
6389 2007-11-21  Dan Williams  <dcbw@redhat.com>
6390
6391         * libnm-util/nm-setting-vpn-properties.c
6392                 - (set_property): must deep-copy the given settings hash, otherwise
6393                         double-free errors occur when the setting is disposed of
6394
6395 2007-11-21  Dan Williams  <dcbw@redhat.com>
6396
6397         * src/vpn-manager/nm-vpn-act-request.h
6398           src/vpn-manager/nm-vpn-act-request.c
6399                 - Remove; unused
6400
6401 2007-11-20  Dan Williams  <dcbw@redhat.com>
6402
6403         * libnm-util/nm-utils.c
6404                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6405                    nm_utils_convert_ip4_addr_struct_array_to_string,
6406                    nm_utils_register_value_transformations): print out the readable
6407                         values of more types of properties of NMSettings subclasses
6408
6409 2007-11-20  Dan Williams  <dcbw@redhat.com>
6410
6411         * libnm-util/nm-setting-ip4-config.c
6412                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6413                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6414                         marshal GValueArrays inside collections, so switch to types that it
6415                         can actually marshal/demarshal
6416
6417 2007-11-16  Dan Williams  <dcbw@redhat.com>
6418
6419         * libnm-util/nm-setting-wireless-security.c
6420                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6421                         minimal verification of EAP methods too
6422                 - (verify): verify phase1 eap methods too
6423
6424 2007-11-15  Dan Williams  <dcbw@redhat.com>
6425
6426         * libnm-glib/nm-device.h
6427           libnm-glib/nm-device.c
6428                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6429                         const char *
6430
6431 2007-11-15  Dan Williams  <dcbw@redhat.com>
6432
6433         * libnm-glib/nm-device.c
6434                 - (get_product_and_vendor): don't try to free things that should be
6435                         freed
6436
6437 2007-11-15  Dan Williams  <dcbw@redhat.com>
6438
6439         * src/NetworkManagerUtils.c
6440                 - (nm_ethernet_address_is_valid): unbreak previous fix
6441
6442 2007-11-15  Dan Williams  <dcbw@redhat.com>
6443
6444         * src/supplicant-manager/nm-supplicant-config.c
6445                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6446                         options
6447
6448 2007-11-15  Dan Williams  <dcbw@redhat.com>
6449
6450         * src/NetworkManagerUtils.c
6451                 - (nm_ethernet_address_is_valid): fix style, clarify
6452                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6453
6454         * src/nm-device-802-11-wireless.c
6455                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6456                 - (nm_device_802_11_wireless_get_ssid,
6457                    nm_device_802_11_wireless_get_bssid,
6458                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6459                         before calling the ioctl; fixes valgrind-reported jump depends on
6460                         uninitialized value errors
6461
6462 2007-11-15  Dan Williams  <dcbw@redhat.com>
6463
6464         * libnm-util/nm-setting.c
6465                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6466                         unecessary to serialize 'name'
6467
6468         * src/nm-activation-request.c
6469                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6470                         the GetSecrets call
6471
6472 2007-11-15  Dan Williams  <dcbw@redhat.com>
6473
6474         * libnm-util/nm-setting-connection.h
6475           libnm-util/nm-setting-connection.c
6476                 - Rename the 'name' property to 'id', because it conflicted with the
6477                         NMSetting superclass' 'name' property.
6478
6479         * libnm-util/nm-setting.c
6480                 - (nm_setting_to_hash): serialize the 'name' property
6481                 - (one_property_cb): ignore 'name' on deserialization of a connection
6482
6483         * src/nm-device-802-11-wireless.c
6484           src/vpn-manager/nm-vpn-connection.c
6485           src/NetworkManagerPolicy.c
6486                 - Fix up for NMSettingConnection 'name'->'id' changes
6487
6488 2007-11-13  Dan Williams  <dcbw@redhat.com>
6489
6490         * libnm-glib/nm-device-802-11-wireless.h
6491           libnm-glib/nm-device-802-11-wireless.c
6492                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6493
6494         * test/nm-tool.c
6495           libnm-glib/libnm-glib-test.c
6496                 - Fixes for above change
6497
6498 2007-11-12  Dan Williams  <dcbw@redhat.com>
6499
6500         * src/supplicant-manager/nm-supplicant-settings-verify.c
6501                 - Allow fragment_size option
6502
6503         * src/supplicant-manager/nm-supplicant-settings-verify.c
6504                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6505                         EAP fragment size than the default to help some TLS connections
6506
6507 2007-11-12  Dan Williams  <dcbw@redhat.com>
6508
6509         Make certs actually work.  The private key is now a secret, and should be
6510         decrypted when requested by NM.  The private key and phase2 private key
6511         passwords are no longer interesting to NM because they should be used by
6512         the settings service to decrypt the private key itself before passing it
6513         to NM, and hence have been removed as fields.
6514
6515         * libnm-util/nm-setting-wireless-security.h
6516           libnm-util/nm-setting-wireless-security.c
6517                 - Remove private-key-passwd and phase2-private-key-passwd from
6518                         properties
6519                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6520                    need_secrets): use property #defines instead strings to keep things
6521                         consistent
6522                 - (need_secrets_tls): if a client certificate is present but no
6523                         private key, request the private key
6524                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6525                         remove private key password stuff, mark private keys as secret
6526
6527         * src/supplicant-manager/nm-supplicant-settings-verify.c
6528                 - Remove private_key_passwd and private_key2_passwd from opt_table
6529
6530 2007-11-09  Dan Williams  <dcbw@redhat.com>
6531
6532         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6533         Since the vpn-properties are managed and known by the VPN daemons themselves,
6534         libnm-util doesn't know what's secret and what's in the setting's 'data'
6535         member.
6536
6537         * libnm-util/nm-setting.h
6538           libnm-util/nm-setting.c
6539                 - Add the ability for subclasses to override update_one_secret
6540
6541         * libnm-util/nm-setting-vpn-properties.c
6542                 - Override update_one_secret and just copy the values into the
6543                         internal table
6544
6545 2007-11-09  Dan Williams  <dcbw@redhat.com>
6546
6547         * libnm-glib/nm-settings.h
6548           libnm-glib/nm-settings.c
6549                 - (nm_settings_new_error): remove
6550                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6551                         clients should use g_set_error() with NM_SETTINGS_ERROR
6552
6553 2007-11-09  Dan Williams  <dcbw@redhat.com>
6554
6555         * src/supplicant-manager/nm-supplicant-config.c
6556                 - (nm_supplicant_config_add_setting_wireless_security): private key
6557                         passwords are never sent to wpa_supplicant, because the supplicant
6558                         should never be reading random files from the disk.  Clients like
6559                         the applet are required to decrypt the private keys and send NM
6560                         the decrypted blobs.
6561
6562 2007-11-08  Dan Williams  <dcbw@redhat.com>
6563
6564         * libnm-util/nm-setting-wireless-security.h
6565           libnm-util/nm-setting-wireless-security.c
6566                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6567                         members to 802-11-wireless-security structure.  This should be used
6568                         to indicate that the values in private-key and phase2-private-key
6569                         are already decrypted by the user agent, and that no
6570                         private-key-passwd or phase2-private-key-passwd should be expected.
6571                         It is not meant to be a stored configuration value, but meant to
6572                         be set when the conneciton is sent to NM over dbus.
6573
6574 2007-11-08  Dan Williams  <dcbw@redhat.com>
6575
6576         * libnm-util/nm-connection.h
6577           libnm-util/nm-connection.c
6578                 - (nm_connection_need_secrets): add argument to return hints
6579
6580         * src/nm-device-802-11-wireless.c
6581                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6582                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6583                         nm_connection_need_secrets() change
6584
6585 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6586
6587         Rework NMSetting structures: Move each setting to it's own file.
6588         Convert to GObject. Remove home grown setting types and use GTypes.
6589         Use GObject property introspection for hash conversion, enumerating
6590         properties, etc.
6591
6592         * libnm-util/nm-setting-connection.[ch]
6593         * libnm-util/nm-setting-ip4-config.[ch]
6594         * libnm-util/nm-setting-ppp.[ch]
6595         * libnm-util/nm-setting-vpn.[ch]
6596         * libnm-util/nm-setting-vpn-properties.[ch]
6597         * libnm-util/nm-setting-wired.[ch]
6598         * libnm-util/nm-setting-wireless.[ch]
6599         * libnm-util/nm-setting-wireless-security.[ch]
6600
6601         New files, each containing a setting.
6602
6603         * libnm-util/nm-setting-template.[ch]: A template for creating new
6604         settings. To use it, just replace 'template' with the new setting
6605         name, and you're half-way done.
6606
6607         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6608         introspection instead of internal types and tables.
6609
6610         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6611
6612         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6613         GValue types defined by dbus-glib for composed types like collections,
6614         structures and maps.
6615
6616         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6617         a setting from connection takes the setting type now. Also, since
6618         the settings are in multiple files, include relevant settings.
6619
6620 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6621
6622         * configure.in:
6623         * src/backends/NetworkManagerGentoo.c:
6624         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6625         providers in Gentoo.
6626
6627 2007-10-31  Dan Williams  <dcbw@redhat.com>
6628
6629         * libnm-util/nm-connection.c
6630                 - (gvalue_to_string): handle UINT32 arrays
6631
6632 2007-10-31  Dan Williams  <dcbw@redhat.com>
6633
6634         * libnm-glib/nm-device.h
6635           libnm-glib/nm-device.c
6636                 - (nm_device_get_description): remove
6637                 - (nm_device_get_product, nm_device_get_vendor): add
6638                 - (nm_device_update_description): new function (private); walk HAL
6639                         devices to get product and vendor IDs for a specific device
6640
6641 2007-10-31  Dan Williams  <dcbw@redhat.com>
6642
6643         * src/nm-device-802-11-wireless.c
6644                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6645
6646 2007-10-29  Dan Williams  <dcbw@redhat.com>
6647
6648         * src/nm-hal-manager.c
6649                 - (device_added, device_new_capability): ignore device additions while
6650                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6651                         kernel module is unloaded and reloaded and recognized by NM again.
6652
6653 2007-10-26  Dan Williams  <dcbw@redhat.com>
6654
6655         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6656
6657         * src/NetworkManagerAP.c
6658           src/NetworkManagerAP.h
6659           libnm-glib/nm-access-point.c
6660           libnm-glib/nm-access-point.h
6661                 - Make 'rate' property a guint32 to better match with WEXT and
6662                         wpa_supplicant and to allow representation of higher bitrates
6663
6664         * src/nm-device-802-11-wireless.c
6665           introspection/nm-device-802-11-wireless.xml
6666           libnm-glib/nm-device-802-11-wireless.c
6667           libnm-glib/nm-device-802-11-wireless.h
6668                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6669
6670         * src/nm-device-802-3-ethernet.c
6671           src/nm-device-802-3-ethernet.h
6672           introspection/nm-device-802-3-ethernet.xml
6673           libnm-glib/nm-device-802-3-ethernet.c
6674           libnm-glib/nm-device-802-3-ethernet.h
6675                 - Make 'speed' property a guint32 to match other speed/rate types
6676                 - Make nm_device_802_3_ethernet_get_speed() static
6677
6678         * test/nm-tool.c
6679                 - Update for the changes above
6680
6681 2007-10-26  Dan Williams  <dcbw@redhat.com>
6682
6683         * src/named-manager/nm-named-manager.c
6684                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6685                     not calling fclose() twice on some error conditions
6686
6687 2007-10-26  Dan Williams  <dcbw@redhat.com>
6688
6689         * src/nm-activation-request.c
6690                 - (dispose): clean up indentation; get the right DBusGProxy object to
6691                         cancel the GetSecrets pending call on.  Need to use the Secrets
6692                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6693                         pending call doesn't get canceled, and pressing Cancel in the
6694                         applet's password dialog could cause get_secrets_cb() to be called
6695                         after the activation request has already been destroyed
6696
6697 2007-10-24  Dan Williams  <dcbw@redhat.com>
6698
6699         * src/supplicant-manager/nm-supplicant-config.c
6700                 - (nm_supplicant_config_add_blob): pass blob data and length for
6701                         verification
6702                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6703
6704 2007-10-24  Dan Williams  <dcbw@redhat.com>
6705
6706         * src/supplicant-manager/nm-supplicant-settings-verify.c
6707                 - (opt_table): max length for certificates should be 65536
6708
6709 2007-10-24  Dan Williams  <dcbw@redhat.com>
6710
6711         * src/supplicant-manager/nm-supplicant-interface.c
6712                 - (blob_free): correctly free blob data after use
6713                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6714
6715 2007-10-24  Dan Williams  <dcbw@redhat.com>
6716
6717         * libnm-util/nm-setting.c
6718                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6719                         EAP method need secrets
6720
6721 2007-10-24  Dan Williams  <dcbw@redhat.com>
6722
6723         * src/backends/NetworkManagerRedHat.c
6724                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6725
6726 2007-10-23  Dan Williams  <dcbw@redhat.com>
6727
6728         * libnm-util/nm-setting.c
6729           libnm-util/nm-setting.c
6730                 - (nm_setting_compare): implement
6731                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6732                    compare_one_hash_gvalue): compare the contents of a setting
6733
6734         * libnm-util/nm-connection.c
6735                 - (nm_connection_compare): implement
6736
6737 2007-10-23  Dan Williams  <dcbw@redhat.com>
6738
6739         * src/nm-activation-request.c
6740                 - (get_secrets_cb): handle getting a setting back that is more than
6741                         just secrets (ie, user changed auth or EAP method or something)
6742
6743 2007-10-23  Dan Williams  <dcbw@redhat.com>
6744
6745         * libnm-util/nm-setting.c
6746           libnm-util/nm-setting.h
6747                 - (nm_setting_verify): new function; verify one setting
6748                 - (nm_settings_verify_all): rename from nm_settings_verify()
6749                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6750                         all_settings
6751
6752         * libnm-util/nm-connection.c
6753                 - (nm_connection_replace_settings, nm_connection_verify,
6754                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6755
6756 2007-10-23  Dan Williams  <dcbw@redhat.com>
6757
6758         * src/nm-device-802-11-wireless.c
6759                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6760                         desired behavior
6761
6762 2007-10-23  Dan Williams  <dcbw@redhat.com>
6763
6764         * src/supplicant-manager/nm-supplicant-settings-verify.c
6765                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6766                         nm-settings.c
6767
6768 2007-10-23  Dan Williams  <dcbw@redhat.com>
6769
6770         * src/nm-device-802-11-wireless.c
6771                 - (real_act_stage2_config): after the first association failure,
6772                         if the connection still needs secrets ask the user for them
6773                         explicitly.  After the fourth association failure due to bad
6774                         secrets, fail the connection entirely.  Handles the GetSecrets
6775                         loop that NM gets into when the provided secrets don't match up
6776                         with the connection details.
6777
6778 2007-10-23  Dan Williams  <dcbw@redhat.com>
6779
6780         * src/supplicant-manager/nm-supplicant-config.c
6781                 - (nm_supplicant_config_add_setting_wireless_security): only add
6782                         WPA-specific options when WPA is in use
6783
6784 2007-10-23  Dan Williams  <dcbw@redhat.com>
6785
6786         * src/supplicant-manager/nm-supplicant-config.c
6787                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6788                         secret doesn't need to be unhexified
6789
6790 2007-10-23  Dan Williams  <dcbw@redhat.com>
6791
6792         * libnm-util/nm-setting.c
6793                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6794                         before trying to do something with it
6795
6796 2007-10-23  Dan Williams  <dcbw@redhat.com>
6797
6798         * src/nm-device-802-11-wireless.c
6799                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6800
6801 2007-10-23  Dan Williams  <dcbw@redhat.com>
6802
6803         * src/nm-device-802-11-wireless.c
6804                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6805                         non-SSID-broadcasting APs
6806
6807 2007-10-23  Dan Williams  <dcbw@redhat.com>
6808
6809         * src/NetworkManagerAP.c
6810                 - (match_cipher, security_compatible): remove
6811                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6812                         libnm-util instead
6813
6814 2007-10-23  Dan Williams  <dcbw@redhat.com>
6815
6816         * libnm-util/nm-utils.c
6817           libnm-util/nm-utils.h
6818                 - (nm_utils_ap_security_compatible): common function for checking
6819                         whether a specific AP is compatible with an NMConnection
6820
6821 2007-10-23  Dan Williams  <dcbw@redhat.com>
6822
6823         * libnm-util/nm-setting.c
6824                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6825                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6826                    need_secrets_password, setting_wireless_security_verify): fix
6827                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6828                         secrets logic for each supported EAP method
6829
6830 2007-10-23  Dan Williams  <dcbw@redhat.com>
6831
6832         * src/supplicant-manager/nm-supplicant-config.c
6833                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6834                         config option name, should be "private_key2_passwd"
6835
6836 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6837
6838         Implement support for static IP addresses, additional/overridden DNS and
6839         DNS domain search lists.
6840
6841         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6842         (ip4_addresses_to_gvalue): Implement.
6843         (convert_array_to_byte_array): Implement.
6844         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6845         NM_S_TYPE_IP4_ADDRESSES.
6846         (nm_setting_hash): Ditto.
6847         (default_setting_clear_secrets): Add a default case for the switch: IP address
6848         shouldn't be secret, ever.
6849         (setting_ip4_config_verify): Update, requires addresses in case of manual
6850         configurations.
6851         (setting_ip4_config_destroy): Free stuff.
6852
6853         * src/nm-device.c (merge_ip4_config): Implement.
6854         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6855
6856 2007-10-22  Dan Williams  <dcbw@redhat.com>
6857
6858         * libnm-util/nm-setting.c
6859                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6860                         pairwise cipher options for Dynamic WEP
6861
6862 2007-10-21  Dan Williams  <dcbw@redhat.com>
6863
6864         * src/NetworkManagerAP.c
6865           src/NetworkManagerAP.h
6866                 - Rename 'articifical' -> 'fake' since that's what they are until
6867                         noticed in scans
6868                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6869                         from the attributes in an NMConnection object
6870                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6871                         WPA Enterprise
6872                 - (nm_ap_match_in_list): find a matching AP in a scan list
6873
6874         * src/nm-device-802-11-wireless.c
6875                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6876                         AP when searching the scan list; match on frequency and mode too
6877                 - (nm_device_802_11_wireless_get_frequency): implement
6878                 - (merge_scanned_ap): replace duplicate matching logic with
6879                         nm_ap_match_in_list()
6880                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6881                         the user is trying to connect to a hidden network that is not yet
6882                         known from the scan list
6883                 - (activation_success_handler): now that the card knows the AP's BSSID,
6884                         there may already be a scanned AP in the scan list that is what
6885                         we really wanted to connect to, but didn't know at the time.  Use
6886                         that instead of the 'fake' AP created at activation start and get
6887                         rid of the 'fake' AP 
6888                 - (cull_scan_list): don't remove fake APs
6889
6890 2007-10-21  Dan Williams  <dcbw@redhat.com>
6891
6892         * src/nm-activation-request.h
6893           src/nm-activation-request.c
6894                 - (nm_act_request_set_specific_object): new function; allow setting the
6895                         specific object if one isn't set yet
6896
6897 2007-10-20  Dan Williams  <dcbw@redhat.com>
6898
6899         * src/supplicant-manager/nm-supplicant-config.h
6900           src/supplicant-manager/nm-supplicant-config.c
6901                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6902                         table to store blobs
6903                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6904                         blob hash table
6905                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6906                 - (nm_supplicant_config_add_setting_wireless_security): handle
6907                         options that use certificates (ie, blobs)
6908
6909         * src/nm-device-802-11-wireless.c
6910                 - (build_supplicant_config): pass a UID (just use the connection path)
6911                         to the supplicant config as now required
6912
6913         * src/supplicant-manager/nm-supplicant-interface.c
6914                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6915                         there are any blobs to send to wpa_supplicant, send those first
6916                         before sending the network configuration
6917
6918 2007-10-19  Dan Williams  <dcbw@redhat.com>
6919
6920         Split the GetSecrets() call off to a separate D-Bus interface so that it
6921         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
6922         should be able to call GetSecrets().
6923
6924         * include/NetworkManager.h
6925                 - Define the connection secrets D-Bus interface
6926
6927         * src/vpn-manager/nm-vpn-connection.c
6928                 - (clear_need_auth): get the right proxy object for the connection
6929                         secrets interface
6930                 - (get_connection_secrets): use the connection secrets proxy; send
6931                         empty hints in get secrets request
6932
6933         * src/nm-activation-request.c
6934                 - (nm_act_request_request_connection_secrets): use the connection
6935                         secrets proxy; send empty hints in get secrets request
6936
6937         * src/nm-manager.c
6938           src/nm-manager.h
6939                 - (connection_get_settings_cb): set the connection secrets proxy on
6940                         the connection object too
6941                 - (internal_new_connection_cb): create the connection secrets proxy
6942
6943         * introspection/nm-settings-connection.xml
6944                 - Define Connection.Secrets interface and move GetSecrets there
6945                 - Add a 'hints' argument to GetSecrets
6946
6947         * libnm-glib/nm-settings.c
6948           libnm-glib/nm-settings.h
6949                 - (impl_connection_settings_get_secrets): add 'hints' argument
6950
6951 2007-10-19  Dan Williams  <dcbw@redhat.com>
6952
6953         * src/nm-device.c
6954                 - (constructor): add message about what path a device is exported as
6955                         to help in debugging rh #339011
6956
6957 2007-10-17  Dan Williams  <dcbw@redhat.com>
6958
6959         * libnm-util/nm-utils.h
6960           libnm-util/nm-utils.c
6961                 - (nm_utils_security_valid): common function to help find the intersection
6962                         of capabilities of devices and (optionally) access points
6963
6964 2007-10-17  Dan Williams  <dcbw@redhat.com>
6965
6966         * src/nm-device-802-11-wireless.c
6967                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
6968                         don't get erroneously cleared
6969
6970 2007-10-17  Dan Williams  <dcbw@redhat.com>
6971
6972         * src/nm-manager.h
6973           src/nm-manager.c
6974           src/nm-hal-manager.c
6975                 - (device_removed, finalize, nm_manager_remove_device,
6976                    nm_manager_sleep): add a 'deactivate' argument to 
6977                    nm_manager_remove_device() to fully deactivate devices when necessary
6978                    (ie, always except when waking up)
6979
6980 2007-10-16  Dan Williams  <dcbw@redhat.com>
6981
6982         * libnm-util/nm-setting.c
6983                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
6984                         also isn't valid phase2 autheap method
6985
6986 2007-10-16  Dan Williams  <dcbw@redhat.com>
6987
6988         * libnm-glib/nm-client.c
6989                 - (update_wireless_status): consolidate updates of wireless status
6990                 - (constructor): use update_wireless_status()
6991                 - (manager_running): set wireless status off when NM goes away; requery
6992                         the wireless status when NM comes back
6993
6994 2007-10-16  Dan Williams  <dcbw@redhat.com>
6995
6996         * libnm-glib/nm-client.c
6997                 - (nm_client_activate_device): actually use the fixed-up specific
6998                         object path
6999
7000 2007-10-16  Dan Williams  <dcbw@redhat.com>
7001
7002         * src/nm-hal-manager.c
7003                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7004                         killswitch error messages once
7005
7006 2007-10-16  Dan Williams  <dcbw@redhat.com>
7007
7008         * src/nm-manager.c
7009                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7010                         if it's disabled in hardware; don't touch network devices while
7011                         NM is asleep
7012
7013 2007-10-16  Dan Williams  <dcbw@redhat.com>
7014
7015         * libnm-util/nm-client.c
7016                 - (nm_client_activate_device): convert NULL specific_object to "/",
7017                         which is used in place of NULL
7018
7019         * src/nm-manager.c
7020                 - (impl_manager_activate_device): convert "/" specific_object back into
7021                         NULL
7022
7023 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7024
7025         Implement a generic NMSetting creator from setting name.
7026         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7027         add a virtual function 'populate_fn'.
7028
7029         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7030         (register_default_creators): Register setting creators instead of functions
7031         that create and then populate.
7032         (parse_one_setting): Use the common setting creator and then setting specific
7033         poplulation function.
7034
7035         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7036         they all looked exactly the same.
7037         Add a 'populate_fn' virtual function to NMSetting.
7038         Use default virtual functions in case they are not overriden.
7039         (nm_setting_populate_from_hash): Implement.
7040
7041         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7042         name, use a defined string.
7043         (real_act_stage4_get_ip4_config): Ditto.
7044
7045 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7046
7047         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7048         HAL is int, not uint.
7049
7050 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7051
7052         Implement killswitch polling through HAL.
7053
7054         * src/nm-manager.c: Add wireless hardware status property. Add 
7055         'properties-changed' signal for changes in wireless and wireless hardware
7056         state changes.
7057
7058         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7059         and update NMManager's wireless hardware state when it has changed.
7060         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7061         already does that.
7062
7063         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7064         values of wireless state and wireless hardware state. Listen for the
7065         'properties-changed' signals, update the cached values and emit notify.
7066
7067         * include/NetworkManager.h: Fix a typo in a comment.
7068
7069 2007-10-14  Dan Williams  <dcbw@redhat.com>
7070
7071         * libnm-util/nm-setting.c
7072                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7073
7074 2007-10-13  Dan Williams  <dcbw@redhat.com>
7075
7076         * libnm-util/nm-setting.h
7077           libnm-util/nm-setting.c
7078           src/supplicant-manager/nm-supplicant-config.c
7079                 - Make the 'proto' field of the 802-11-wireless-security field a
7080                         string list
7081
7082 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7083
7084         Rework the "properties-changed" signal listening implementation.
7085         Add a generic implementation to NMObject class that listens for
7086         the signal and calls property setters of the target NMObject.
7087
7088         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7089
7090         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7091         code to the end of file so that all the static functions are available
7092         without extra declarations.
7093         Remove the "properties-changed" signal handling and use the framework from
7094         NMObject.
7095         Implement property setters for properties that change with 
7096         "properties-changed" signal.
7097
7098         * libnm-glib/nm-access-point.c: Ditto.
7099
7100 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7101
7102         Rework the "properties-changed" signal implementation.
7103         In classes that need to use it, just emit "GObject::notify" and the new
7104         framework takes care of the rest to make the signal available on dbus.
7105         The framework queues the notifications and tries to send as many together
7106         in one signal as possible.
7107
7108         * src/nm-properties-changed-signal.c:
7109         * src/nm-properties-changed-signal.h: Implement.
7110
7111         * src/Makefile.am: Add new files to build.
7112
7113         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7114         signal.
7115
7116         * src/nm-device-802-11-wireless.c: Ditto.
7117
7118 2007-10-10  Dan Williams  <dcbw@redhat.com>
7119
7120         * src/nm-manager.c
7121                 - (wait_for_connection_expired): ensure info is valid
7122                 - (connection_added_default_handler): Should only remove pending
7123                         connection info when the manager has the connection that it's
7124                         waiting for.  Fixes segfault in wait_for_connection_info().  
7125
7126 2007-10-10  Dan Williams  <dcbw@redhat.com>
7127
7128         * libnm-util/nm-setting.c
7129           libnm-util/nm-setting.h
7130                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7131                         can use if they choose.  Should be filled in by the settings service
7132                         on-the-fly with the currently logged in user's username
7133
7134 2007-10-10  Dan Williams  <dcbw@redhat.com>
7135
7136         * src/nm-device-802-11-wireless.c
7137                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7138                         as such, because even if the manager fills in the SSID, NM still
7139                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7140                         its SSID
7141
7142 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7143
7144         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7145         code that used NM's own version of dbus signal handling and custom dictionary
7146         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7147         and we get to maintain over 2000 lines less code.
7148
7149         * libnm-util/dbus-dict-helpers.c:
7150         * libnm-util/dbus-dict-helpers.h: Remove.
7151
7152         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7153
7154         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7155
7156         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7157         handlers.
7158
7159         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7160
7161         * configure.in: Remove test/libnm-util/Makefile creation.
7162
7163         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7164
7165         * test/libnm-util/: Remove the whole directory.
7166
7167 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7168
7169         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7170         device_state_changed_idle_id variable or it would contain some random value and the
7171         schedule_change_check calls would not do anything.
7172
7173 2007-10-09  Dan Williams  <dcbw@redhat.com>
7174
7175         * src/nm-device-802-11-wireless.c
7176                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7177                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7178                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7179                         merging of non-SSID-broadcasting APs
7180
7181 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7182
7183         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7184         "guint8 *" since it's usually used with GByteArray->data.
7185         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7186
7187 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7188
7189         * src/NetworkManagerUtils.c
7190         (nm_utils_is_empty_ssid):
7191         (nm_utils_escape_ssid):
7192         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7193         lot of places, so they belong to libnm-utils instead.
7194
7195         Now with 100% less compiler warnings:
7196
7197         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7198         (nm_dbus_unescape_object_path): Ditto.
7199         (nm_utils_ssid_to_utf8): Ditto.
7200         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7201         (nm_utils_escape_ssid): Ditto.
7202         (nm_utils_same_ssid): Ditto.
7203
7204         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7205         (add_one_connection_element): Remove an unused variable.
7206         (impl_manager_get_active_connections): Ditto.
7207
7208         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7209         variable.
7210
7211         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7212         from the previous commit.
7213
7214         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7215         (real_act_stage1_prepare): Ditto.
7216         (activation_success_handler): Ditto.
7217         (get_property): Ditto.
7218
7219         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7220         variable.
7221
7222         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7223         it's always set.
7224
7225         * src/supplicant-manager/nm-supplicant-config.c 
7226         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7227         to expected "char *".
7228         (nm_supplicant_config_add_setting_wireless): Ditto.
7229         (nm_supplicant_config_remove_option): Remove, not used.
7230
7231         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7232         not double.
7233         (test_wireless_enabled): Ifdef out unused function.
7234         (device_deactivate): Ditto.
7235         (device_state_changed): Ditto.
7236         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7237         (nm_utils_escape_ssid): Ditto.
7238
7239         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7240         (nm_utils_is_empty_ssid): Ditto.
7241
7242         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7243         unused variable.
7244
7245         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7246         (setting_vpn_properties_update_secrets): Ditto.
7247         (int_to_gvalue): Ifdef out for now, not used.
7248         (byte_to_gvalue): Ditto.
7249
7250         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7251         Unused, remove.
7252
7253 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7254
7255         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7256         about dbus manager, not named manager.
7257         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7258
7259         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7260         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7261         However, the same signal is emitted when we destroy it and there's 
7262         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7263
7264         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7265         releasing the DBusGConnection, since proxy needs a conneciton.
7266         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7267
7268 2007-10-08  Dan Williams  <dcbw@redhat.com>
7269
7270         * src/NetworkManager.c
7271                 - (main): error on unknown command-line options
7272
7273 2007-10-08  Dan Williams  <dcbw@redhat.com>
7274
7275         Reimplement the invalid connection list.  Don't try to re-activate a
7276         connection that just failed or was canceled.
7277
7278         * src/nm-device.c
7279                 - (connection_secrets_failed_cb): fail device activation, don't just
7280                         deactivate the device.  Listeners have to know about the failure.
7281
7282         * src/NetworkManagerPolicy.c
7283                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7284                         the connection list given to a device's get_best_connection()
7285                         method
7286                 - (device_state_changed): tag failed connections as invalid; clear the
7287                         tag from successful connections
7288
7289 2007-10-08  Dan Williams  <dcbw@redhat.com>
7290
7291         Fix problems with interrupted activation.  Previously, choosing an AP
7292         from the menu, then choosing another one before the first connection was
7293         successful wouldn't deactivate the device before starting the new connection
7294         on that same device.
7295
7296         * src/NetworkManagerPolicy.c
7297                 - (deactivate_old_device, device_state_changed, state_changed,
7298                    nm_policy_new): wrong place to deactivate old devices
7299
7300         * src/nm-manager.c
7301                 - (pending_connection_info_destroy, finalize,
7302                    wait_for_connection_expired): decouple destruction of the pending
7303                         connection info from the manager device
7304                 - (connection_added_default_handler): deactivate any active or
7305                         activating device before starting a new activation
7306                 - (impl_manager_activate_device): deactivate any active or activating
7307                         device before starting a new activation; be sure not to leak
7308                         pending connection info if a new activation request arrives but
7309                         there's already a pending one in-process
7310
7311 2007-10-08  Dan Williams  <dcbw@redhat.com>
7312
7313         * src/NetworkManagerAP.h
7314           src/NetworkManagerAP.c
7315                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7316                         should handle default SSIDs and whether or not to autoconnect
7317                         to them
7318
7319 2007-10-08  Dan Williams  <dcbw@redhat.com>
7320
7321         * src/NetworkManagerPolicy.c
7322                 - (nm_policy_device_change_check): print out connection name where
7323                         possible
7324
7325 2007-10-08  Dan Williams  <dcbw@redhat.com>
7326
7327         * src/nm-device-802-11-wireless.c
7328           src/nm-device-802-11-wireless.h
7329                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7330                         'hidden-ap-found' signal (for internal use only) that allows the
7331                         NMManager to fill in the AP's SSID if a connection has that AP's
7332                         BSSID in its seen-bssids list
7333
7334         * src/nm-manager.c
7335                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7336                         wireless device's hidden-ap-found signal and fill in the APs SSID
7337                         if possible
7338
7339 2007-10-07  Dan Williams  <dcbw@redhat.com>
7340
7341         * src/nm-manager.c
7342           src/nm-manager.h
7343                 - Add a 'connections-added' signal to batch together updates of large
7344                         numbers of connections, like when reading from a settings service
7345                         the first time.  Otherwise, the policy would just activate the first
7346                         suitable connection it saw rather than waiting for the full list
7347                         to arrive.
7348                 - (nm_manager_class_init): register new signal
7349                 - (get_type_for_proxy, connection_get_settings_cb,
7350                    get_connection_for_proxy): centralize places where a proxy's setting
7351                         service is determined
7352                 - (free_get_settings_info): if the call being freed is the last call
7353                         in a pending call group, fire off the connections-added signal
7354                 - (internal_new_connection_cb): add call to a pending call group if
7355                         requested
7356                 - (list_connections_cb): always create a call group here, because this
7357                         call results in a batch of new connections
7358                 - (initial_get_connections): start getting system connections first
7359                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7360                         removed signal when destroying connections
7361
7362         * src/NetworkManagerPolicy.c
7363                 - (nm_policy_new, connections_added): handle connections-added signal
7364                         from the manager
7365
7366 2007-10-06  Dan Williams  <dcbw@redhat.com>
7367
7368         * src/nm-device-802-11-wireless.c
7369                 - (constructor): fix leaked socket
7370
7371 2007-10-06  Dan Williams  <dcbw@redhat.com>
7372
7373         * src/NetworkManagerPolicy.c
7374                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7375                         connection in the list returned by nm_manager_get_connections() is
7376                         reffed, but they weren't getting unreffed before returning
7377
7378 2007-10-06  Dan Williams  <dcbw@redhat.com>
7379
7380         * src/nm-manager.c
7381                 - (connections_to_slist): sort connections first on autoconnect, then
7382                         on timestamp
7383
7384 2007-10-06  Dan Williams  <dcbw@redhat.com>
7385
7386         * libnm-util/nm-connection.c
7387                 - (gvalue_to_string): handle UINT64
7388
7389 2007-10-06  Dan Williams  <dcbw@redhat.com>
7390
7391         * src/NetworkManagerPolicy.c
7392                 - (connection_updated, nm_policy_new): recheck state when a connection
7393                         gets updated
7394
7395 2007-10-06  Dan Williams  <dcbw@redhat.com>
7396
7397         * src/nm-manager.c
7398           src/nm-manager.h
7399                 - (nm_manager_get_connection_dbus_path): make static
7400                 - (nm_manager_update_connections): remove; unused
7401                 - Add a connection-updated signal
7402                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7403                         handle connection object updates
7404
7405 2007-10-06  Dan Williams  <dcbw@redhat.com>
7406
7407         * src/NetworkManagerPolicy.c
7408                 - (connection_removed): deactivate removed connections
7409
7410 2007-10-06  Dan Williams  <dcbw@redhat.com>
7411
7412         * libnm-util/nm-connection.c
7413           libnm-util/nm-connection.h
7414                 - (nm_connection_replace_settings): new function
7415
7416 2007-10-06  Dan Williams  <dcbw@redhat.com>
7417
7418         * libnm-glib/nm-device-802-11-wireless.c
7419                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7420                         on error when getting the active access point over D-Bus from NM
7421
7422 2007-10-05  Dan Williams  <dcbw@redhat.com>
7423
7424         * libnm-util/nm-setting.c
7425                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7426                         to the NMSettingWireless table; it's now a string array not an array
7427                         of byte arrays
7428
7429 2007-10-05  Dan Williams  <dcbw@redhat.com>
7430
7431         * libnm-glib/nm-device-802-11-wireless.c
7432                 - Cache properties and update cached properties on D-Bus signals from NM
7433
7434 2007-10-05  Dan Williams  <dcbw@redhat.com>
7435
7436         * src/nm-device-802-11-wireless.c
7437                 - (set_current_ap): consolidate current_ap handling code into one place
7438                         to ensure that PropertiesChanged signals are emitted in all cases
7439                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7440                    nm_device_802_11_wireless_dispose): use set_current_ap()
7441
7442 2007-10-05  Dan Williams  <dcbw@redhat.com>
7443
7444         * libnm-glib/nm-access-point.c
7445           libnm-glib/nm-access-point.h
7446                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7447                         because the value is cached internally now.  Callers should not
7448                         free the internal value.
7449                 - Make signal name defines private
7450
7451         * test/nm-tool.c
7452           libnm-glib/libnm-glib-test.c
7453                 - Don't free value returned from nm_access_point_get_hw_address()
7454
7455 2007-10-04  Dan Williams  <dcbw@redhat.com>
7456
7457         * introspection/nm-device-802-11-wireless.xml
7458           src/nm-device-802-11-wireless.h
7459           src/nm-device-802-11-wireless.c
7460                 - Add a PropertiesChanged signal for wireless device
7461                 - Store currently associated access point
7462                 - (periodic_update): generalize; update rate here too and emit the
7463                         correct PropertiesChanged signal when stuff changes
7464                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7465                    real_activation_cancel_handler): clear current_ap when device is
7466                         deactivated
7467                 - (link_to_specific_ap, get_ap_blacklisted,
7468                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7469                         code
7470                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7471                         outside this file
7472                 - (real_set_hw_address): emit property changed signal if the card's
7473                         MAC address changes
7474                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7475                         the card is supposed to be connecting to
7476                 - (activation_success_handler): send out property updates on successful
7477                         activation
7478                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7479                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7480                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7481                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7482                         is now boxed; add PropertiesChanged signal
7483
7484 2007-10-04  Dan Williams  <dcbw@redhat.com>
7485
7486         * libnm-util/nm-connection.c
7487           libnm-util/nm-connection.h
7488                 - (nm_connection_verify): new function
7489
7490 2007-10-04  Dan Williams  <dcbw@redhat.com>
7491
7492         * libnm-util/nm-setting.c
7493                 - (nm_settings_verify): use #defines when possible rather than strings
7494                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7495                 - (setting_vpn_verify): tighter validity check on 'service_type'
7496
7497 2007-10-04  Dan Williams  <dcbw@redhat.com>
7498
7499         * libnm-glib/nm-settings.c
7500                 - (nm_connection_settings_class_init): provide correct type for argument
7501                         to the Updated signal so that dbus-glib knows how to marshal it
7502
7503 2007-10-03  Dan Williams  <dcbw@redhat.com>
7504
7505         * src/nm-device-802-3-ethernet.c
7506                 - (real_get_best_connection): don't create automatic connections
7507                         internally; clients should provide a setting that applies to
7508                         the device with 'autoconnect: True'.  Problem was that these
7509                         internally auto-created connections don't have a proxy or service
7510                         name becuase they weren't created by a settings daemon, and therefore
7511                         clients have no idea what to do with them.
7512
7513 2007-10-03  Dan Williams  <dcbw@redhat.com>
7514
7515         * src/nm-device-802-11-wireless.c
7516           src/nm-device-802-11-wireless.h
7517           introspection/nm-device-802-11-wireless.xml
7518                 - GetActiveNetworks -> GetAccessPoints
7519                 - ActiveNetwork -> ActiveAccessPoint
7520                 - NetworkAdded -> AccessPointAdded
7521                 - NetowrkRemoved -> AccessPointRemoved
7522
7523         * libnm-glib/nm-device-802-11-wireless.c
7524           libnm-glib/nm-device-802-11-wireless.h
7525                 - network-added signal -> access-point-added
7526                 - network-removed signal -> access-point-removed
7527                 - nm_device_802_11_wireless_get_active_network() ->
7528                         nm_device_802_11_wireless_get_active_access_point()
7529                 - nm_device_802_11_wireless_get_network_by_path() ->
7530                         nm_device_802_11_wireless_get_access_point_by_path()
7531                 - nm_device_802_11_wireless_get_networks() ->
7532                         nm_device_802_11_wireless_get_access_points()
7533
7534         * libnm-glib/libnm-glib-test.c
7535           test/nm-tool.c
7536           src/NetworkManagerPolicy.c
7537                 - Fixups for Network -> AccessPoint
7538
7539 2007-10-03  Dan Williams  <dcbw@redhat.com>
7540
7541         Add a GetActiveConnections() method on the Manager object.
7542
7543         * src/nm-manager.c
7544           src/nm-manager.h
7545           introspection/nm-manager.xml
7546                 - (connection_get_settings_cb): keep connection type around too
7547                 - (impl_manager_get_active_connections, add_one_connection_element):
7548                         implement; returns all active connections and what devices they
7549                         apply to
7550
7551         * libnm-glib/nm-client.c
7552           libnm-glib/nm-client.h
7553           introspection/nm-manager-client.xml
7554                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7555                         by the caller; free here to avoid memory leak
7556                 - (nm_client_get_active_connections): implement; return the list of
7557                         active connections
7558                 - (nm_client_free_active_connection_element): implement; free an element
7559                         of the GSList returned by nm_client_get_active_connections()
7560
7561 2007-10-03  Dan Williams  <dcbw@redhat.com>
7562
7563         * src/nm-device-802-11-wireless.c
7564                 - (nm_device_802_11_wireless_update_bssid): remove
7565                 - (get_active_ap): new function; find the AP in the scan list which
7566                         matches the current BSSID and SSID of the wireless device
7567                 - (nm_device_802_11_periodic_update): get current AP using
7568                         get_active_ap() and print AP roam messages
7569
7570 2007-10-01  Dan Williams  <dcbw@redhat.com>
7571
7572         * libnm-util/nm-setting.h
7573                 - Add a 'timestamp' option to NMSettingConnection
7574                 - Add a UINT64 type
7575
7576         * libnm-util/nm-setting.c
7577                 - (uint64_to_gvalue): new function
7578                 - (nm_setting_populate_from_hash, nm_setting_hash,
7579                    default_setting_clear_secrets): handle UINT64 type
7580                 - con_table: add 'timestamp' member
7581
7582 2007-10-01  Dan Williams  <dcbw@redhat.com>
7583
7584         * src/nm-manager.c
7585                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7586                         value when the connection can be activated immediately
7587
7588 2007-10-01  Dan Williams  <dcbw@redhat.com>
7589
7590         * libnm-glib/nm-device.c
7591                 - (nm_device_class_init): actually tell glib about the carrier-changed
7592                         signal
7593
7594 2007-10-01  Dan Williams  <dcbw@redhat.com>
7595
7596         * configure.in
7597           src/marshallers/Makefile.am
7598           src/marshallers/nm-marshal.list
7599           src/marshallers/nm-marshal-main.c
7600                 - Consolidate glib marshallers into one place
7601
7602         * src/dhcp-manager/Makefile.am
7603           src/dhcp-manager/nm-dhcp-manager.c
7604           src/supplicant-manager/Makefile.am
7605           src/supplicant-manager/nm-supplicant-manager.c
7606           src/supplicant-manager/nm-supplicant-interface.c
7607           src/ppp-manager/Makefile.am
7608           src/ppp-manager/nm-ppp-manager.c
7609           src/vpn-manager/Makefile.am
7610           src/vpn-manager/nm-vpn-connection.c
7611           src/Makefile.am
7612                 - Use consolidated marshallers
7613
7614         * src/dhcp-manager/nm-dhcp-marshal.list
7615           src/dhcp-manager/nm-dhcp-marshal-main.c
7616           src/supplicant-manager/nm-supplicant-marshal-main.c
7617           src/supplicant-manager/nm-supplicant-marshal.list
7618           src/nm-marshal-main.c
7619           src/nm-marshal.list
7620           src/ppp-manager/nm-ppp-marshal-main.c
7621           src/ppp-manager/nm-ppp-marshal.list
7622           src/vpn-manager/nm-vpn-marshal-main.c
7623           src/vpn-manager/nm-vpn-marshal.list
7624                 - Remove
7625
7626 2007-10-01  Dan Williams  <dcbw@redhat.com>
7627
7628         * include/NetworkManagerVPN.h
7629                 - define VPN connection state change reason codes
7630
7631         * src/vpn-manager/Makefile.am
7632           src/vpn-manager/nm-vpn-marshal.list
7633           src/vpn-manager/nm-vpn-marshal-main.c
7634                 - Add marshallers for StateChanged signal
7635
7636         * introspection/nm-vpn-connection.xml
7637                 - New Banner property
7638                 - StateChanged signal now includes a 'reason' argument
7639
7640         * src/vpn-manager/nm-vpn-connection.c
7641           src/vpn-manager/nm-vpn-connection.h
7642                 - Add a "Banner" property that contains the returned VPN server login
7643                         banner (if any); valid only in the ACTIVATED state
7644                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7645                         a 'reason' argument and emits that reason along with the
7646                         state-changed signal
7647                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7648                 - (nm_vpn_connection_ip4_config_get): save banner for later
7649                 - (nm_vpn_connection_get_banner, get_property,
7650                    nm_vpn_connection_class_init): implement Banner property
7651
7652         * src/vpn-manager/nm-vpn-service.c
7653                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7654                         connection list because elements may get added/removed from it
7655                         while iterating over the list
7656                 - (connection_state_changed): signal now includes the 'reason' argument
7657
7658         * libnm-glib/nm-vpn-connection.c
7659           libnm-glib/nm-vpn-connection.h
7660                 - (nm_vpn_connection_get_banner): new function
7661                 - (state_changed_proxy): handle reason argument
7662
7663 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7664
7665         * src/nm-manager.c:
7666         * src/nm-manager.h:
7667         Implement device activation through NMManager.
7668         Implement "pending device activation" here - If the connection isn't found,
7669         we try to wait for up to 5 seconds for the connection to be provided.
7670         Add NMConnectionType argument to "connection-added" and "connection-removed"
7671         signals.
7672         (nm_manager_get): Remove. Finally.
7673
7674         * src/nm-activation-request.c: 
7675         * src/nm-activation-request.h: 
7676         Remove all the deferred activation code.
7677
7678         * src/nm-device.c: Remove all the deferred activation code. Once the device
7679         activation is started, it's started. Update the activation virtual function
7680         signature.
7681
7682         * src/nm-device-interface.c:
7683         * src/nm-device-interface.h:
7684         Device activation now takes only NMActRequest argument.
7685         Don't expose device activation directly on dbus, it's supposed to go through
7686         NMManager now.
7687
7688         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7689         a bit more compact.
7690         Use the new device activation methods through NMManager.
7691
7692         * introspection/nm-manager-client.xml: 
7693         * introspection/nm-manager.xml: 
7694         * libnm-glib/nm-client.c:
7695         * libnm-glib/nm-client.h:
7696         Add device activation method.
7697         
7698         * libnm-glib/nm-device.c: 
7699         * libnm-glib/nm-device.h: 
7700         * introspection/nm-device.xml: 
7701         Remove device activation method. It's done through NMManager now.
7702
7703         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7704         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7705
7706 2007-09-28  Dan Williams  <dcbw@redhat.com>
7707
7708         * libnm-glib/nm-vpn-connection.c
7709                 - (nm_vpn_connection_get_state): try to update state if the current
7710                         state is UNKNOWN
7711
7712 2007-09-27  Dan Williams  <dcbw@redhat.com>
7713
7714         Patch from Bill Nottingham
7715
7716         * src/supplicant-manager/nm-supplicant-config.c
7717                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7718                         data to the supplicant
7719
7720 2007-09-27  Dan Williams  <dcbw@redhat.com>
7721
7722         * src/NetworkManagerSystem.c
7723                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7724                         and all address manipulation here should be happening on the
7725                         _VPN_ device, not the active device
7726
7727 2007-09-26  Dan Williams  <dcbw@redhat.com>
7728
7729         * src/nm-manager.c
7730           src/nm-manager.h
7731           src/nm-activation-request.c
7732           src/nm-activation-request.h
7733                 - Move the GetSecrets stuff out of the NMManager instance because it
7734                         doesn't really need to be there and complicates things
7735
7736         * src/nm-device.c
7737                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7738                         connection-secrets-failed signal and deactivate the device if
7739                         the GetSecrets call fails
7740
7741         * src/nm-device-802-11-wireless.c
7742                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7743                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7744                         secrets and give correct hints about whether new secrets should be
7745                         asked for by the client or not
7746
7747 2007-09-26  Dan Williams  <dcbw@redhat.com>
7748
7749         * src/vpn-manager/nm-vpn-connection.c
7750                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7751                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7752                         to the secrets-updated signal of the NMConnection since updating
7753                         the secrets is done within the scope of the NMVPNConnection object
7754                         already
7755                 - (get_connection_secrets): fix an uninialized variable usage error
7756
7757 2007-09-26  Dan Williams  <dcbw@redhat.com>
7758
7759         * libnm-util/nm-setting.c
7760                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7761                         actually get updated when the user enters them
7762
7763 2007-09-26  Dan Williams  <dcbw@redhat.com>
7764
7765         * libnm-glib/nm-vpn-plugin.c
7766                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7767
7768 2007-09-26  Dan Williams  <dcbw@redhat.com>
7769
7770         * include/NetworkManagerVPN.h
7771                 - Add a NEED_AUTH state
7772
7773         * src/vpn-manager/nm-vpn-connection.c
7774                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7775                         the connection needs secrets, and if so, then ask the settings
7776                         service to fill in the secrets.  Then start the connection.
7777
7778 2007-09-26  Dan Williams  <dcbw@redhat.com>
7779
7780         * src/vpn-manager/nm-vpn-manager.c
7781                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7782
7783 2007-09-26  Dan Williams  <dcbw@redhat.com>
7784
7785         * introspection/nm-vpn-plugin.xml
7786           libnm-glib/nm-vpn-plugin.c
7787           libnm-glib/nm-vpn-plugin.h
7788                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7789                         the name of the NMSetting in an NMConnection that may require
7790                         secrets specific to that VPN plugin
7791
7792 2007-09-26  Dan Williams  <dcbw@redhat.com>
7793
7794         * src/nm-manager.c
7795           src/nm-manager.h
7796                 - (nm_manager_get_connection_secrets): make static, unused outside
7797                         the file
7798                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7799
7800 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7801
7802         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7803         method.
7804         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7805         unreference the connection.
7806
7807         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7808         passing properties hash and routes string list, pass NMConnection (in hashed form).
7809
7810         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7811         as GSList, no need to copy stuff around anymore.
7812         (nm_vpn_connection_activate): Update the plugin activation method.
7813
7814         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7815         routes argument to GSList.
7816
7817 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7818
7819         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7820         state and try to get the secrets.
7821
7822         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7823         connections from NMManager and let the device to choose the best from the list.
7824         Since the connection list is sorted by system ones first and user ones later,
7825         the devices still prefer system connections like they did before.
7826         (deactivate_old_device): Implement. When a device starts activation, we have a
7827         policy (for now at least) to deactivate any other device that might be either
7828         active or still activating.
7829
7830         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7831         It's set on construction, there will be no other way to access it.
7832
7833         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7834         device events and drive the device, not the other way around.
7835
7836         * src/nm-device-802-3-ethernet.c: Ditto.
7837
7838         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7839         sent along, pass it on to virtual functions.
7840
7841         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7842         for now, but should really be public instead of nm_device_get_iface() since iface
7843         is a property of the DeviceInterface, not Device.
7844         (impl_device_activate): Don't touch NMManager!
7845
7846 2007-09-26  Jürg Billeter  <j@bitron.ch>
7847
7848         * initscript/paldo/NetworkManager.in:
7849         * initscript/paldo/NetworkManagerDispatcher.in:
7850         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7851         (nm_system_flush_loopback_routes): update paldo backend
7852
7853 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7854
7855         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7856         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7857         which means none of the devices get brought down properly, which in turn leaves
7858         DHCP client running.
7859
7860         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7861         (supplicant_connection_timeout_cb): Ditto.
7862
7863 2007-09-25  Dan Williams  <dcbw@redhat.com>
7864
7865         * src/nm-device.c
7866                 - (device_activation_go): small hack to work around race when
7867                         activating deferred connections; should solve this in a better way
7868
7869 2007-09-25  Dan Williams  <dcbw@redhat.com>
7870
7871         * introspection/nm-device.xml
7872           libnm-glib/nm-device.c
7873           libnm-glib/nm-device.h
7874                 - Add 'Carrier' property to exported NMDevice objects
7875
7876         * src/nm-device-interface.h
7877           src/nm-device-interface.c
7878           src/nm-device.c
7879                 - Add a 'carrier' property to internal NMDevice objects
7880
7881 2007-09-25  Dan Williams  <dcbw@redhat.com>
7882
7883         * src/nm-device-802-11-wireless.c
7884                 - (ap_auth_enforced): also return the encryption status of the AP so
7885                         that callers can differentiate easily between unencrypted APs
7886                         and encrypted ones, in addition to whether the AP has an
7887                         authenticator
7888                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7889                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7890                         previously would request secrets from unencrypted APs at times
7891
7892 2007-09-25  Dan Williams  <dcbw@redhat.com>
7893
7894         * src/nm-manager.c
7895                 - (nm_manager_update_state): new function; updates state and emits
7896                         appropriate signals ensuring a state-change signal for the same state
7897                         never gets emitted twice in a row.
7898                 - (manager_device_state_changed): handle more device state to get a
7899                         better picture of the overall NM state
7900
7901 2007-09-25  Dan Williams  <dcbw@redhat.com>
7902
7903         * libnm-glib/nm-settings.c
7904           libnm-glib/nm-settings.h
7905                 - (new_error -> nm_settings_new_error): make public so that subclasses
7906                         can use the same error domain.  Also pass a valid error code to
7907                         g_error_new_literal() so that libdbus doesn't assert when converting
7908                         the GError into a DBusError
7909                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7910                    impl_connection_settings_get_settings,
7911                    impl_connection_settings_get_secrets): use new error creator
7912                         function
7913
7914 2007-09-25  Dan Williams  <dcbw@redhat.com>
7915
7916         * src/NetworkManager.c
7917                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7918
7919 2007-09-25  Dan Williams  <dcbw@redhat.com>
7920
7921         * src/supplicant-manager/nm-supplicant-manager.c
7922                 - (poke_supplicant_cb, nm_supplicant_manager_init,
7923                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
7924                    nm_supplicant_manager_startup): when the supplicant isn't running,
7925                         try to start it periodically via system bus activation.  Fixes
7926                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
7927                         for the supplicant to come back
7928
7929 2007-09-25  Dan Williams  <dcbw@redhat.com>
7930
7931         Ensure that old activation requests are forgotten about; previously
7932         hitting Cancel in the password dialog would deactivate whatever device
7933         that password was requested for, even if that wasn't the currently
7934         activating connection.
7935
7936         * src/nm-manager.c
7937           src/nm-manager.h
7938                 - (nm_manager_get_connection_secrets): track the pending call
7939                         object so it can be canceled later if needed
7940                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
7941                         GetSecrets call for a particular connection
7942
7943         * src/nm-activation-request.c
7944                 - (dispose): cancel any outstanding GetSecrets calls on the
7945                         connection
7946
7947 2007-09-25  Dan Williams  <dcbw@redhat.com>
7948
7949         * src/NetworkManagerPolicy.c
7950                 - (nm_policy_device_change_check): handle devices that have a
7951                         deferred activation.  These devices are not really active _yet_,
7952                         but need to be treated as such here.  Don't interrupt them
7953                         automatically.
7954
7955         * src/nm-device-interface.c
7956                 - (impl_device_activate): handle devices that have a deferred activation
7957                         like activating or active devices.  When multiple active devices
7958                         get committed, the device shouldn't be deactivated until the
7959                         connection details are available to avoid DoS and such.  Currently,
7960                         any active, activating, or deferred activation device is deactivated
7961                         here before starting the new activation request.
7962
7963 2007-09-25  Dan Williams  <dcbw@redhat.com>
7964
7965         Properly re-query secrets from the settings daemon when stuff fails.
7966
7967         * src/nm-device-802-11-wireless.c
7968                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
7969                         between Shared Key and Open System auth modes
7970                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7971                    real_act_stage4_ip_config_timeout): clear existing secrets and
7972                         request new ones when something fails due to a suspected wrong key
7973                 - (real_act_stage2_config): fix for new request_new argument to
7974                         nm_manager_get_connection_secrets()
7975
7976         * src/nm-manager.c
7977           src/nm-manager.h
7978                 - (nm_manager_get_connection_secrets): return error status; pass
7979                         new request_new argument on to the settings daemon
7980
7981         * introspection/nm-settings-connection.xml
7982                 - New 'request_new' argument to the GetSecrets call that hints to the
7983                         settings daemon to ask the user for completely new secrets
7984
7985         * libnm-glib/nm-settings.c
7986           libnm-glib/nm-settings.h
7987                 - (impl_connection_settings_get_secrets): handle new 'request_new'
7988                         argument
7989
7990 2007-09-25  Dan Williams  <dcbw@redhat.com>
7991
7992         * libnm-util/nm-connection.c
7993           libnm-util/nm-connection.h
7994                 - (nm_connection_clear_secrets): new function; clear secrets out of
7995                         each NMSetting in an NMConnection
7996
7997         * libnm-util/nm-setting.h
7998           libnm-util/nm-setting.c
7999                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8000                         secrets out of an NMSetting
8001                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8002                    nm_setting_wired_new, nm_setting_wireless_new,
8003                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8004                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8005                         to default handler default_setting_clear_secrets()
8006
8007 2007-09-25  Dan Williams  <dcbw@redhat.com>
8008
8009         * src/nm-activation-request.c
8010           src/nm-activation-request.h
8011                 - (nm_act_request_is_deferred): new function
8012
8013 2007-09-24  Dan Williams  <dcbw@redhat.com>
8014
8015         * src/nm-device-802-11-wireless.c
8016                 - (activation_success_handler): update signal strength immediately
8017                         after activation
8018
8019 2007-09-24  Dan Williams  <dcbw@redhat.com>
8020
8021         * libnm-util/nm-setting.c
8022                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8023
8024 2007-09-24  Dan Williams  <dcbw@redhat.com>
8025
8026         * src/NetworkManagerPolicy.c
8027                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8028                         device by deactivating it because it doesn't have a "best connection".
8029                         Since autoconnect=False connections aren't automatically chosen,
8030                         NM would interrupt activation of such a connection because it
8031                         would never be "best" due to autoconnect=False.
8032
8033 2007-09-24  Dan Williams  <dcbw@redhat.com>
8034
8035         * src/nm-manager.c
8036                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8037                         actually has some time to enter a key before the GetSecrets call
8038                         times out
8039
8040 2007-09-24  Dan Williams  <dcbw@redhat.com>
8041
8042         * introspection/nm-manager.xml
8043           src/nm-manager.c
8044                 - (impl_manager_legacy_state): fix 'state' method call return value
8045
8046 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8047
8048         * test/Makefile.am: Install nm-tool
8049
8050 2007-09-24  Dan Williams  <dcbw@redhat.com>
8051
8052         Patch from Ross Burton <ross@burtonini.com>
8053
8054         * test/nm-tool.c
8055           callouts/nm-dhcp-client-action.c
8056           src/nm-netlink.c
8057           src/vpn-manager/nm-vpn-connection.c
8058           libnm-glib/libnm-glib-test.c
8059                 - warning fixes
8060
8061 2007-09-24  Dan Williams  <dcbw@redhat.com>
8062
8063         * libnm-util/nm-utils.h
8064           libnm-util/nm-utils.c
8065                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8066                         remove, unused
8067
8068 2007-09-23  Dan Williams  <dcbw@redhat.com>
8069
8070         * vpn-daemons/vpnc/properties/nm-vpnc.c
8071                 - Update for new VPN properties API bits; instead of passing around
8072                         a lot of random things, everything goes into the NMConnection
8073                         object.
8074
8075 2007-09-23  Dan Williams  <dcbw@redhat.com>
8076
8077         * libnm-util/nm-setting.c
8078                 - Correctly dispose of settings objects if creating them from a hash
8079                         table fails
8080
8081 2007-09-23  Dan Williams  <dcbw@redhat.com>
8082
8083         * libnm-util/nm-setting.c
8084                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8085                         the hash table in a standard manner.  Clients of libnm-util should
8086                         only call g_hash_table_remove_all(), never destroy the hash table
8087                         and recreate it.
8088
8089 2007-09-22  Dan Williams  <dcbw@redhat.com>
8090
8091         * src/nm-device-802-11-wireless.c
8092                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8093                         real reason to do it so often, and reduces wakeups for clients.
8094
8095 2007-09-21  Dan Williams  <dcbw@redhat.com>
8096
8097         * src/nm-device-802-11-wireless.c
8098                 - (build_supplicant_config): wpa_supplicant requires the option
8099                         key_mgmt=NONE for unencrypted networks
8100                 - (real_act_stage2_config): clarify log message on activation
8101
8102 2007-09-21  Dan Williams  <dcbw@redhat.com>
8103
8104         * test/nm-supplicant-test.c
8105           test/Makefile.am
8106                 - Remove supplicant test binary; no longer applicable
8107
8108 2007-09-21  Dan Williams  <dcbw@redhat.com>
8109
8110         * src/supplicant-manager/nm-supplicant-manager.c
8111                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8112                         activate it on the system bus
8113
8114 2007-09-20  Dan Williams  <dcbw@redhat.com>
8115
8116         * initscript/RedHat/NetworkManager.in
8117                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8118
8119 2007-09-20  Dan Williams  <dcbw@redhat.com>
8120
8121         * src/nm-device.c
8122                 - (nm_device_is_activating): work around a race between auto-activation
8123                         and the user activating the same device that is being auto-activated
8124
8125 2007-09-20  Dan Williams  <dcbw@redhat.com>
8126
8127         * src/nm-device-interface.c
8128                 - (impl_device_activate): until multiple active device support lands,
8129                         ensure only one device can be active at a time
8130
8131 2007-09-20  Dan Williams  <dcbw@redhat.com>
8132
8133         * src/supplicant-manager/nm-supplicant-config.c
8134           src/supplicant-manager/nm-supplicant-config.h
8135                 - (nm_supplicant_config_add_option): hide secrets from system logs
8136
8137 2007-09-20  Dan Williams  <dcbw@redhat.com>
8138
8139         * src/NetworkManagerPolicy.c
8140                 - (nm_policy_device_change_check): re-enable the wireless device change
8141                         checking code; insted of checking for SSIDs, check for the same
8142                         connection instead
8143
8144 2007-09-20  Dan Williams  <dcbw@redhat.com>
8145
8146         * src/nm-device-802-11-wireless.c
8147                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8148                         composite link state when determining when to start the disconnection
8149                         timer; that link state is already based on the supplicant interface's
8150                         status which is exactly what's already being examined, plus the link
8151                         state is a conglomeration of various things that we don't want here
8152
8153 2007-09-20  Dan Williams  <dcbw@redhat.com>
8154
8155         * libnm-glib/nm-access-point.c
8156                 - (handle_property_changed): strength is a UCHAR
8157
8158 2007-09-20  Dan Williams  <dcbw@redhat.com>
8159
8160         * src/supplicant-manager/nm-supplicant-config.c
8161                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8162                         string list keywords too since that's what wpa_supplicant wants
8163
8164 2007-09-20  Dan Williams  <dcbw@redhat.com>
8165
8166         * libnm-util/nm-setting.c
8167                 - (convert_strv_to_slist): dupe the values in the list because since
8168                         the list is a boxed value, it'll get destroyed when it's container
8169                         (like a hash table or whatever) gets destroyed
8170
8171 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8172
8173         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8174         GSList.
8175
8176         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8177
8178         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8179         just use (g_object_set_data_full).
8180
8181         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8182         that NMSettingVPN->routes is a GSList, convert it to char **.
8183         (nm_vpn_connection_ip4_config_get): Free routes when done.
8184         (nm_vpn_connection_activate): Ditto.
8185
8186         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8187         (real_act_stage2_config): Use defined setting names.
8188
8189 2007-09-20  Dan Williams  <dcbw@redhat.com>
8190
8191         * src/nm-device-802-11-wireless.c
8192           src/nm-manager.c
8193           src/nm-manager.h
8194                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8195                         so that the device can be deactivated if secrets are wrong
8196
8197 2007-09-20  Dan Williams  <dcbw@redhat.com>
8198
8199         * introspection/nm-settings-connection.xml
8200           libnm-glib/nm-settings.c
8201           libnm-glib/nm-settings.h
8202                 - Make GetSecrets asynchronous on the server side
8203
8204 2007-09-20  Dan Williams  <dcbw@redhat.com>
8205
8206         * src/nm-manager.h
8207           src/nm-device.c
8208                 - (nm_device_activate): actually check if a given connection
8209                         exists before assuming it doesn't
8210
8211 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8212
8213         * libnm-util/nm-connection.c (register_default_creators): Use defined
8214         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8215
8216         * libnm-util/nm-setting.c: Define property name strings, use them.
8217         Implement NMSettingVPN and NMSettingVPNProperties settings.
8218         Implement NM_S_TYPE_GVALUE_HASH.
8219         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8220         (setting_connection_verify): Rename 'devtype' property to 'type'.
8221
8222         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8223         properties.
8224
8225         * src/vpn-manager/nm-vpn-service.c: Ditto.
8226
8227         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8228
8229         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8230         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8231
8232         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8233         names. NMSettingConnection->devtype got renamed to 'type'.
8234
8235         * src/nm-device-802-3-ethernet.c (find_best_connection):
8236         (real_get_best_connection): Ditto.
8237
8238         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8239
8240         * libnm-glib/nm-vpn-manager.[ch]: Update.
8241
8242 2007-09-19  Dan Williams  <dcbw@redhat.com>
8243
8244         * src/NetworkManagerAP.c
8245           src/NetworkManagerAP.h
8246           introspection/nm-access-point.xml
8247                 - Change strength-changed signal into a properties-changed signal
8248                         for all properties, not just strength.  Export that signal over dbus
8249                         so listeners don't have to poll NM for changes.
8250                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8251                         get exported over D-Bus, so break up the logic and let other bits
8252                         decided when to export the AP
8253                 - (nm_ap_new_from_ap): remove, unused
8254
8255         * src/nm-device-802-11-wireless.c
8256                 - (merge_scanned_ap): only export APs that are actually on the device
8257                         list, not every AP created internally
8258
8259         * libnm-glib/nm-access-point.c
8260           libnm-glib/nm-access-point.h
8261                 - Cache properties internally and only hit DBus when needed.  Get
8262                         property updates from NM signals
8263
8264 2007-09-16  Dan Williams  <dcbw@redhat.com>
8265
8266         * libnm-util/nm-connection.c
8267           libnm-util/nm-connection.h
8268                 - (nm_connection_for_each_setting_value): new function; iterate over
8269                         each setting's value and call a user-provided function with details
8270                         about that value
8271
8272         * libnm-util/nm-setting.c
8273           libnm-util/nm-setting.h
8274                 - (nm_setting_enumerate_values): new function; enumerate the values
8275                         of a specific NMSetting subclass for a user-provided function with
8276                         details about that value
8277                 - Change wep_tx_keyidx to a uint32
8278                 - Create settings value tables for each setting defining their type,
8279                         key name, offset into the NMSetting subclass' structure, and whether
8280                         they are required and/or a secret
8281                 - (nm_setting_populate_from_hash): generic function to populate an
8282                         NMSetting from a GHash table, make all settings use it
8283                 - (nm_setting_hash): generic function to derive a GHashTable from
8284                         an NMSetting object, make all settings use it
8285
8286 2007-09-14  Dan Williams  <dcbw@redhat.com>
8287
8288         Remove unused stuff in libnm-util
8289
8290         * configure.in
8291           libnm-util/Makefile.am
8292           libnm-util/cipher-private.h
8293           libnm-util/cipher-wep-ascii.c
8294           libnm-util/cipher-wep-ascii.h
8295           libnm-util/cipher-wep-hex.c
8296           libnm-util/cipher-wep-hex.h
8297           libnm-util/cipher-wep-passphrase.c
8298           libnm-util/cipher-wep-passphrase.h
8299           libnm-util/cipher-wpa-psk-hex.c
8300           libnm-util/cipher-wpa-psk-hex.h
8301           libnm-util/cipher-wpa-psk-passphrase.c
8302           libnm-util/cipher-wpa-psk-passphrase.h
8303           libnm-util/cipher.c
8304           libnm-util/cipher.h
8305           libnm-util/dbus-helpers.c
8306           libnm-util/dbus-helpers.h
8307           libnm-util/gnome-keyring-md5.c
8308           libnm-util/gnome-keyring-md5.h
8309           libnm-util/sha1.c
8310           libnm-util/sha1.h
8311           src/nm-device-802-11-wireless.c
8312           test/libnm-util/Makefile.am
8313           test/libnm-util/test-ciphers.c
8314           test/libnm-util/test-dbus-helpers.c
8315           test/libnm-util/test-inputs.h
8316                 - Removed
8317
8318 2007-09-14  Dan Williams  <dcbw@redhat.com>
8319
8320         * libnm-util/dbus-method-dispatcher.c
8321           libnm-util/dbus-method-dispatcher.h
8322                 - Remove, unused
8323
8324 2007-09-14  Dan Williams  <dcbw@redhat.com>
8325
8326         Implement deferred activation support in the device class.
8327
8328         * src/nm-device-interface.c
8329           src/nm-device-interface.h
8330                 - (nm_device_interface_activate): take more arguments to support
8331                         deferred activation; callers must pass one of (connection) OR
8332                         (service_name, connection_path)
8333                 - (impl_device_activate): connection validation is punted to the device
8334                         to be able to handle deferred activation.  Yes, this means errors
8335                         don't get returned from the Activate() dbus call, and yes, that
8336                         should be fixed somehow later.
8337
8338         * src/nm-device.c
8339           src/nm-device.h
8340                 - (clear_act_request): clear additional deferred activation stuff too
8341                 - (deferred_activation_timeout_cb): new function; clean up when
8342                         deferred activation times out.
8343                 - (deferred_activation_start_cb): new function; when the connection
8344                         finally becomes available, start device activation
8345                 - (nm_device_activate): attach to the right signals of the activation
8346                         request if we need to defer activation until the connection is valid
8347
8348         * src/NetworkManagerPolicy.c
8349                 - (nm_policy_device_change_check): update for additional arguments
8350                         required for nm_device_interface_activate().  Pass NULL for these
8351                         though because this function already knows exactly which
8352                         NMConnection to use
8353
8354 2007-09-14  Dan Williams  <dcbw@redhat.com>
8355
8356         Implement deferred activation handling in the NMActRequest class.  When a
8357         client wants to activate a device but must create the NMConnection details
8358         on the fly, there likely hasn't been enough time yet for NM to receive the
8359         new connection signal and grab all the connection details.  So the
8360         activation is deferred (and bounded by a timer) for a while, and if the
8361         connection appears within the window, it is activated.
8362
8363         * src/nm-activation-request.c
8364           src/nm-activation-request.h
8365                 - (nm_act_request_class_init): two new signals to support deferred
8366                         activation, to allow the listener to handle both timeout and success
8367                 - (nm_act_request_new_deferred): new function, starts the deferred
8368                         activation timeout handler and listens to the NMManager for
8369                         new-connection signals to notice when the connection comes in
8370
8371 2007-09-14  Dan Williams  <dcbw@redhat.com>
8372
8373         * src/nm-manager.h
8374           src/nm-manager.c
8375                 - (nm_manager_get_connection_service_name,
8376                    nm_manager_get_connection_dbus_path): get details about a connection
8377                         known internally by the NMManager
8378                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8379                         because NMConnection is now a GObject subclass
8380                 - Use constant for the gobject data tag used on NMConnection objects for
8381                         storing the associated DBusGProxy
8382
8383 2007-09-14  Dan Williams  <dcbw@redhat.com>
8384
8385         * utils/Makefile.am
8386           utils/nm-utils.c
8387           utils/nm-utils.h
8388           src/supplicant-manager/Makefile.am
8389           src/dhcp-manager/Makefile.am
8390           src/backends/Makefile.am
8391           src/named-manager/Makefile.am
8392           src/ppp-manager/Makefile.am
8393           src/vpn-manager/Makefile.am
8394           test/libnm-util/Makefile.am
8395           test/test-common/Makefile.am
8396                 - Remove utils/; it was unused
8397
8398 2007-09-13  Dan Williams  <dcbw@redhat.com>
8399
8400         * libnm-glib/nm-vpn-manager.h
8401           libnm-glib/nm-vpn-manager.c
8402                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8403
8404 2007-09-13  Dan Williams  <dcbw@redhat.com>
8405
8406         * src/nm-device-802-3-ethernet.c
8407                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8408                         netlink monitor carrier signals on dispose, not bring down.  The
8409                         carrier signals should be handled over the entire lifetime of the
8410                         device anyway, not created/destroyed on up or down.
8411
8412 2007-09-13  Dan Williams  <dcbw@redhat.com>
8413
8414         * libnm-glib/nm-device.c
8415           libnm-glib/nm-device.h
8416                 - (nm_device_activate): take a connection object path rather than an
8417                         NMConnection because NMConnection isn't exported over D-Bus and
8418                         therefore it dbus-glib can't automatically get an object path from it
8419
8420 2007-09-13  Dan Williams  <dcbw@redhat.com>
8421
8422         * libnm-util/nm-setting.c
8423                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8424
8425 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8426
8427         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8428
8429 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8430
8431         * src/vpn-manager/nm-vpn-connection.[ch]: 
8432         * src/vpn-manager/nm-vpn-manager.[ch]:
8433         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8434         dbus-glib, GObjects, signals etc.
8435
8436         * libnm-glib/nm-vpn-manager.[ch]: 
8437         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8438         so much, rewrite these too.
8439
8440         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8441         the new introspection files.
8442
8443         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8444
8445         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8446         the header with the same name from libnm-utils.
8447
8448         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8449
8450         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8451
8452         * introspection/nm-vpn-plugin.xml: Implement.
8453
8454         * introspection/nm-vpn-connection.xml: Implement.
8455
8456         * introspection/nm-vpn-manager.xml: Implement.
8457
8458         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8459         the named manager argument, it can just as easily get it as the caller.
8460         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8461
8462         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8463
8464         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8465
8466         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8467         libnm-utils.
8468
8469         * libnm-util/nm-connection.c: Ditto.
8470
8471         * src/NetworkManagerMain.h: Remove, it's finally empty.
8472
8473         * configure.in: Remove utils/ from build.
8474
8475         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8476         of hard-coded strings.
8477
8478         * utils/: Move it over to libnm-util.
8479
8480         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8481
8482         * dispatcher-daemon/Makefile.am: Ditto.
8483
8484         * src/Makefile.am: Ditto.
8485
8486 2007-09-12  Dan Williams  <dcbw@redhat.com>
8487
8488         Wireless connections can be made with config data from the applet now.
8489         
8490         Yay.
8491
8492         * src/supplicant-manager/nm-supplicant-config.h
8493           src/supplicant-manager/nm-supplicant-config.c
8494                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8495                 - (nm_supplicant_config_add_setting_wireless,
8496                    nm_supplicant_config_add_setting_wireless_security): new functions;
8497                         add key/value pairs from the settings objects to the supplicant
8498                         config
8499
8500         * src/nm-device-802-11-wireless.c
8501                 - (cull_scan_list): fix check to not prune currently associated AP
8502                 - (build_supplicant_config, real_act_stage2_config): call the functions
8503                         of the NMSupplicantConfig that parse settings objects rather than
8504                         doing it manually here
8505
8506 2007-09-12  Dan Williams  <dcbw@redhat.com>
8507
8508         * src/supplicant-manager/nm-supplicant-interface.c
8509           src/supplicant-manager/nm-supplicant-marshal.list
8510                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8511                         "connection-error" signal arguments should be STRING not CHAR
8512
8513 2007-09-12  Dan Williams  <dcbw@redhat.com>
8514
8515         * src/NetworkManagerUtils.c
8516           src/NetworkManagerUtils.h
8517                 - (nm_utils_hexstr2bin): new function
8518
8519 2007-09-11  Dan Williams  <dcbw@redhat.com>
8520
8521         * src/nm-manager.c
8522                 - (connection_get_settings_cb): emit connection-added signal
8523                 - (connection_removed_cb): uncomment bits for system settings service,
8524                         send connection-removed when appropriate
8525                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8526                         the stack by trying to g_object_set_data() on something that's
8527                         not a GObject; handle case where settings service returns
8528                         empty settings hash table
8529
8530 2007-09-11  Dan Williams  <dcbw@redhat.com>
8531
8532         * src/NetworkManagerPolicy.c
8533                 - (connection_added, connection_removed): trigger device change checks
8534                         on connection changes
8535
8536 2007-09-11  Dan Williams  <dcbw@redhat.com>
8537
8538         * src/nm-activation-request.c
8539                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8540
8541 2007-09-11  Dan Williams  <dcbw@redhat.com>
8542
8543         * src/nm-device-802-11-wireless.c
8544                 - (real_connection_secrets_updated): fix erroneous check
8545
8546 2007-09-11  Dan Williams  <dcbw@redhat.com>
8547
8548         * introspection/nm-device.xml
8549           libnm-glib/nm-device.c
8550           libnm-glib/nm-device.c
8551                 - Fix Activate call argument borkage; Activate takes 3 arguments
8552
8553 2007-09-11  Dan Williams  <dcbw@redhat.com>
8554
8555         * libnm-glib/nm-access-point.c
8556           libnm-glib/nm-access-point.c
8557                 - (nm_access_point_get_frequency): now returns guint32 to match
8558                         property change on 2007-09-10
8559
8560 2007-09-11  Dan Williams  <dcbw@redhat.com>
8561
8562         * src/nm-device-802-11-wireless.c
8563                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8564                         somewhere defines 'index' and I missed this one when I fixed the
8565                         shadow declaration errors earlier
8566
8567 2007-09-11  Dan Williams  <dcbw@redhat.com>
8568
8569         * libnm-util/nm-connection.c
8570                 - (nm_connection_update_secrets, need_secrets_check): move
8571                         802-11-wireless-security need_secrets checks to the setting object
8572                         itself, where it belongs
8573
8574         * libnm-util/nm-setting.c
8575           libnm-util/nm-setting.h
8576                 - (nm_setting_need_secrets): new function
8577                 - (setting_wireless_security_verify,
8578                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8579                 - (setting_wireless_security_need_secrets): mostly copy code over
8580                         from nm-connection.c
8581
8582 2007-09-11  Dan Williams  <dcbw@redhat.com>
8583
8584         * libnm-util/nm-setting.c
8585           libnm-util/nm-setting.h
8586                 - (nm_setting_update_secrets): new function; add a virtual function that
8587                         subclasses can implement to update their secrets
8588                 - (setting_wireless_security_update_secrets): implement that function
8589                         for the 802-11-wireless-security subclass
8590
8591         * libnm-util/nm-connection.c
8592           libnm-util/nm-connection.h
8593                 - (nm_connection_update_secrets): update secrets for a Setting and
8594                         emit a signal on success
8595
8596         * src/nm-manager.c
8597           src/nm-manager.h
8598           src/nm-marshal.list
8599                 - (connection_get_settings_cb): enable system settings bits
8600                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8601                         to request secrets from the settings dbus service and to
8602                         push those secrets to the NMConnection itself
8603
8604         * src/nm-activation-request.c
8605           src/nm-activation-request.h
8606                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8607                         currently being activated, and proxy that signal to other listeners.
8608                         Goes through the activation request because the activation request
8609                         is the thing that manages the lifetime of the NMConnection that's
8610                         being activated.
8611
8612         * src/nm-device-802-11-wireless.c
8613                 - (real_connection_secrets_updated): implement the connection secrets
8614                         updated notification and restart activation when secrets are
8615                         received
8616                 - (real_act_stage2_config): request secrets from the settings dbus
8617                         service if secrets are needed
8618
8619         * src/nm-device.c
8620           src/nm-device.h
8621                 - (clear_act_request, nm_device_activation_cancel,
8622                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8623                         where the activation request is cleared
8624                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8625                         updated secrets signal of activation request and add a function
8626                         that subclasses can override to handle it easily
8627
8628 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8629
8630         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8631         removal of NetworkManagerAPList.
8632
8633 2007-09-10  Dan Williams  <dcbw@redhat.com>
8634
8635         * src/NetworkManagerAP.c
8636           src/NetworkManagerAP.h
8637           introspection/nm-access-point.xml
8638                 - Change 'freq' property to a guint32 instead of a double since we
8639                         weren't using the floating point bits anyway
8640
8641 2007-09-10  Dan Williams  <dcbw@redhat.com>
8642
8643         * NetworkManagerAP.c
8644           NetworkManagerAP.h
8645           NetworkManagerPolicy.c
8646           NetworkManagerSystem.c
8647           NetworkManagerUtils.c
8648           NetworkManagerUtils.h
8649           nm-device-802-11-wireless.c
8650           nm-device-802-3-ethernet.c
8651           nm-hal-manager.c
8652           nm-manager.c
8653           vpn-manager/nm-dbus-vpn.c
8654                 - Warning fixes; casts and removal of unused variables
8655
8656 2007-09-10  Dan Williams  <dcbw@redhat.com>
8657
8658         * include/NetworkManager.h
8659                 - Kill NMNetworkType; AP types don't matter any more
8660
8661         * src/NetworkManagerAPList.c
8662           src/NetworkManagerAPList.h
8663           src/Makefile.am
8664                 - Kill; NMAccessPointList has outlived it's usefulness
8665
8666         * src/NetworkManagerAP.c
8667           src/NetworkManagerAP.h
8668                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8669                         functions; check if an NMConnection object is compatible with the
8670                         settings of this AP
8671                 - (freq_to_channel, channel_to_freq): utility functions for
8672                         channel <-> frequency conversion
8673
8674         * src/nm-device.c
8675           src/nm-device.h
8676                 - (nm_device_get_best_connection): pass the specific object around
8677                          (which might be the object path of a specific AP to connect to).
8678                          The get_best_connection() call should populate this on return
8679                          if needed (wireless does).
8680
8681         * src/nm-device-802-3-ethernet.c
8682                 - (real_get_best_connection): handle specific_object argument
8683
8684         * src/NetworkManager.c
8685           src/NetworkManagerMain.h
8686                 - Remove unused includes
8687
8688         * src/nm-device-802-11-wireless.c
8689           src/nm-device-802-11-wireless.h
8690                 - Convert the ap_list into a GSList from an NMAccessPointList
8691                 - No need for caching the 'activation_ap' since this is now determined
8692                         from the specific_object of the activation request, which is
8693                         populated from the get_best_connection() call or from a user request
8694                 - (nm_device_802_11_wireless_update_bssid): fix warning
8695                 - (get_wireless_capabilities): fix error message format arguments
8696                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8697                 - (find_best_connection, real_get_best_connection): implement
8698                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8699                         move here from NetworkManagerAPList
8700                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8701                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8702                         already verified earlier
8703                 - (real_act_stage2_config): use nm_connection_need_secrets()
8704
8705         * src/NetworkManagerPolicy.c
8706                 - (nm_policy_auto_get_best_device): handle specific objects
8707                 - (create_connection): remove; automatic connection creation functionality
8708                         is handled by the Connection objects
8709                 - (nm_policy_device_change_check): handle specific_object
8710
8711         * libnm-util/nm-connection.c
8712                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8713
8714 2007-09-10  Dan Williams  <dcbw@redhat.com>
8715
8716         * src/nm-manager.c
8717                 - (query_connections): fix uninitialized variable problem that caused
8718                         segfault
8719                 - (nm_manager_add_device): take devices down on startup so that we can
8720                         be assured that nm_device_is_up() won't short-circuit the init
8721                         process.  Hack until the is_up check gets split into two pieces
8722                         that aren't behaviorally confusing.
8723
8724 2007-09-09  Dan Williams  <dcbw@redhat.com>
8725
8726         * introspection/nm-device.xml
8727                 - The 'Activate' method now takes 3 arguments, a service name for the
8728                 settings service (user or system), the object path of the connection
8729                 to activate, and the specific object to activate, if any
8730
8731         * src/nm-device-interface.c
8732                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8733                 Add error bits
8734                 - (impl_device_activate): adapt to new Activate arguments; validate
8735                 the service name and get the Connection object from the NMManager
8736                 before starting to activate the device with the specified connection
8737
8738         * src/nm-device-802-3-ethernet.c
8739                 - (real_get_best_connection): find the best connection, or create a
8740                 default one if no existing connections can be used
8741
8742         * src/NetworkManagerPolicy.c
8743                 - (nm_policy_auto_get_best_device): Get the device's best connection
8744                 and only pick the device if it has one
8745                 - (nm_policy_device_change_check): disable wireless bits for now until
8746                 wireless get_best_connection() can be implemented (replacing "best_ap");
8747                 don't create a default connection here as the device subclass will do
8748                 that if needed
8749
8750         * src/nm-manager.h
8751           src/nm-manager.c
8752                 - (nm_manager_get): make NMManager a singleton and expose the getter
8753                 internally
8754                 - Rework internal NMManager connection handling to use the same
8755                 routines for both the system and user settings services.  Most calls
8756                 take a new NMConnectionType argument specifying either system or user
8757                 connections
8758                 - (nm_manager_get_connection_by_object_path): new function; get a
8759                 connection keyed on its object path
8760
8761         * src/NetworkManager.c
8762                 - (main): use nm_manager_get()
8763
8764 2007-09-09  Dan Williams  <dcbw@redhat.com>
8765
8766         * src/nm-device.h
8767           src/nm-device.c
8768                 - (nm_device_get_best_connection): new function; get best connection
8769                         for the device at that time
8770
8771 2007-09-09  Dan Williams  <dcbw@redhat.com>
8772
8773         * src/nm-device-interface.h
8774                 - Add NMDeviceInterfaceError with an UnknownConnection error
8775
8776 2007-09-09  Dan Williams  <dcbw@redhat.com>
8777
8778         Stupid mistake on my part; object path and interface for settings service
8779         and connection objects can be the same, only the service name must be
8780         different for the system and user settings services.
8781
8782         * include/NetworkManager.h
8783           src/nm-manager.c
8784           introspection/nm-settings-connection.xml
8785           introspection/nm-settings.xml
8786           libnm-glib/nm-settings.c
8787                 - (nm_connection_settings_init, query_user_connections,
8788                    new_connection_cb): Unify NetworkManagerSettings and Connection
8789                    interface name and object path
8790
8791 2007-09-06  Dan Williams  <dcbw@redhat.com>
8792
8793         * libnm-glib/nm-object.c
8794                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8795                    nm_object_get_int_property, nm_object_get_uint_property,
8796                    nm_object_get_boolean_property, nm_object_get_byte_property,
8797                    nm_object_get_double_property, nm_object_get_byte_array_property):
8798                         clear GValues after copying their contents, fixes memory leaks
8799                         after every property access because dbus-glib copies the values
8800                         from the DBusMessage into the GValue already.
8801
8802 2007-09-06  Dan Williams  <dcbw@redhat.com>
8803
8804         * introspection/nm-access-point.xml
8805                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8806                         them to be.  There's some magic property name parsing going on in
8807                         dbus-glib that breaks up property names based on studly-caps and
8808                         puts - between words.
8809
8810         * libnm-glib/nm-access-point.c
8811                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8812                         Fix property names
8813
8814 2007-09-06  Dan Williams  <dcbw@redhat.com>
8815
8816         * src/nm-manager.c
8817                 - (nm_manager_user_connections_destroy): clear the user connections hash
8818                         table, don't destroy it
8819                 - (finalize): only destroy the hash table on NMManager finalization
8820
8821 2007-09-02  Dan Williams  <dcbw@redhat.com>
8822
8823         * include/NetworkManager.h
8824           libnm-glib/nm-settings.c
8825                 - defines for the user settings daemon D-Bus bits
8826
8827         * src/NetworkManager.c
8828                 - Remove stuff that referred to the old NetworkManagerInfo service
8829
8830         * src/vpn-manager/nm-dbus-vpn.h
8831                 - Move old NMI defines to the only place they are used still
8832
8833         * libnm-util/nm-connection.c
8834           libnm-util/nm-connection.h
8835           src/nm-activation-request.c
8836                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8837
8838         * src/nm-manager.c
8839           src/nm-manager.h
8840                 - Get connections and their settings from the user settings daemon
8841                         at the appropriate times
8842
8843 2007-09-02  Dan Williams  <dcbw@redhat.com>
8844
8845         * libnm-util/nm-setting.c
8846                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8847                 - (setting_wireless_hash): set the right value on the item
8848
8849 2007-09-02  Dan Williams  <dcbw@redhat.com>
8850
8851         * test/Makefile.am
8852           test/nminfotest.c
8853                 - Remove, no longer useful
8854
8855 2007-08-30  Dan Williams  <dcbw@redhat.com>
8856
8857         * src/Makefile.am
8858           src/NetworkManagerDbus.c
8859           src/NetworkManagerDbus.h
8860           src/vpn-manager/nm-dbus-vpn.c
8861                 - Remove, no longer necessary.  Move last bits to the only place its
8862                 used, in nm-dbus-vpn.c
8863
8864         * src/NetworkManagerAPList.c
8865           src/nm-device.c
8866           src/NetworkManager.c
8867           src/nm-device-802-11-wireless.c
8868           src/vpn-manager/nm-vpn-manager.c
8869           src/vpn-manager/nm-vpn-service.c
8870           src/NetworkManagerPolicy.c
8871           src/nm-manager.c
8872                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8873                 that was message_is_error()
8874
8875 2007-08-30  Dan Williams  <dcbw@redhat.com>
8876
8877         * libnm-util/sha1.c
8878                 - Include config.h to get defines for endiannes (gnome.org #420216)
8879
8880 2007-08-30  Dan Williams  <dcbw@redhat.com>
8881
8882         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8883
8884         * src/ppp-manager/Makefile.am
8885                 - use -fPIC (gnome.org #471825)
8886
8887 2007-08-29  Dan Williams  <dcbw@redhat.com>
8888
8889         * include/NetworkManager.h
8890                 - Keep NMConnection object path in sync
8891
8892         * libnm-glib/nm-settings.c
8893           libnm-glib/nm-settings.h
8894                 - Break D-Bus object registration out of the init function, because
8895                 every object that's exported over D-Bus needs to use the _same_
8896                 DBusConnection.  Otherwise, each object would get a different object
8897                 path tree and wouldn't be callable.
8898
8899 2007-08-29  Dan Williams  <dcbw@redhat.com>
8900
8901         * libnm-util/nm-setting.h
8902           libnm-util/nm-setting.c
8903           libnm-util/nm-connection.c
8904           src/NetworkManagerPolicy.c
8905                 - 'info' settings object should be 'connection' says the spec
8906                 at NetworkManagerConfigurationSpecification
8907
8908 2007-08-29  Dan Williams  <dcbw@redhat.com>
8909
8910         * libnm-glib/nm-settings.c
8911           libnm-glib/nm-settings.h
8912                 - make the dbus path a property of the object, and autogenerate it.
8913                 It can't be composed of the 'id' field becuase that's not available
8914                 yet during the GObject creation in nm_connection_settings_init()
8915
8916 2007-08-29  Dan Williams  <dcbw@redhat.com>
8917
8918         * introspection/nm-settings-connection.xml
8919           introspection/nm-settings.xml
8920                 - Service name -> NetworkManagerUserSettings because two services
8921                 can't share part of the same path.  I'm not really sure how we'll use
8922                 the same code with the system-settings daemon...
8923
8924 2007-08-28  Dan Williams  <dcbw@redhat.com>
8925
8926         * src/nm-device-interface.c
8927           src/nm-device-interface.h
8928                 - Kill one more bit of NMData
8929
8930 2007-08-28  Dan Williams  <dcbw@redhat.com>
8931
8932         * src/NetworkManagerSystem.h
8933           src/nm-device.c
8934           src/nm-device.h
8935           src/nm-hal-manager.c
8936           src/NetworkManager.c
8937           src/nm-device-802-11-wireless.c
8938           src/nm-hal-manager.h
8939           src/nm-device-802-3-ethernet.c
8940           src/vpn-manager/nm-vpn-service.h
8941           src/vpn-manager/nm-vpn-manager.c
8942           src/vpn-manager/nm-vpn-manager.h
8943           src/vpn-manager/nm-vpn-service.c
8944           src/nm-device-802-11-wireless.h
8945           src/NetworkManagerMain.h
8946           src/nm-device-802-3-ethernet.h
8947           src/backends/NetworkManagerGentoo.c
8948           src/backends/NetworkManagerPaldo.c
8949           src/backends/NetworkManagerFrugalware.c
8950           src/backends/NetworkManagerRedHat.c
8951           src/backends/NetworkManagerSlackware.c
8952           src/backends/NetworkManagerGeneric.c
8953           src/backends/NetworkManagerArch.c
8954           src/backends/NetworkManagerSuSE.c
8955           src/backends/NetworkManagerGeneric.h
8956           src/backends/NetworkManagerDebian.c
8957                 - Kill NMData
8958
8959 2007-08-28  Dan Williams  <dcbw@redhat.com>
8960
8961         * src/NetworkManagerMain.h
8962           src/nm-device-802-11-wireless.c
8963           src/NetworkManager.c
8964                 - Remove invalid AP list from NMData; need to rework this somewhat, but
8965                 for now we should set the 'invalid' property on individual APs, and when
8966                 we need to invalidate a whole ESS, set the 'invalid' on every member of
8967                 that ESS
8968
8969 2007-08-28  Dan Williams  <dcbw@redhat.com>
8970
8971         * src/NetworkManagerAP.c
8972           src/NetworkManagerAP.h
8973                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
8974                         'autoconnect' property instead
8975
8976         * src/NetworkManager.c
8977           src/NetworkManagerMain.h
8978           src/NetworkManagerPolicy.c
8979           src/NetworkManagerPolicy.h
8980                 - Remove the 'allowed_ap_list', which should be replaced by 
8981                         NMConnection/NMSettings instead, since _those_ are the allowed
8982                         things that NM can connect to
8983
8984         * src/nm-device-802-11-wireless.c
8985                 - Remove both allowed_ap_list usage and 'fallback' checking
8986
8987 2007-08-28  Dan Williams  <dcbw@redhat.com>
8988
8989         * src/nm-device.c
8990           src/named-manager/nm-named-manager.c
8991           src/named-manager/nm-named-manager.h
8992           src/NetworkManager.c
8993           src/vpn-manager/nm-vpn-manager.c
8994           src/NetworkManagerMain.h
8995           src/NetworkManagerSystem.c
8996                 - Remove the named-manager object from NMData structure in preparation
8997                 for NMData's timely death.  Make the NMNamedManager the singleton that
8998                 it really is
8999
9000 2007-08-28  Dan Williams  <dcbw@redhat.com>
9001
9002         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9003         each AP's capabilities, and by NMConnection/NMSettings objects for user
9004         defined connections.
9005
9006         * include/NetworkManager.h
9007                 - Redefine 802.11 security properties.  There are now device capabilities
9008                         and AP flags and AP security flags.  It was way to unclear before.
9009
9010         * src/Makefile.am
9011           src/nm-ap-security-leap.h
9012           src/nm-ap-security-leap.c
9013           src/nm-ap-security-wpa-eap.c
9014           src/nm-ap-security-wpa-eap.h
9015           src/nm-ap-security-private.h
9016           src/nm-ap-security-wpa-psk.c
9017           src/nm-ap-security-wpa-psk.h
9018           src/nm-ap-security-wep.c
9019           src/nm-ap-security-wep.h
9020           src/nm-ap-security.c
9021           src/nm-ap-security.h
9022                 - Removed, to be replaced with NMConnection/NMSettings objects
9023
9024         * src/nm-dbus-nmi.c
9025           src/nm-dbus-nmi.h
9026                 - Removed, to be replaced by code that talks to the new info daemon
9027                         interface and gets NMConnection/NMSettings objects
9028
9029         * src/backends/NetworkManagerSuSE.c
9030                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9031                         info-daemon that does the same thing but talks the new info-daemon
9032                         D-Bus interface
9033
9034         * src/NetworkManagerAP.h
9035           src/NetworkManagerAP.c
9036           src/NetworkManagerAPList.c
9037           libnm-glib/libnm-glib-test.c
9038                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9039                         WPA/RSN
9040
9041         * libnm-glib/nm-access-point.c
9042           libnm-glib/nm-access-point.h
9043           introspection/nm-access-point.xml
9044           test/nm-tool.c
9045                 - Adjust to new flags for AP security
9046
9047         * utils/nm-utils.c
9048           utils/nm-utils.h
9049           src/vpn-manager/nm-dbus-vpn.c
9050                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9051                         stuff which is the only place it's used
9052
9053         * src/nm-device-interface.c
9054           src/nm-device-interface.h
9055           introspection/nm-device.xml
9056           src/nm-activation-request.c
9057           src/nm-activation-request.h
9058           src/nm-device.c
9059                 - Add a new 'specific_object' argument that hints to NM what actual
9060                         AP or other device-specific thing the connection should apply to.
9061                         NMConnection objects can apply to more than one actual device/AP.
9062
9063         * libnm-util/nm-connection.c
9064         * libnm-util/nm-connection.h
9065                 - Add 'have_secrets" call stubs
9066
9067         * libnm-util/cipher.h
9068                 - Move NM_AUTH_TYPE_* defines here for now
9069
9070         * src/nm-device-802-11-wireless.c
9071                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9072                         NMSettings objects
9073
9074         * src/NetworkManagerDbus.c
9075         * src/NetworkManagerPolicy.c
9076                 - Remove usage of update_allowed_networks, should be pushing data in
9077                         a different manner
9078
9079 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9080
9081         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9082         dbus-glib frees it when the call is done.
9083
9084 2007-08-26  Dan Williams  <dcbw@redhat.com>
9085
9086         * introspection/nm-device.xml
9087                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9088
9089 2007-08-26  Dan Williams  <dcbw@redhat.com>
9090
9091         * src/nm-device-802-3-ethernet.c
9092                 - (constructor): move connection of interface-connected/disconnected
9093                         signals here from real_bring_up().  Should be listening to netlink
9094                         for carrier events no matter what the initial state of the device
9095                         is.
9096
9097 2007-08-26  Dan Williams  <dcbw@redhat.com>
9098
9099         * src/nm-netlink-monitor.c
9100                 - (nm_netlink_monitor_class_init): fix marshalling types for
9101                         interface-connected/interface-disconnected
9102                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9103                         check
9104
9105 2007-08-26  Dan Williams  <dcbw@redhat.com>
9106
9107         Convert to using interface indexes as the primary method of identifying
9108         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9109         be renamed at any time.  Device object paths now refer to the device
9110         index rather than the name, and you can map those two manually if you like
9111         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9112         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9113         to use interface indexes rather than names.
9114
9115 2007-08-26  Dan Williams  <dcbw@redhat.com>
9116
9117         * src/nm-netlink-monitor.h
9118                 - Remove one last bit of wireless-event signal
9119
9120 2007-08-26  Dan Williams  <dcbw@redhat.com>
9121
9122         * src/nm-netlink-monitor.c
9123                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9124                         don't need the 'wireless-event' signal anymore since that's all
9125                         handled by wpa_supplicant
9126
9127 2007-08-25  Dan Williams  <dcbw@redhat.com>
9128
9129         It's 2007. Remove support for drivers that don't support wireless scanning.
9130
9131         * test/nm-tool.c
9132           include/NetworkManager.h
9133           src/NetworkManagerUtils.c
9134           src/NetworkManagerPolicy.c
9135           src/nm-device-802-11-wireless.c
9136                 - Remove special handling for non-scanning devices and mark them
9137                         as unsupported/unhandled
9138
9139 2007-08-20  Dan Williams  <dcbw@redhat.com>
9140
9141         * src/nm-device-802-11-wireless.c
9142           src/nm-device-802-3-ethernet.c
9143                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9144                         because when the card is pulled or the module removed, the device
9145                         is already !IFF_UP and then device-specific cleanup (removing
9146                         the supplicant interface, periodic checks, etc) never gets done
9147
9148 2007-08-20  Dan Williams  <dcbw@redhat.com>
9149
9150         * src/nm-manager.c
9151                 - (nm_manager_remove_device): bring device down before disconnecting
9152                         signal handlers, so that the 'state' signal will get broadcast when
9153                         the device enters the DOWN state
9154                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9155                         of states that cause the NMManager to recheck its state
9156
9157 2007-08-20  Dan Williams  <dcbw@redhat.com>
9158
9159         * src/supplicant-manager/nm-supplicant-interface.c
9160                 - (interface_disconnect_done): don't try to dispose of the net proxy
9161                         when it may already have been disposed of
9162
9163 2007-08-20  Dan Williams  <dcbw@redhat.com>
9164
9165         * src/nm-device-802-11-wireless.c
9166                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9167                         the SSID isn't available; this can happen when the card is pulled
9168                         or the module unloaded, during the post-removal deactivation
9169                         paths, when the ioctl returns ENODEV
9170
9171 2007-08-20  Dan Williams  <dcbw@redhat.com>
9172
9173         * src/nm-device-802-11-wireless.c
9174                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9175                         frequency, and mode match.  Applets are now responsible for grouping
9176                         access points
9177
9178 2007-08-20  Dan Williams  <dcbw@redhat.com>
9179
9180         * src/NetworkManagerAP.c
9181         * src/NetworkManagerAP.h
9182                 - (nm_ap_print_self): new function
9183
9184         * src/NetworkManagerAPList.c
9185                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9186                         to do it all here
9187         
9188 2007-08-17  Dan Williams  <dcbw@redhat.com>
9189
9190         * src/nm-device-802-3-ethernet.c
9191                 - (real_bring_down): don't try to dispose of stuff that might not
9192                         exist
9193
9194 2007-08-17  Dan Williams  <dcbw@redhat.com>
9195
9196         * src/NetworkManagerAP.c
9197                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9198                         applet.  This ensures that the case between the seen-bssids and
9199                         the bssids reported by the driver match.
9200
9201 2007-08-17  Dan Williams  <dcbw@redhat.com>
9202
9203         * src/nm-device-802-11-wireless.c
9204                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9205                         we dispose of the interface proxy in NM
9206
9207 2007-08-16  Dan Williams  <dcbw@redhat.com>
9208
9209         * libnm-glib/nm-client.c
9210                 - (nm_client_init): create VPN connections hash table with key free
9211                         function
9212                 - (proxy_vpn_connection_added): VPN connections hash table key should
9213                         be a duplicated value, not the same memory address as the VPN
9214                         connection name.  This is because the VPN connection name could
9215                         potentially be freed and set to something else during the lifetime
9216                         of the NMVPNConnection object.
9217
9218 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9219
9220         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9221         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9222         with the file descriptors. Send a child setup function to change the pppd
9223         progress group.
9224
9225 2007-08-15  Dan Williams  <dcbw@redhat.com>
9226
9227         * src/supplicant-manager/nm-supplicant-interface.c
9228                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9229                         an interface
9230                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9231                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9232                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9233                         the interface internally
9234
9235 2007-08-15  Dan Williams  <dcbw@redhat.com>
9236
9237         * src/nm-device-802-11-wireless.c
9238                 - (real_bring_down): move most of this function into device_cleanup()
9239                         so that it can be called from elsewhere
9240                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9241                         and stuff on dispose.  These would normally get cleaned up when
9242                         the device is marked down and deactivated, but when the device is
9243                         hot-unplugged, it's already down and real_down() never gets run
9244
9245 2007-08-15  Dan Williams  <dcbw@redhat.com>
9246
9247         * src/nm-dbus-nmi.c
9248                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9249                         caused a reference leak on device for which NM requested a key
9250
9251 2007-08-15  Dan Williams  <dcbw@redhat.com>
9252
9253         * libnm-glib/nm-client.c
9254                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9255
9256 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9257
9258         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9259         nothing is using it at the moment, but it'll be all useful and stuff later on.
9260
9261         * libnm-util/nm-setting.h: Define NMSettingPPP.
9262
9263         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9264
9265         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9266
9267         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9268
9269         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9270
9271         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9272
9273 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9274
9275         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9276
9277         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9278         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9279         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9280         name and different arguments and it won't compile anymore. To fix this, we now have
9281         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9282         that is new API + compatibility API and used by the daemon. The other, 
9283         nm-manager-client.xml is only the new API without compatibility bits and is used
9284         by libnm-glib to make it compile.
9285
9286         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9287
9288         * src/nm-manager.c (impl_manager_legacy_sleep)
9289         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9290         interface functions for 0.6 branch.
9291
9292 2007-08-14  Dan Williams  <dcbw@redhat.com>
9293
9294         * src/NetworkManagerAP.c
9295                 - (nm_ap_new_from_properties): fix mistaken check of return value
9296                         from memcmp (should expect 0)
9297
9298 2007-08-14  Dan Williams  <dcbw@redhat.com>
9299
9300         (force-commit to fix wrong comment and partial commit of r2685; this
9301          commit actually applies to r2685)
9302
9303         * src/NetworkManagerUtils.c
9304                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9305                         ignores trailing nulls in the SSID to work around mismatches in
9306                         expectations between WEXT and what the info-daemon passes back.  The
9307                         info-daemon would pass back the correct length, but due to the
9308                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9309                         the device would always have an SSID + 1 depending on what versions
9310                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9311                         visible by just quitting the applet and relaunching, which caused
9312                         NM to reassociated to the same network over again when reloading
9313                         the save networks.
9314
9315         * src/NetworkManagerPolicy.c
9316           src/NetworkManagerUtils.h
9317           src/nm-device-802-11-wireless.c
9318                 - Update for new parameter to nm_utils_same_ssid()
9319
9320 2007-08-14  Dan Williams  <dcbw@redhat.com>
9321
9322         * src/NetworkManagerAP.c
9323                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9324                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9325                         setting the BSSID to all 0s.  That confused the heck out of NM,
9326                         plus it's useless and probably out-of-spec.
9327
9328 2007-08-14  Dan Williams  <dcbw@redhat.com>
9329
9330         * callouts/Makefile.am
9331           src/dhcp-manager/nm-dhcp-manager.c
9332           src/dhcp-manager/nm-dhcp-manager.h
9333           src/dhcp-manager/Makefile.am
9334                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9335
9336 2007-08-14  Dan Williams  <dcbw@redhat.com>
9337
9338         * src/dhcp-manager/nm-dhcp-manager.c
9339                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9340                         it's really needed, get rid of unused xtra_args parameter
9341
9342 2007-08-14  Dan Williams  <dcbw@redhat.com>
9343
9344         * include/NetworkManagerVPN.h
9345           src/vpn-manager/nm-dbus-vpn.c
9346           src/vpn-manager/nm-dbus-vpn.h
9347           src/vpn-manager/nm-vpn-act-request.c
9348           src/vpn-manager/nm-vpn-act-request.h
9349           src/vpn-manager/nm-vpn-service.c
9350           src/vpn-manager/nm-vpn-service.h
9351           libnm-glib/nm-vpn-connection.c
9352           libnm-glib/nm-vpn-connection.h
9353           libnm-glib/nm-client.h
9354                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9355                         NMVPNServiceState to clarify what they apply to
9356                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9357                         NMVPNActStage -> NMVPNConnectionState for the same reason
9358
9359         * libnm-glib/nm-client.c
9360                 - Constant + type renames from above
9361                 - Properly handle NameOwnerChanged/manager_running signals
9362                         for NM service; only emit when state really changes
9363                 - Use hash tables correctly so that the key (which was previously owned
9364                         by the D-Bus message) now has the same lifetime as the value, since
9365                         the key is now taken from the the NMVPNConnection itself.  This
9366                         really fixes the double-VPN names in the applet
9367
9368 2007-08-13  Dan Williams  <dcbw@redhat.com>
9369
9370         Patch from Michael Biebl <biebl@debian.org>
9371
9372         * po/POTFILES.in
9373           po/POTFILES.skip
9374                 - Update for vpn-properties move
9375
9376 2007-08-13  Dan Williams  <dcbw@redhat.com>
9377
9378         * libnm-glib/nm-client.c
9379                 - Convert internal VPN connection tracking from a list to a hash table
9380                         to easily avoid duplicates
9381                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9382                         must be freed by the caller, like nm_client_get_devices()
9383                 - (nm_client_remove_vpn_connection): don't let the removal signal
9384                         leak through for NMVPNConnection objects that aren't actually
9385                         tracked.
9386                 - (manager_running): throw away VPN connection list when NM goes away,
9387                         like with the device list
9388
9389 2007-08-13  Dan Williams  <dcbw@redhat.com>
9390
9391         * src/dhcp-manager/nm-dhcp-manager.c
9392                 - Stop any dhclient instance that might be already running for a
9393                         particular interface before starting an NM spawned dhclient.  Fixes
9394                         dhclient processes left over if NM crashes, stuff like that.
9395
9396 2007-08-13  Dan Williams  <dcbw@redhat.com>
9397
9398         * src/NetworkManagerAP.c
9399                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9400                         when the AP wasn't broadcasting it's SSID
9401
9402 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9403
9404         * include/NetworkManager.h: added DBus path for connection settings.
9405
9406         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9407         nm_connection_settings_signal_updated,
9408         nm_connection_settings_signal_removed): new functions to wrap the
9409         objects' signals.
9410         (nm_connection_settings_init): register GObject with DBus.
9411         (nm_connection_settings_get_dbus_object_path): new function.
9412
9413         * libnm-glib/Makefile.am: added libnmutil to link flags.
9414
9415 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9416
9417         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9418
9419         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9420         libnm_glib directory got merged with libnm-glib/.
9421
9422         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9423
9424         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9425         Rename the library from libnm-glib to libnm_glib to maintain the library API
9426         compatibility with 0.6 branch.
9427
9428         * Makefile.am: Remove gnome/ SUBDIR.
9429
9430         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9431
9432         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9433
9434         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9435
9436         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9437         anymore.
9438         Remove checks for wpa_supplicant binary, it's used over dbus.
9439         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9440
9441         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9442         Link the binaries with libnm_glib.la.
9443
9444 2007-08-12  Dan Williams  <dcbw@redhat.com>
9445
9446         * src/NetworkManagerPolicy.c
9447                 - (nm_policy_device_change_check): fix policy to deactivate old device
9448                         before activating new one, at least until the multiple active
9449                         device support lands
9450
9451 2007-08-12  Dan Williams  <dcbw@redhat.com>
9452
9453         * src/NetworkManagerPolicy.c
9454                 - (nm_policy_new): hook up to connection-added / connection-removed
9455                         signals instead of connections-changed
9456
9457 2007-08-12  Dan Williams  <dcbw@redhat.com>
9458
9459         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9460         Robert Frank <rfrank@redhat.com>
9461
9462         * src/dhcp-manager/nm-dhcp-manager.c
9463           src/dhcp-manager/nm-dhcp-manager.c
9464           src/nm-device.c
9465                 - Spawn and communicate with dhclient directly, through means of a
9466                 custom dhclient callout script.  Process callout D-Bus signals
9467                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9468                 sent via gobject signals rather than being driven by the dhcp manager
9469                 directly.
9470
9471 2007-08-12  Dan Williams  <dcbw@redhat.com>
9472
9473         * callouts/nm-dhcp-client-action.c
9474                 - (build_message): ignore non-DHCP-related environment variables
9475
9476 2007-08-12  Dan Williams  <dcbw@redhat.com>
9477
9478         * Makefile.am
9479           configure.in
9480           callouts/Makefile.am
9481           callouts/nm-dhcp-client-action.c
9482           callouts/nm-dhcp-client.conf
9483                 - Add dhclient-executed callout that takes the place of dhclient-script
9484                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9485                 NM then listens for
9486
9487 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9488
9489         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9490
9491         * libnm-glib/nm-client.h:
9492         * libnm-glib/nm-object.h:
9493         * libnm-glib/nm-vpn-connection.h:
9494         * libnm-glib/nm-settings.h:
9495         * libnm-glib/nm-device.h:
9496         * libnm-glib/nm-ip4-config.h:
9497         * libnm-glib/nm-access-point.h:
9498         * libnm-glib/nm-device-802-3-ethernet.h:
9499         * libnm-util/nm-setting.h: 
9500         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9501
9502         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9503
9504         * libnm-glib/nm-access-point.c: Strength has type char.
9505
9506         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9507         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9508
9509         * introspection/nm-access-point.xml: Strength property is char, not int.
9510
9511         * src/NetworkManagerAP.c (set_property): Set strength from char.
9512         (get_property): Handle hidden APs (with empty SSID).
9513         Get strength value from char.
9514         (nm_ap_class_init): Strength property has char type.
9515
9516 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9517
9518         * introspection/Makefile.am:
9519         * introspection/nm-settings.xml:
9520         * introspection/nm-settings-connection.xml: added Settings interfaces.
9521
9522         * libnm-glib/nm-settings.[ch]:
9523         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9524         containing the DBus implementation.
9525
9526 2007-07-26  Dan Williams  <dcbw@redhat.com>
9527
9528         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9529
9530         * src/NetworkManagerSystem.c
9531                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9532                         same subnet (#437396)
9533
9534 2007-07-26  Dan Williams  <dcbw@redhat.com>
9535
9536         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9537
9538         * gnome/vpn-properties/nm-vpn-properties.c
9539                 - Fix translatable strings (#445865)
9540
9541 2007-07-26  Dan Williams  <dcbw@redhat.com>
9542
9543         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9544
9545         * configure.in
9546                 - Remove useless junk (#412530)
9547
9548 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9549
9550         Patch from Robert Buchholz <rbu@gentoo.org>:
9551
9552         * configure.in:
9553         * Makefile.am:
9554         * introspection/Makefile.am:
9555         Make make distcheck work again.
9556
9557 2007-06-27  Dan Williams  <dcbw@redhat.com>
9558
9559         * Make SSIDs GByteArrays everywhere
9560         * Rename "essid" -> "ssid" everywhere that's appropriate
9561         * Refcount activation_ap member of the 802.11 wireless device class
9562
9563 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9564
9565         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9566
9567 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9568
9569         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9570         that we got a new AP when we just update existing AP properties.
9571
9572 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9573
9574         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9575
9576         * nm-utils.[ch]: Remove.
9577
9578         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9579         objects for easy property access and dbus connection handling.
9580
9581         * libnm-glib/nm-client.c: Derive from NMObject.
9582
9583         * libnm-glib/nm-device.c: Ditto.
9584
9585         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9586
9587         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9588
9589         * libnm-glib/nm-ip4-config.c: Ditto.
9590
9591         * libnm-glib/nm-access-point.c: Ditto.
9592
9593         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9594         comparision. Currently used by the device activation code to determine if the new
9595         activation is the same as the old one.
9596
9597         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9598         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9599         able to ask password for the AP.
9600
9601         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9602         up if the device is already connected, tear down it's connection (if it isn't the
9603         same as new one) and start the activation.
9604
9605         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9606
9607         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9608         the issue where all APs are always listed as encrypted.
9609
9610         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9611         their own registered paths.
9612
9613         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9614         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9615
9616 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9617
9618         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9619         (0 & 0 == 0, doh)
9620
9621         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9622         because the handling code will cause the next state change and signal listeners
9623         get the signals in wrong order.
9624
9625         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9626         correctly in case of pending activation.
9627
9628         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9629         Convert the essid byte array to string correctly, including the terminating NULL.
9630
9631         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9632         mode with correct types.
9633
9634         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9635         constructed info to dbus call instead of the activation request.
9636
9637 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9638
9639         Patch from Christian Persch <chpe@gnome.org>
9640
9641         * libnm-glib/Makefile.am:
9642         * dispatcher-daemon/Makefile.am:
9643         Use the correct variables, the correct paths, and correct ordering. (446315)
9644
9645 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9646
9647         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9648         argument. The activation request is easy to retrieve.
9649
9650         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9651         just to be a convenient location for devices to store random stuff.
9652
9653 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9654
9655         Patch from Alex Smith <alex@alex-smith.me.uk>
9656
9657         * src/backends/NetworkManagerFrugalware.c:
9658         Update the FrugalWare backend to fix a few segfaults. (#392642)
9659
9660 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9661
9662         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9663
9664         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9665         setting.
9666         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9667
9668 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9669
9670         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9671         automagically.
9672         Implement NMSettingIP4Config.
9673         Finish NMSettingWired by adding all known members.
9674         (setting_wired_verify): Implement.
9675         Finish NMSettingWireless by adding all known members.
9676         (setting_wireless_verify): Implement.
9677
9678         * libnm-util/nm-connection.c: Register "ipv4" setting.
9679         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9680         dump function, we can introspect the GHashTable which is used for sending connections
9681         over dbus.
9682
9683         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9684         Take GByteArray for essid, it's really not a string.
9685
9686         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9687         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9688         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9689         means overriding the values we got from DHCP.
9690         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9691         (nm_device_deactivate_quickly): Ditto.
9692
9693         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9694         for debugging.
9695
9696 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9697
9698         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9699         NMConnection.
9700
9701         * libnm-glib/nm-device-802-11-wireless.c:
9702         (nm_device_802_3_ethernet_activate): Remove.
9703
9704         * libnm-glib/nm-device-802-3-ethernet.c
9705         (nm_device_802_3_ethernet_activate): Remove.
9706
9707         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9708
9709         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9710         NMConnection.
9711
9712         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9713         activation has started.
9714         Implement the new activation using NMConnection.
9715
9716         * src/nm-activation-request.c: Store a generic connection object instead
9717         of a wireless-specific AP.
9718
9719         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9720         on device type, create a device specific connection object suitable for
9721         device activation.
9722
9723         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9724         specific check to validate the connection and on success start the
9725         activation.
9726
9727         * src/nm-device-interface.h: Add a activate virtual function to the
9728         interface definition.
9729
9730         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9731         (impl_device_activate): Implement.
9732
9733         * introspection/nm-device.xml: Add a generic device activation interface
9734         that accepts an abstract NMConnection structure that has device-specific
9735         information in it.
9736
9737         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9738         activation interface.
9739
9740         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9741         activation interface.
9742
9743         * libnm-util/nm-connection.c: 
9744         * libnm-util/nm-connection.h: 
9745         * libnm-util/nm-setting.c:
9746         * libnm-util/nm-setting.h: Add.
9747
9748         * libnm-util/Makefile.am: Build the added files.
9749
9750         * src/nm-dbus-manager.c
9751         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9752         DbusConnection argument from 'name-owner-changed' signal. The manager
9753         is already passed as a first argument to the signal and the connection
9754         is easy enough to get from it.
9755
9756         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9757         Update the signature of the function.
9758
9759         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9760         Ditto.
9761
9762         * src/NetworkManager.c: Ditto.
9763
9764         * src/named-manager/nm-named-manager.c
9765         (nm_named_manager_name_owner_changed): Ditto.
9766
9767         * src/supplicant-manager/nm-supplicant-manager.c
9768         (nm_supplicant_manager_name_owner_changed): Ditto.
9769
9770         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9771
9772         * src/dhcp-manager/nm-dhcp-manager.c
9773         (nm_dhcp_manager_name_owner_changed): Ditto.
9774
9775         * src/nm-hal-manager.c: Add a list of device detectors and creators
9776         to make it easier to add new devices. Each device type has it's own
9777         entry in the table so adding new device types is only a matter of
9778         implementing a couple of functions, one for device detection and the
9779         other for device creation.
9780
9781 2007-04-25  Dan Williams  <dcbw@redhat.com>
9782
9783         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9784                 (gnome.org #432401)
9785
9786 2007-03-30  Dan Williams  <dcbw@redhat.com>
9787
9788         * src/NetworkManagerSystem.c
9789                 - (nm_system_device_set_ip4_route): clean up and fix argument
9790                         to nm_dev_sock_open()
9791
9792 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9793
9794         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9795         data to correct types instead of always using string.
9796
9797         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9798         _not_ have NM_802_11_CAP_PROTO_NONE.
9799         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9800         is not set.
9801
9802 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9803
9804         * libnm-glib/Makefile.am: Fix the build issue.
9805
9806 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9807
9808         * libnm-glib/nm-vpn-connection.h: 
9809         * libnm-glib/nm-vpn-connection.c: Implement.
9810
9811         * libnm-glib/nm-client.c: Add VPN support.
9812
9813         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9814         handler for VPN.
9815
9816         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9817         on DBUS again.
9818
9819 2007-03-26  Dan Williams  <dcbw@redhat.com>
9820
9821         * src/NetworkManagerAPList.c
9822         * src/nm-device-802-11-wireless.c
9823         * src/NetworkManagerAP.c:
9824                 - Store last seen as glong instead of GTimeVal.
9825                 - Fix the upper bound of capabilities, it's a bitfield.
9826
9827 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9828
9829         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9830
9831         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9832         "manager-running" signal that notifies the appearance/disappearance of NM.
9833         (nm_client_sleep): Implement.
9834
9835         * libnm-glib/nm-device.c:
9836         * libnm-glib/nm-device-802-11-wireless.c: 
9837         * libnm-glib/nm-device-802-3-ethernet.c: 
9838
9839         Don't inherit from DBusGProxy, add a proxy to private
9840         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9841         for anything but their own dbus interface. DBusGProxy objects support only one
9842         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9843         interface. The nice side effect of this change is that we do not create a new
9844         DBusGProxy object for each property access.
9845
9846 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9847
9848         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9849         with zeroes before passing them to functions - the functions never do that and
9850         reading the values back may produce wrong values.
9851         (real_bring_up): Store the signal handler id ...
9852         (real_bring_down): ... So that it can be removed here.
9853         Disconnect the supplicant interface here as well.
9854         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9855         from the access point instead of old $device/Networks/$essid.
9856
9857         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9858         device state is connected (instead of just having link/carrier).
9859
9860         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9861         already easily accessible through the device.
9862
9863         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9864         store it within the object.
9865         (nm_ap_get_dbus_path): Export it to public as well.
9866
9867         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9868         of the singleton.
9869
9870 2007-03-12  Dan Williams  <dcbw@redhat.com>
9871
9872         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9873         for non-carrier-detect capable devices, and useless for carrier-detect
9874         devices since we get notifications from netlink about carrier status anyway.
9875
9876         * src/nm-device-802-3-ethernet.c
9877                 - remove 'link_source_id' member from private data
9878                 - (probe_link): remove and collapse into real_update_link()
9879                 - (nm_device_802_3_periodic_update): remove
9880                 - (real_is_up): check for sup_iface rather than link_source_id
9881                 - (real_bring_up): return gboolean for success/fail; require that
9882                         sup_iface be valid for device bringup to succeed
9883                 - (real_bring_down): zero out link signal ids
9884
9885         * src/nm-device.c
9886                 - (nm_device_activate_stage2_device_config): fail activation if device
9887                         bringup fails
9888                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9889                         fails
9890                 - (nm_device_bring_up): return success/fail
9891
9892         * src/nm-device.h
9893                 - bring_up now returns success/fail
9894
9895         * src/nm-device-802-11-wireless.c
9896                 - (real_bring_up): return success from bringup
9897
9898 2007-03-07  Dan Williams  <dcbw@redhat.com>
9899
9900         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9901         * src/nm-ap-security-wpa-psk.c
9902                 - (real_write_supplicant_config): work with PSKs that may contain
9903                         zeros in the binary format rather than treating it as a string
9904
9905 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9906
9907         * libnm-glib/nm-device-802-11-wireless.c
9908         (nm_device_802_11_wireless_get_capabilities): Implement.
9909
9910         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9911
9912         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9913
9914         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9915         reply only if it's not NULL. Not sure why this started happening right now.
9916
9917         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9918         code paths for when devices get removed on shutdown or when a device is just
9919         removed.
9920         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
9921         gets freed so any signal from a device (disconnected for instance) would invoke
9922         NMState update which would crash.
9923         (nm_manager_remove_device): Bring the device down when it gets removed.
9924
9925         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
9926         the unused dev_type.
9927
9928         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
9929         reference to the added device, NMManager will own it (if it wants).
9930
9931         * test/nm-tool.c: Rewrite using libnm-glib.
9932
9933         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
9934         We get signalled when it changes.
9935
9936         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
9937         when it changes.
9938
9939         * libnm-glib/nm-device.c: Cache the device state property.
9940
9941         * libnm-glib/nm-access-point.c: Cache the strength property.
9942
9943         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
9944         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
9945         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
9946         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
9947         the device is down, activating, or activated (in case of A/B/G cards).
9948         Remove some old dead ifdef'ed out code that used to configure wireless devices,
9949         it's all done through supplicant now.
9950
9951         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
9952         counting issues with pending calls which caused leaks and crashes when
9953         interface was removed (now that the interface actually gets removed).
9954
9955         * src/nm-call-store.c: Make a copy of data before running a foreach
9956         with user callback on it - The most common usage pattern is to cancel
9957         (and thus remove) all pending calls with foreach which would modify
9958         the hash table we're iterating over.
9959
9960         * src/nm-manager.c: When a device is added, make sure it is "up". When
9961         it's removed or disabled due to disabling wireless or networking, bring
9962         it down.
9963
9964         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
9965
9966         * src/nm-device-802-11-wireless.c: 
9967         * src/nm-device-802-3-ethernet.c: 
9968         * src/nm-device.c:
9969                 - Remove "init" virtual function, all gobjects have a place for that
9970                   already (constructor).
9971                 - Replace "start" virtual function with "bring_up", devices can be
9972                   brought up and down more than just on startup now.
9973                 - Add "is_up" virtual function.
9974                 - Implement one way to bring a device down instead of previous 4 different
9975                   ways, each of witch did something different.
9976
9977         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
9978         all it needs is the device interface.
9979
9980         Get rid of NMData.dev_list (3 members to go).
9981         Get rif of NMData in a lot of places.
9982
9983         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
9984
9985 2007-02-23  Dan Williams  <dcbw@redhat.com>
9986
9987         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
9988
9989         * src/NetworkManagerAP.c
9990                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
9991                         OR-ing rather than AND-ing
9992
9993 2007-02-20  Tambet Ingo  <tambet@ximian.com>
9994
9995         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
9996         "network-removed" signals.
9997
9998         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
9999
10000         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10001         when receiving the signal from dbus.
10002
10003         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10004         property.
10005
10006         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10007         deactivation of the previously activated device working again.
10008
10009         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10010         and setter.
10011
10012         * src/nm-device.c (nm_device_is_activated): Remove.
10013         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10014
10015         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10016         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10017         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10018         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10019         Remove NMNetworkStatus and NMActStage enums.
10020
10021 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10022
10023         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10024         Handle device state changes and disconnect VPN if it's device deactivates.
10025
10026         * src/nm-dbus-nm.c: 
10027         * src/nm-dbus-nm.h: 
10028         * src/nm-dbus-device.c: 
10029         * src/nm-dbus-device.c: 
10030         * src/nm-dbus-net.c: 
10031         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10032
10033         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10034
10035         * src/nm-device.c (nm_device_get_by_udi):
10036         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10037         implemented in the correct location (NMManager).
10038         Rip out all the test_device stuff.
10039
10040         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10041         failure handlers, it's all done by NMDevice already.
10042
10043         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10044         Remove the iochannel hack to route the unix signals to the main thread since
10045         we're not threaded anymore.
10046
10047         * src/NetworkManagerAP.c: Implement HWAddress property.
10048
10049         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10050         automatically with dbus-glib.
10051
10052         * src/nm-netlink-monitor.c: 
10053         * src/nm-netlink-monitor.h:
10054                 - Move it low in the class hierarchy, don't reference any NM types.
10055                 - Remove private data from the header.
10056                 - Use type safe checks in public API methods.
10057                 - Make it a singleton so we don't have to pass the single reference around.
10058
10059 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10060
10061         * introspection/nm-ip4-config.xml: Implement.
10062
10063         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10064
10065         * libnm-glib/nm-ip4-config.c:
10066         * libnm-glib/nm-ip4-config.c: Implement.
10067
10068         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10069         securities. APs reference security.
10070
10071         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10072         be exported over DBUS.
10073
10074         * src/nm-device-802-3-ethernet.c: Ditto.
10075
10076         * src/NetworkManagerAP.c:
10077         * src/NetworkManagerAP.h:
10078                 - Convert to GObject, export over DBUS.
10079
10080         * src/nm-ip4-config.h:
10081         * src/nm-ip4-config.h:
10082                 - Convert to GObject, export over DBUS.
10083
10084 2007-02-12  Dan Williams  <dcbw@redhat.com>
10085
10086         Patch from Helmut Schaa <hschaa@suse.de>
10087
10088         * vpn-daemons/pptp/configure.in
10089           vpn-daemons/pptp/Makefile.am
10090           vpn-daemons/openvpn/configure.in
10091           vpn-daemons/openvpn/Makefile.am
10092           vpn-daemons/vpnc/configure.in
10093           vpn-daemons/vpnc/Makefile.am
10094                 - Add --without-gnome switch which disables building gnome bits
10095
10096 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10097
10098         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10099
10100         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10101
10102         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10103         'HwAddress'.
10104
10105         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10106
10107         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10108
10109         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10110
10111         * src/:
10112                 - Remove old low-level dbus interface implementations and replace them
10113                   with dbus-glib one.
10114
10115         * configure.in:
10116                 - Require dbus-glib >= 0.72.
10117                 - Plug in new sources to build.
10118
10119         * libnm-glib/:
10120                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10121                   to make it more convenient to use from GObject based programs.
10122
10123         * introspection/:
10124                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10125
10126 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10127
10128         * src/nm-device-802-11-wireless.c:
10129                 - Add "network-added" and "network-removed" signals.
10130                 - Use gobject boilerplate macros to define the GObject.
10131                 - Implement wireless device activation.
10132                 - Remove activation_failure_handler and activation_success_handler
10133                   and instead listen on state-changed signals and run the same code
10134                   from there.
10135
10136         * src/nm-device.c:
10137                 - Implment NMDeviceInterface::deactivate.
10138                 - Remove activation_failure_handler and activation_success_handler
10139                   virtual methods. Each device which is interested in these events
10140                   can just listen on it's state changed signals.
10141
10142         * src/NetworkManagerPolicy.c:
10143                 - Move a bit more NMData usage to NMManager.
10144                 - Remove activation scheduling bits.
10145                 - Add listeners for wireless device's "network-added" and
10146                   "network-removed" signals.
10147                 - Listen device changed signals and deactivate currently activated
10148                   device when another device start activating (for now).
10149                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10150                   for calling this, the policy code knows exactly when this should happen,
10151                   by listening on events from NMManager and NMDevices.
10152
10153         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10154         Implement.
10155
10156         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10157         method on the specific device instead of going to through policy code
10158         and determining the device type by passed in AP's existance.
10159
10160         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10161         abstract NMDevice deactivation.
10162
10163 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10164
10165         * src/NetworkManager.c:
10166                 - Set up all the shiny new managers.
10167
10168         * src/NetworkManagerPolicy.c:
10169                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10170                   classes to call into policy code, make the policy code kind of like
10171                   a supervisor that monitors what's going on and drives the whole NM.
10172
10173         * src/nm-hal-manager.c: 
10174         * src/nm-hal-manager.h:
10175                 - Collect all libhal code scattered around NM to this one class.
10176                 - Listen libhal and NMManager events and add/remove devices to
10177                   NMManager.
10178
10179         * src/nm-manager.c:
10180         * src/nm-manager.h:
10181                 - Implment a replacement for NMData. NMData is now officially
10182                 deprecated.
10183
10184 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10185
10186         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10187         * src/supplicant-manager/nm-supplicant-interface.h
10188         * src/supplicant-manager/nm-supplicant-interface.c
10189         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10190         argument to boolean from enum.
10191
10192         Make NMDevice abstract class, remove almost all references to it's
10193         subclasses (the last place gets removed with new policy manager). Add
10194         NMDeviceInterface (which NMDevice implements) so that when we have
10195         NMDevice exported over DBUS, there's a common NMDevice interface which
10196         all instances have, plus there's a device specific interface for each
10197         specific type.
10198         Remove functions (nm_device_is_802_3_ethernet) and
10199         (nm_device_is_802_11_wireless). There are already standard GObject macros
10200         for type safe checks.
10201         Use the updated supplican manager API.
10202
10203         * src/nm-device-interface.h: 
10204         * src/nm-device-interface.c: 
10205         * src/nm-call-store.h: 
10206         * src/nm-call-store.c: Implement.
10207
10208         * src/supplicant-manager/nm-supplicant-interface.c:
10209         * src/supplicant-manager/nm-supplicant-interface.h:
10210         * src/supplicant-manager/nm-supplicant-manager.c:
10211         * src/supplicant-manager/nm-supplicant-manager.h:
10212                 - Remove all private data type references from public header files.
10213                 - Remove all references to other NM classes, this class is just a
10214                   proxy between wpa_supplicant and NM so it doesn't have to know
10215                   any internals.
10216                 - Convert to dbus-glib bindings.
10217                 - Type safe checks for public methods' arguments.
10218                 - Store pending DBUS call ids to NMCallStore.
10219
10220         * src/supplicant-manager/nm-supplicant-config.c:
10221                 - Store config values in a GHashTable instead of GSList.
10222
10223         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10224
10225         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10226         singleton now.
10227
10228         * src/nm-device.c: Use the new DHCP manager API.
10229
10230         * src/nm-activation-request.c:
10231         * src/nm-activation-request.h:
10232                 - Remove all dhcp related properties and methods.
10233
10234         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10235
10236         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10237
10238         * src/dhcp-manager/nm-dhcp-manager.c:
10239         * src/dhcp-manager/nm-dhcp-manager.h:
10240                 - Convert it to GObject since we need to signal state changes.
10241                 - Remove all references to other NM classes, this class is one
10242                   of the lowest classes in our hierarchy.
10243                 - One less class to use NMActRequest.
10244                 - Make it singleton, one less user of NMData.
10245                 - Remove a couple of sleep() calls.
10246                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10247                   One less class to use the NM's custom tailored signal handlig.
10248
10249         * Makefile.am: Generate marshallers, add them to build.
10250
10251 2007-02-02  Dan Williams  <dcbw@redhat.com>
10252
10253         * configure.in
10254           gnome/Makefile.am
10255           nm-applet.desktop
10256           Makefile.am
10257                 - Remove last bits referencing gnome applet
10258
10259 2007-02-02  Dan Williams  <dcbw@redhat.com>
10260
10261         * src/vpn-manager/nm-vpn-service.c
10262                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10263                         and NBNS server addresses
10264
10265 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10266
10267         * src/nm-dbus-manager.c:
10268         * src/nm-dbus-manager.h:
10269                 - Convert all internal DBUS code to use dbus-glib bindings.
10270                 - Remove GObject properties, we don't need them here.
10271                 - Don't explicitly set things to NULL after freeing, glib is
10272                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10273                 - Make public API argument checks type safe.
10274                 - Remove unnecessary (and wrong) cast to GObject for the first
10275                   argument to g_signal_* calls - The first argument is a gpointer.
10276                 - Export DBusGConnection to other cool classes that (are going to)
10277                   use dbus-glib.
10278
10279 2007-01-26  Dan Williams  <dcbw@redhat.com>
10280
10281         * libnm-util/dbus-dict-helpers.c
10282           libnm-util/dbus-dict-helpers.h
10283                 - Coordinate style with wpa_supplicant version to minimize diff
10284                 - Add uint32 array support
10285                 - (nmu_dbus_dict_append_uint32_array): new function
10286                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10287                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10288                         version; allow adding string array elements individually
10289
10290         * test/libnm-util/test-dbus-dict-helpers.c
10291                 - Test uint32 arrays
10292
10293 2007-01-27  Jürg Billeter  <j@bitron.ch>
10294
10295         * src/backends/NetworkManagerPaldo.c
10296                 - (nm_system_update_dns): clear nscd hosts cache
10297
10298 2007-01-04  Dan Williams  <dcbw@redhat.com>
10299
10300         Threading removal related cleanups:
10301
10302         - Use the glib default main context.  Remove the device main context
10303                 member from NMDevice, and the main_context member from NMData.  Change
10304                 all the idle and timeout scheduler functions to use plain
10305                 g_idle_add() and g_timeout_add().
10306
10307         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10308                 takes an argument; fix that up too.
10309
10310         - Remove all locking, which is useless since we no longer use threads.  For
10311                 example, nm_get_device_by_iface_locked() has been removed.  The global
10312                 device list lock, the AP List lock, and all static locks in
10313                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10314                 in NetworkManagerUtils.c have also been removed.
10315
10316         - Other cleanups in spacing and code style
10317
10318 2007-01-01  Dan Williams  <dcbw@redhat.com>
10319
10320         Found by Bill Moss:
10321
10322         * src/supplicant-manager/nm-supplicant-interface.c
10323                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10324                         the supplicant interface wasn't already disconnected.  Always
10325                         call removeNetwork and disconnect unless the supplicant interface
10326                         is in the DISCONNECTED or INACTIVE state.
10327
10328 2006-12-28  Dan Williams  <dcbw@redhat.com>
10329
10330         Use a single thread for everything.  With the move to wpa_supplicant
10331         and communication over D-Bus, there's no reason for multiple threads.
10332         Almost all of the blocking code has been removed, with one exception in
10333         the DHCP manager and a few in the VPN manager.  This commit removes the
10334         per-device worker thread and fixes activation cancellation in the absence
10335         of threads.  Further removal of thread-related code would be removing
10336         any locking code (like the device list lock) and simplification of logic
10337         around areas of code or data structures that are currently locked.
10338
10339         * autoip.c
10340           dhcp-manager/nm-dhcp-manager.c 
10341           nm-device-802-11-wireless.c
10342           nm-device-802-3-ethernet.c
10343           nm-device.c
10344           nm-device.h
10345                 - Remove usage of multiple threads
10346
10347 2006-12-19  Dan Williams  <dcbw@redhat.com>
10348
10349         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10350         plus a few other patches from wpa_supplicant bugzilla.
10351
10352         * src/Makefile.am
10353           src/NetworkManagerPolicy.c
10354           src/NetworkManagerUtils.c
10355           src/NetworkManagerUtils.h
10356           src/nm-ap-security-leap.c
10357           src/nm-ap-security-wep.c
10358           src/nm-ap-security-wpa-eap.c
10359           src/nm-ap-security-wpa-psk.c
10360           src/nm-ap-security.c
10361           src/nm-ap-security.h
10362           src/nm-device-802-11-wireless.c
10363           src/nm-device-802-11-wireless.h
10364           src/supplicant-manager/nm-supplicant-config.c
10365           src/supplicant-manager/nm-supplicant-config.h
10366           src/supplicant-manager/nm-supplicant-interface.c
10367           src/supplicant-manager/nm-supplicant-interface.h
10368           src/supplicant-manager/nm-supplicant-marshal.list
10369           src/supplicant-manager/nm-supplicant-settings-verify.c
10370           src/supplicant-manager/nm-supplicant-settings-verify.h
10371                 - Move all connection management and association handling to
10372                         wpa_supplicant over dbus, rather than spawning a private copy
10373
10374 2006-12-19  Dan Williams  <dcbw@redhat.com>
10375
10376         * src/NetworkManagerPolicy.c
10377                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10378                         better locking of the device change check handler ID.  Incorrect
10379                         locking was causing lost device change requests
10380
10381 2006-12-18  Dan Williams  <dcbw@redhat.com>
10382
10383         * libnm-util/dbus-dict-helpers.c
10384                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10385                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10386                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10387
10388 2006-12-18  Dan Williams  <dcbw@redhat.com>
10389
10390         * gnome/libnm_glib/libnm_glib.c
10391                 - Change dbus_connection_close() -> dbus_connection_unref()
10392
10393 2006-12-11  Dan Williams  <dcbw@redhat.com>
10394
10395         * src/supplicant-manager/nm-supplicant-interface.c
10396                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10397                         wpa_supplicant interface state
10398                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10399                         state before transitioning to READY state
10400
10401 2006-12-04  Dan Williams  <dcbw@redhat.com>
10402
10403         * src/nm-device-802-11-wireless.c
10404                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10405                         odd length of ESSID returned from ieee80211 stack-based drivers
10406
10407 2006-12-04  Dan Williams  <dcbw@redhat.com>
10408
10409         * src/nm-device-802-11-wireless.c
10410                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10411                         IE handling blocks that cause mis-parsing of the IE
10412
10413 2006-12-04  Dan Williams  <dcbw@redhat.com>
10414
10415         * src/nm-device-802-11-wireless.c
10416                 - (init_supplicant_interface): new function; pull supplicant interface
10417                         setup code out into standalone function since it must be called from
10418                         two different places
10419                 - (real_init): sup_mgr is now in private object data; get and track
10420                         the supplicant manager object over the NMDevice subclass' lifetime
10421                         and register a signal handler for its state signals; only try to
10422                         initialize the supplicant interface if the supplicant manager is in
10423                         the IDLE state (and therefore is ready for requests)
10424                 - (request_wireless_scan): reschedule the scan request if (a) there is
10425                         no supplicant interface yet (meaning wpa_supplicant isn't running
10426                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10427                         for requests yet
10428                 - (supplicant_iface_connection_state_cb): new function; stub for
10429                         handling supplicant interface connection state signals
10430                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10431                         comes and goes
10432                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10433                         supplicant manager object that's being tracked starting with this
10434                         commit
10435
10436 2006-12-04  Dan Williams  <dcbw@redhat.com>
10437
10438         * src/supplicant-manager/nm-supplicant-interface.c
10439                 - (nm_supplicant_interface_set_property): track signal handler ID
10440                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10441
10442 2006-12-04  Dan Williams  <dcbw@redhat.com>
10443
10444         * src/supplicant-manager/nm-supplicant-interface.[ch]
10445                 - (nm_supplicant_interface_get_state): new function
10446
10447 2006-12-04  Dan Williams  <dcbw@redhat.com>
10448
10449         * src/supplicant-manager/nm-supplicant-interface.c
10450                 - (bssid_properties_cb): don't treat DBus errors as valid
10451                         scanned AP messages
10452
10453 2006-12-04  Dan Williams  <dcbw@redhat.com>
10454
10455         * src/supplicant-manager/nm-supplicant-interface.[ch]
10456                 - (nm_supplicant_interface_get_connection_state): new function
10457                 - define new supplicant connection states
10458                 - send a signal when the supplicant connection state changes
10459
10460 2006-12-03  Dan Williams  <dcbw@redhat.com>
10461
10462         * src/supplicant-manager/Makefile.am
10463           src/supplicant-manager/nm-supplicant-connection.h
10464           src/supplicant-manager/nm-supplicant-connection.c
10465           src/supplicant-manager/nm-supplicant-config.h
10466           src/supplicant-manager/nm-supplicant-config.c
10467           src/supplicant-manager/nm-supplicant-types.h
10468           src/supplicant-manager/nm-supplicant-interface.h
10469           src/supplicant-manager/nm-supplicant-interface.c
10470                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10471
10472 2006-12-03  Dan Williams  <dcbw@redhat.com>
10473
10474         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10475
10476         * po/POTFILES.in
10477           po/POTFILES.skip
10478                 - Move VPN-related translatables to .skip
10479
10480         * vpn-daemons/pptp/po/POTFILES.in
10481                 - Update with new translatables
10482
10483 2006-12-02  Dan Williams  <dcbw@redhat.com>
10484
10485         Patch from Christian Persch <chpe@gnome.org>
10486
10487         * gnome/applet/Makefile.am
10488           gnome/applet/applet-dbus-devices.c
10489           gnome/applet/applet-notifications.c
10490           gnome/applet/applet.c
10491           gnome/applet/applet.h
10492           gnome/applet/main.c
10493                 - Be a GtkStatusIcon on GTK+ >= 2.10
10494
10495 2006-12-02  Dan Williams  <dcbw@redhat.com>
10496
10497         * gnome/applet/applet.c
10498                 - (nma_update_info): fix two unecessary allocations
10499
10500 2006-12-02  Dan Williams  <dcbw@redhat.com>
10501
10502         Patch from Michael Biebl <biebl@teco.edu>
10503         * configure.in
10504           man/NetworkManager.1.in
10505           man/NetworkManagerDispatcher.1.in
10506           man/NetworkManager.8.in
10507           man/NetworkManagerDispatcher.8.in
10508                 - Add .SH NAME stanzas
10509                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10510
10511 2006-12-02  Dan Williams  <dcbw@redhat.com>
10512
10513         Patch from Christian Persch <chpe@gnome.org>
10514
10515         * configure.in
10516                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10517
10518 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10519
10520         Patch by Timo Hoenig <thoenig@suse.de>:
10521         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10522         DBUS-1.0.
10523
10524         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10525         we can't use the one from the main source directory.
10526
10527 2006-11-27  Dan Williams  <dcbw@redhat.com>
10528
10529         Patch from Christian Persch <chpe@gnome.org>
10530
10531         * gnome/applet/applet-dbus-devices.c
10532                 - (hal_info_product_cb): fix memleak; free duped string.
10533                         Gnome.org #379908
10534
10535 2006-11-27  Dan Williams  <dcbw@redhat.com>
10536
10537         Patch from Christian Persch <chpe@gnome.org>
10538
10539         * gnome/applet/menu-items.c
10540                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10541                         as gtk_progress_set_percentage is deprecated.  Should
10542                         work as far back as GTK+ 2.4.  Gnome.org #379780
10543
10544 2006-11-26  Dan Williams  <dcbw@redhat.com>
10545
10546         Scan using wpa_supplicant over DBus.
10547
10548         * src/nm-device-802-11-wireless.c
10549                 - remove wireless extensions netlink event handler bits
10550                         (wireless_event_helper, nm_device_802_11_wireless_event)
10551                 - remove wireless extensions scan event handler bits
10552                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10553                         hex2byte, hex2num, request_and_convert_scan_results,
10554                         free_process_scan_cb_data, scan_results_timeout,
10555                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10556                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10557                         and request scans from the supplicant interface rather than directly
10558                 - Move functionality of convert_scan_results() to cull_scan_list() and
10559                         supplicant_iface_scanned_ap_cb()
10560                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10561                         at the scan interval when the current scan has finished
10562                 - (supplicant_iface_state_cb): start scanning when the supplicant
10563                         interface enters the READY state, and stop scanning when it
10564                         enters the DOWN state
10565                 - (cull_scan_list): weed out old access points from the scan list
10566                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10567                         point into an NMAccessPoint and merge it into the device's scan list
10568
10569         * src/supplicant-manager/nm-supplicant-interface.c
10570           src/supplicant-manager/nm-supplicant-interface.h
10571                 - Add a new signal "scan-result" which is issued when the supplicant
10572                         notifies NM that a scan has completed
10573                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10574                         point found in the scan.  Called once for each access point that
10575                         the supplicant interface object receives from the supplicant as a
10576                         result of the "scanResults" method call
10577                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10578                         for the initial scan results
10579                 - (scan_request_cb): new function; send listeners the result
10580                         (success, error) of a wireless scan request
10581                 - (nm_supplicant_interface_request_scan): new function; ask the
10582                         supplicant to perform an immediate wireless scan
10583
10584 2006-11-25  Dan Williams  <dcbw@redhat.com>
10585
10586         * src/supplicant-manager/Makefile.am
10587                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10588                         add HAL cflags/includes and named-manager includes directory
10589
10590         * src/supplicant-manager/nm-supplicant-interface.h
10591                 - New state STARTING to handle transition from INIT to READY where
10592                         the addInterface pending call is still outstanding
10593
10594         * src/supplicant-manager/nm-supplicant-interface.c
10595                 - track pending calls differently since we may have more than one
10596                         going on at any given time
10597                 - request scan results from wpa_supplicant; but don't do it more often
10598                         than every 4 seconds.  Drivers that do background scanning
10599                         (like the 'ipw' drivers) send a continuous stream of scan completion
10600                         notifications, so we don't want to hammer the supplicant or dbus
10601                         with requests for all scan results every time we get a completion
10602                         notification.
10603
10604 2006-11-25  Dan Williams  <dcbw@redhat.com>
10605
10606         * src/supplicant-manager/nm-supplicant-types.h
10607                 - new file; move all supplicant manager object typedefs here for
10608                         #include sanity
10609
10610         * src/supplicant-manager/nm-supplicant-interface.c
10611           src/supplicant-manager/nm-supplicant-interface.h
10612                 - new file; an object that interfaces an NMDevice object to the
10613                         supplicant and handles signals from the supplicant.  This object
10614                         does all necessary DBus communication with wpa_supplicant.
10615
10616         * src/supplicant-manager/nm-supplicant-manager.c
10617           src/supplicant-manager/nm-supplicant-manager.h
10618                 - Actually do something.  Track the state of the wpa_supplicant service
10619                         and deal with its comings & goings.  Handle life events of
10620                         supplicant interfaces too.
10621                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10622
10623         * src/supplicant-manager/nm-supplicant-connection.h
10624                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10625
10626         * src/supplicant-manager/Makefile.am
10627                 - Add new files to build, and add libnm-util to includes
10628
10629         * src/nm-marshal.list
10630                 - New marshaler type: VOID:UINT,UINT
10631
10632         * src/nm-device-802-3-ethernet.c
10633                 - (real_init): grab a supplicant interface
10634                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10635                 - (supplicant_iface_state_cb): new function, stub for handling
10636                         supplicant interface state changes
10637
10638         * src/nm-device-802-11-wireless.c
10639                 - (real_init): grab a supplicant interface
10640                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10641                 - (supplicant_iface_state_cb): new function, stub for handling
10642                         supplicant interface state changes
10643
10644         * src/NetworkManager.c
10645                 - (main): create and keep the supplicant manager around for the lifetime
10646                         of NetworkManager
10647
10648         * src/Makefile.am
10649                 - Link to the supplicant manager sub-library and use the supplicant
10650                         manager includes
10651
10652 2006-11-25  Dan Williams  <dcbw@redhat.com>
10653
10654         Rework DBus manager signal handling to be more flexible.  Previously,
10655         only one signal handler could be registered for a particular interface.
10656         The DBus manager now reference counts DBus bus matches and allows multiple
10657         clients to register signal handlers for the same interface and sender.
10658
10659         * src/NetworkManager.c
10660                 - (main): track NMI signal handler ID and remove it when we quit
10661
10662         * src/NetworkManagerMain.h
10663                 - Keep track of NMI signal handler ID
10664
10665         * src/nm-dbus-manager.c
10666           src/nm-dbus-manager.h
10667                 - rework signal handling; each signal handler references one signal
10668                         match, but a signal match may be referenced by one or more
10669                         signal handlers.  Matches are refcounted and are destroyed when the
10670                         last signal handler that references the match is removed.  This is
10671                         necessary because two signal handlers may end up requiring the same
10672                         dbus bus match, so the match must live until the last signal handler
10673                         is destroyed (for example, with the wpa_supplicant network interface
10674                         dbus interface).
10675
10676         * src/dhcp-manager/nm-dhcp-manager.c
10677                 - (nm_dhcp_manager_new): track DHCP signal handler id
10678                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10679
10680         * src/vpn-manager/nm-vpn-service.c
10681                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10682                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10683
10684 2006-11-25  Dan Williams  <dcbw@redhat.com>
10685
10686         Suggested by Helmut Schaa <hschaa@suse.de>
10687
10688         * src/vpn-daemons/nm-vpn-service.c
10689                 - (supplicant_child_setup): new function
10690                 - (supplicant_exec): make child process use a new process group id
10691
10692         * src/nm-device-802-11-wireless.c
10693                 - (nm_vpn_service_child_setup): new function
10694                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10695                         process group id
10696
10697 2006-11-19  Dan Williams  <dcbw@redhat.com>
10698
10699         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10700         * gnome/vpn-properties/nm-vpn-properties.c
10701                 - clean up after renamed VPN connection
10702
10703 2006-11-19  Dan Williams  <dcbw@redhat.com>
10704
10705         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10706         * gnome/applet/applet-dbus-vpn.c
10707                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10708
10709         * gnome/vpn-properties/nm-vpn-properties.c
10710                 - (init_app): sort VPN connections
10711
10712 2006-11-09  Dan Williams  <dcbw@redhat.com>
10713
10714         * src/NetworkManagerAPList.c
10715                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10716                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10717                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10718                 broke hidden SSID matching.  Found by Bill Moss.
10719
10720 2006-10-25  Dan Williams  <dcbw@redhat.com>
10721
10722         * src/nm-dbus-nm.c
10723                 - (nm_dbus_nm_set_active_device): return an empty success message on
10724                         success, rather than falling through to the error case.
10725
10726 2006-10-25  Dan Williams  <dcbw@redhat.com>
10727
10728         * src/NetworkManagerUtils.c
10729                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10730                         "SCAN" command
10731
10732 2006-10-24  Dan Williams  <dcbw@redhat.com>
10733
10734         Reduce the number of times the Gnome applet wakes up, especially when
10735         it's doing absolutely nothing and is hidden.  Initial patch by
10736         Chris Aillon.
10737
10738         * gnome/applet/applet-dbus.c
10739                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10740                         kill the redraw timeout.  When NM starts up, start the redraw
10741                         timeout.  Also, if we get kicked off the bus for some reason,
10742                         start the reconnection timeout if one's not already running.
10743                 - (nma_dbus_init): better handling of error conditions, don't leak
10744                         a half-initialized dbus connection
10745                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10746                         the applet's data, just call nm_dbus_init_helper()
10747                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10748                         timeout that calls nma_dbus_connection_watcher()
10749                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10750                         reconnection timeout, and don't start the reconnection timeout
10751                         unconditionally anymore
10752
10753         * gnome/applet/applet-dbus.h
10754                 - Expose nma_start_dbus_connection_watch()
10755
10756         * gnome/applet/applet.c
10757                 - (nma_update_state): no longer static, called from applet-dbus.c for
10758                         immediate UI updates on certain events
10759                 - (nma_set_running): new function; take over setting applet->running,
10760                         when not running (ie, NM is not active), don't activate the redraw
10761                         timeout because we're not showing the applet anyway.  When we are
10762                         running (ie, NM is active), and only when we're running, start the
10763                         redraw timeout.
10764                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10765                         kill any reconnection timeout
10766                 - (nma_get_instance): move one-off dbus initialization code here since
10767                         nm_dbus_init_helper() gets called more than once, possibly by the
10768                         reconnection timeout function too.  And, when we start up, if we
10769                         can't get a connection to the bus, start the reconnection timeout.
10770                         But don't start the redraw timeout yet, only do that when we get
10771                         NM's state and find out if it's running or not.
10772
10773         * gnome/applet/applet.h
10774                 - Add the reconnection GSource ID
10775                 - Add prototypes for nma_set_running() and the no-longer-static
10776                         nma_update_state()
10777
10778 2006-10-24  Dan Williams  <dcbw@redhat.com>
10779
10780         * src/vpn-daemons/nm-dbus-vpnc.c
10781                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10782                         pending call tracker
10783                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10784                         pending call tracker; register one-vpn-connection update pending
10785                         call in pending call tracker
10786                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10787                         update pending call in pending call tracker
10788                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10789                         update pending call in pending call tracker; don't block waiting
10790                         for call to return
10791
10792 2006-10-19  Robert Love  <rml@novell.com>
10793
10794         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10795           refresh the cache.
10796
10797 2006-10-14  Dan Williams  <dcbw@redhat.com>
10798
10799         * src/dhcp-manager/nm-dhcp-manager.c
10800                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10801                 the dbus connection and the device object path rather than
10802                 constructing it inside both functions.  Saves a bit of memory
10803                 and clarifies a failure path.
10804                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10805                 and allocate device path here rather than each of the two
10806                 functions above.
10807
10808 2006-10-13  Dan Williams  <dcbw@redhat.com>
10809
10810         * src/NetworkManager.c
10811                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10812                 this somehow droppout in the refactor
10813
10814 2006-10-13  Dan Williams  <dcbw@redhat.com>
10815
10816         * Huge DBus refactor:
10817                 - Create a "DBus Manager" object which manages the connection and
10818                 sends signals on NameOwnerChanged and connection/disconnection events,
10819                 handles reconnection to the bus if NM gets kicked off, and abstracts
10820                 signal handling
10821                 - Remove DBusConnection members from places where they are no
10822                 longer needed due to the refactor, like the dbus-connection
10823                 property of the named manager, and from NMData
10824                 - Reformats a bunch of the code to gnome style
10825                 (8-space tabs, braces on same line as statement, 80-col width).
10826                 Consider it open season to reformat any bits to gnome style.
10827                 style that aren't already.
10828
10829 2006-10-13  Dan Williams  <dcbw@redhat.com>
10830
10831         * src/supplicant-manager/Makefile.am
10832                 - Add new files
10833
10834         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10835                 - Make it a minimal GObject
10836
10837         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10838                 - Verify settings destined for wpa_supplicant
10839
10840         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10841                 - Minimal GObject to track wpa_supplicant controlled device
10842                 connections
10843
10844 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10845
10846         * gnome/applet/applet.c: (nma_update_info),
10847         (nma_act_stage_to_pixbuf), (nma_update_state):
10848         Mark missing strings for translation. Fixes bug #343306.
10849
10850 2006-10-01  Dan Williams  <dcbw@redhat.com>
10851
10852         * src/vpn-manager/nm-vpn-manager.c
10853                 - (nm_vpn_manager_load_services): split and clean up
10854                 for readability and correctness.  Restrict VPN service
10855                 files to ending in ".name", as was meant from the
10856                 beginning (but not coded in).  Better error reporting.
10857
10858 2006-10-01  Dan Williams  <dcbw@redhat.com>
10859
10860         * utils/nm-utils.h
10861                 - Clean up formatting of debug/info/warning log messages
10862
10863 2006-09-27  Robert Love  <rml@novell.com>
10864
10865         Patch by Tambet Ingo <tambet@ximian.com>:
10866         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10867           actually work.
10868
10869 2006-09-07  Dan Williams <dcbw@redhat.com>
10870
10871         * test/Makefile.am
10872           test/libnm-util/Makefile.am
10873           test/nm-supplicant-test.c
10874                 - Add test program emulating the way NM drives wpa_supplicant
10875                 to help debug supplicant issues
10876
10877 2006-08-24  Dan Williams <dcbw@redhat.com>
10878
10879         * configure.in
10880           src/Makefile.am
10881           src/supplicant-manager/Makefile.am
10882           src/supplicant-manager/nm-supplicant-manager.c
10883           src/supplicant-manager/nm-supplicant-manager.h
10884                 - Add skeleton bits of the wpa_supplicant manager
10885
10886 2006-08-24  Dan Williams <dcbw@redhat.com>
10887
10888         Patch from Ed Catmur:
10889         * src/NetworkManagerUtils.c
10890                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10891                 if netmask is 0 (Gnome #352634)
10892
10893 2006-08-17  Robert Love  <rml@novell.com>
10894
10895         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10896           package is now DBUS-enabled and listens for the NM signals.
10897
10898 2006-08-14  Dan Williams  <dcbw@redhat.com>
10899
10900         * Patch from Christian Persch <chpe gnome org>
10901         * configure.in
10902           po/LINGUAS
10903           vpn-daemons/openvpn/po/LINGUAS
10904           vpn-daemons/openvpn/configure.in
10905           vpn-daemons/pptp/po/LINGUAS
10906           vpn-daemons/pptp/configure.in
10907           vpn-daemons/vpnc/po/LINGUAS
10908           vpn-daemons/vpnc/configure.in
10909                 - Convert to LINGUAS method so translators don't have to modify
10910                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10911                 0.35 or higher
10912
10913 2006-08-14  Dan Williams  <dcbw@redhat.com>
10914
10915         Patch from Alex Smith <alex.extreme2@gmail.com>
10916         * configure.in
10917           src/backends/Makefile.am
10918           src/backends/NetworkManagerFrugalware.c
10919                 - Add support for Frugalware
10920
10921 2006-08-13  Dan Williams  <dcbw@redhat.com>
10922
10923         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10924         * src/nm-device-802-11-wireless.c
10925                 - (supplicant_exec): spawn wpa_supplicant without debug spew
10926                 Gnome #346875
10927
10928 2006-08-13  Dan Williams  <dcbw@redhat.com>
10929
10930         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10931         * src/nm-ap-security.c
10932           src/nm-ap-security.h
10933                 - Add authentication_required bits for subclasses to specify whether
10934                 or not real authentication is required for connections, i.e. whether
10935                 the AP rejects us when an encryption key is wrong or not.
10936
10937         * src/nm-ap-security-wep.c
10938           src/nm-ap-security-wpa-eap.c
10939           src/nm-ap-security-wpa-psk.c
10940           src/nm-ap-security-leap.c
10941                 - Implement authentication_required appropriately for each method
10942
10943         * src/nm-device-802-11-wireless.c
10944                 - Be smarter about when to request a key; for example, using a wrong key
10945                 in WEP shared key mode previously just timed out and did not request
10946                 a new key
10947
10948 2006-08-13  Dan Williams  <dcbw@redhat.com>
10949
10950         * gnome/libnm_glib/libnm_glib.c
10951                 - dbus_connection_disconnect() -> dbus_connection_close() for
10952                 dbus >= 0.90
10953
10954 2006-08-07  Dan Williams  <dcbw@redhat.com>
10955
10956         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10957         * src/NetworkManagerSystem.c
10958                 - Respect specified MTU.  Gnome #344967
10959
10960 2006-08-07  Dan Williams  <dcbw@redhat.com>
10961
10962         * src/vpn-manager/nm-vpn-service.c
10963                 - Simplify print_vpn_config() arguments
10964
10965         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10966         * src/vpn-manager/Makefile.am
10967           src/vpn-manager/nm-vpn-service.c
10968                 - Add new API for passing VPN config options as a dict. Gnome #344967
10969
10970 2006-08-06  Dan Williams  <dcbw@redhat.com>
10971
10972         * gnome/applet/applet-dbus-devices.c
10973           gnome/applet/applet-dbus-vpn.c
10974           gnome/applet/applet-dbus.c
10975           gnome/applet/applet-dbus.h
10976           src/nm-dbus-nmi.c
10977           utils/nm-utils.c
10978           utils/nm-utils.h
10979                 - Make pending call tracking code generic,
10980                 so we can use it in NM as well as the applet
10981
10982 2006-08-06  Dan Williams  <dcbw@redhat.com>
10983
10984         * src/nm-activation-request.c
10985                 - Refcount pending call objects
10986
10987 2006-08-06  Dan Williams  <dcbw@redhat.com>
10988
10989         Patch from Christan Chiesa <christanc@gmail.com>
10990         * configure.in
10991                 - Tell sha1.c to use bigendian mode on PPC
10992
10993 2006-08-04  Robert Love  <rml@novell.com>
10994
10995         Glib Memory Slices!
10996         * configure.in: Require glib 2.10 or later.
10997         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
10998           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
10999           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11000           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11001           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11002           Memory Slices are the greatest thing since bread slices.
11003         * src/NetworkManagerAP.c: Also, fix memory leak.
11004
11005 2006-08-01  Robert Love  <rml@novell.com>
11006
11007         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11008
11009 2006-07-31  Robert Love  <rml@novell.com>
11010
11011         * src/backends/interface_parser.c: Declarations must begin the block.
11012
11013 2006-07-24  Dan Williams  <dcbw@redhat.com>
11014
11015         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11016         * src/backends/Makefile.am
11017           src/backends/NetworkManagerArch.c
11018           src/backends/NetworkManagerDebian.c
11019           src/backends/NetworkManagerGeneric.c
11020           src/backends/NetworkManagerGeneric.h
11021           src/backends/NetworkManagerGentoo.c
11022           src/backends/NetworkManagerPaldo.c
11023           src/backends/NetworkManagerRedHat.c
11024           src/backends/NetworkManagerSlackware.c
11025           src/backends/NetworkManagerSuSE.c
11026                 - Genericize common backend functions
11027
11028 2006-07-18  Robert Love  <rml@novell.com>
11029
11030         * configure.in: Add "--with-notify" option to allow disabling of
11031           libnotify support.
11032
11033 2006-07-13  Dan Williams  <dcbw@redhat.com>
11034
11035         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11036         * gnome/applet/applet.glade
11037           gnome/applet/Makefile.am
11038           gnome/applet/nm-gconf-wso.c
11039           gnome/applet/nm-gconf-wso-leap.c
11040           gnome/applet/nm-gconf-wso-leap.h
11041           gnome/applet/wireless-security-manager.c
11042           gnome/applet/wso-leap.c
11043           gnome/applet/wso-leap.h
11044           include/NetworkManager.h
11045           libnm-util/dbus-helpers.c
11046           libnm-util/dbus-helpers.h
11047           src/Makefile.am
11048           src/NetworkManagerAP.c
11049           src/nm-ap-security.c
11050           src/nm-ap-security-leap.c
11051           src/nm-ap-security-leap.h
11052                 - Add LEAP authentication support
11053
11054 2006-07-13  Dan Williams  <dcbw@redhat.com>
11055
11056         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11057         * configure.in
11058           src/backends/NetworkManagerArch.c
11059           src/backends/NetworkManagerDebian.c
11060           src/backends/NetworkManagerGentoo.c
11061           src/backends/NetworkManagerPaldo.c
11062           src/backends/NetworkManagerRedHat.c
11063           src/backends/NetworkManagerSlackware.c
11064           src/backends/NetworkManagerSuSE.c
11065                 - Convert hardcoding of 'ip' path to configure-time
11066                         detected one
11067
11068 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11069
11070         * configure.in: added ru to ALL_LINGUAS
11071
11072 2006-07-10  Dan Williams  <dcbw@redhat.com>
11073
11074         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11075         * src/nm-device.c
11076                 - (real_act_stage3_ip_config_start): don't infinite loop when
11077                         dhcdbd isn't running (Gnome #346845)
11078
11079 2006-07-09  Dan Williams  <dcbw@redhat.com>
11080
11081         * gnome/applet/applet.c
11082                 - (nma_destroy): don't pass NULL to notify_notification_close
11083                         (RH #197917)
11084
11085 2006-07-09  Dan Williams  <dcbw@redhat.com>
11086
11087         * gnome/applet/applet.c
11088                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11089
11090 2006-07-04  Tor Krill  <tor@krill.nu>
11091
11092         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11093         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11094         (nm_system_restart_mdns_responder), (ArchReadConfig),
11095         (nm_system_device_get_system_config):
11096                 - Explicitly check for DHCP configuration
11097                 - Check if daemons are running before starting them
11098
11099 2006-06-25  Dan Williams  <dcbw@redhat.com>
11100
11101         * libnm-util/dbus-dict-helpers.[ch]
11102           test/libnm-util/test-dbus-dict-helpers.c
11103                 - Add string array support
11104
11105 2006-06-24  Dan Williams  <dcbw@redhat.com>
11106
11107         * src/dhcp-manager/nm-dhcp-manager.c
11108                 - (nm_dhcp_manager_process_signal): clean up spacing
11109
11110 2006-06-21  Dan Williams  <dcbw@redhat.com>
11111
11112         * src/nm-dbus-device.c
11113                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11114                         through dbus
11115
11116 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11117
11118         * configure.in: Added 'lv' to ALL_LINGUAS
11119
11120 2006-06-19  Dan Williams  <dcbw@redhat.com>
11121
11122         * src/NetworkManagerAP.c
11123                 - Clarify usage of user_created
11124
11125         * src/nm-ap-security-wep.c
11126           src/nm-ap-security-wpa-eap.c
11127           src/nm-ap-security-wpa-psk.c
11128           src/nm-ap-security.c
11129           src/nm-ap-security.h
11130                 - s/user_created/adhoc, because we really do mean adhoc
11131
11132         Patch from Bernard Blackham <bernard@blackham.com.au>
11133         * src/nm-device-802-11-wireless.c         
11134                 - (supplicant_send_network_config): instead of user_created,
11135                         use adhoc, and do AP_SCAN 2 for adhoc networks
11136
11137 2006-06-18  Robert Love  <rml@novell.com>
11138
11139         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11140           we have a value to set.  Gconf generates a warning if `val' is NULL.
11141         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11142           unless we actually received a valid private key file passphrase or
11143           password.  Otherwise, we don't know to later ask the applet to pull
11144           the key from the keyring.
11145
11146 2006-06-17  Dan Williams  <dcbw@redhat.com>
11147
11148         * libnm-util/dbus-dict-helpers.[ch]
11149           test/libnm-util/test-dbus-dict-helpers.c
11150                 - Fixes for zero-length byte arrays
11151                 - Replace return values of 0 with FALSE for clarity
11152                 - Test zero-length byte arrays
11153
11154 2006-06-17  Dan Williams  <dcbw@redhat.com>
11155
11156         * libnm-util/dbus-dict-helpers.[ch]
11157           test/libnm-util/test-dbus-dict-helpers.c
11158                 - Add helpers for byte arrays
11159                 - Rework bits of the testcase
11160
11161 2006-06-16  Dan Williams  <dcbw@redhat.com>
11162
11163         * libnm-util/Makefile.am
11164         * libnm-util/dbus-dict-helpers.[ch]
11165                 - Add some helpers to take the pain out of using dict types in
11166                         dbus.
11167
11168         * test/libnm-util/Makefile.am
11169         * test/libnm-util/test-dbus-dict-helpers.c
11170                 - Test cases for the dict helper functions
11171
11172 2006-06-15  Robert Love  <rml@novell.com>
11173
11174         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11175           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11176           if there is no key to pass.
11177         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11178           receiving a non-NULL key.
11179
11180 2006-06-14  Robert Love  <rml@novell.com>
11181
11182         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11183           copy the strings.
11184
11185
11186 2006-06-14  Dan Williams  <dcbw@redhat.com>
11187
11188         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11189         * src/nm-device-802-11-wireless.c
11190                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11191                         or ones where the driver is unknown
11192                 - (supplicant_exec): don't wait for supplicant startup here
11193                 - (supplicant_interface_init): finer grained polling for supplicant
11194                         startup
11195
11196 2006-06-13  Robert Love  <rml@novell.com>
11197
11198         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11199           if it is currently set to TRUE.  Otherwise, we will reset the value
11200           when we connect normally.
11201         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11202           the old BSSID is valid, too.  The recently added ESSID check may not be
11203           sufficient (we can remove it?).  What we really want to catch is the
11204           case of going from all-zeros to the BSSID of some other network, which
11205           happens on failure.
11206
11207 2006-06-09  Dan Williams  <dcbw@redhat.com>
11208
11209         * src/NetworkManagerSystem.[ch]
11210                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11211                         it was unused and pointless
11212                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11213                         fix for set_up_down_with_iface change
11214
11215         * src/vpn-manager/nm-vpn-connection.c
11216                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11217
11218         * src/backends/NetworkManagerPaldo.c
11219           src/backends/NetworkManagerRedHat.c
11220           src/backends/NetworkManagerSuSE.c
11221           src/backends/NetworkManagerArch.c
11222           src/backends/NetworkManagerDebian.c
11223           src/backends/NetworkManagerGentoo.c
11224                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11225                         appropriate
11226                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11227                         where appropriate
11228
11229 2006-06-09  Dan Williams  <dcbw@redhat.com>
11230
11231         Patch from Peter Jones:
11232         * src/nm-device-802-11-wireless.c
11233                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11234                         SSID hasn't changed from what we expect before automatically
11235                         updating the saved BSSID from a new AP
11236
11237 2006-06-08  Robert Love  <rml@novell.com>
11238
11239         Add 'fallback' support.  NetworkManager will attempt to brute-force
11240         connect to networks marked as fallback if there are no better wireless
11241         connections available.  This is useful as a method of last resort, to
11242         work around driver problems, and for use with hidden networks.
11243         * gnome/applet/applet-dbus-devices.c,
11244           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11245         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11246           pass it on via DBUS.
11247         * gnome/applet/applet.c: No fallback by default.
11248         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11249           Update other-network-dialog to add UI checkbox toggling fallback.
11250         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11251           propery from AP object.  Add "fallback" property to AP object.
11252         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11253         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11254         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11255           separate function.  Add get_best_fallback_ap() for returning an AP
11256           on which to attempt fallback.
11257         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11258         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11259
11260 2006-06-07  Robert Love  <rml@novell.com>
11261
11262         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11263           checked that the return type was GCONF_VALUE_STRING, not the correct
11264           GCONF_VALUE_BOOL, and thus it never worked.
11265         * src/NetworkManagerAPList.c: Before concluding that two networks are
11266           identical based on their BSSID, make sure that the BSSID in question
11267           is actually valid.  Specifically, an empty or all zero BSSID does not
11268           cut it.
11269         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11270           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11271           similar invariant clean up.
11272
11273 2006-06-02  Robert Love  <rml@novell.com>
11274
11275         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11276
11277 2006-05-28  Dan Williams  <dcbw@redhat.com>
11278
11279         * gnome/applet/applet.glade
11280           gnome/vpn-properties/nm-vpn-properties.glade
11281                 - Set window icons on dialogs  (Gnome.org #333420)
11282
11283 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11284
11285         * gnome/vpn-properties/nm-vpn-properties.glade:
11286         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11287         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11288         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11289                 - Make the VPN properties pages prettier and more HIG
11290                   compliant. Gnome Bug #336913.
11291
11292 2006-05-28  Dan Williams  <dcbw@redhat.com>
11293
11294         Patch from Christian Persch <chpe@gnome.org>
11295         * gnome/vpn-properties/nm-vpn-properties.c
11296         * gnome/vpn-properties/nm-vpn-properties.glade
11297                 - HIG-ification love  (Gnome.org #336846)
11298
11299 2006-05-28  Dan Williams  <dcbw@redhat.com>
11300
11301         Patch from Christian Persch <chpe@gnome.org>
11302         * configure.in
11303           gnome/vpn-properties/nm-vpn-properties.c
11304                 - (main): Fix option parsing.  Gnome.org #336847
11305
11306 2006-05-28  Dan Williams  <dcbw@redhat.com>
11307
11308         * gnome/vpn-properties/nm-vpn-properties.c
11309                 - (find_vpn_ui_by_service_name): protect against NULL service names
11310                 - (update_edit_del_sensitivity): protect against NULL service names
11311                         Gnome.org #341306
11312
11313 2006-05-28  Dan Williams  <dcbw@redhat.com>
11314
11315         Patch from Chris Fuller <crf@grandecom.net>:
11316         * src/nm-device-802-11-wireless.c
11317                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11318                         don't dispose of wireless-specific stuff unless it is actually
11319                         initialized.  Gnome.org #341263
11320
11321 2006-05-28  Dan Williams  <dcbw@redhat.com>
11322
11323         * src/NetworkManagerPolicy.c
11324                 - (nm_policy_device_change_check): don't switch devices if the "best"
11325                         AP is essentially the same as the current activation request, but
11326                         the current activation request isn't done activating yet.  Fixes
11327                         multiple requests for keyring password on startup for Gnome applet.
11328                         Gnome.org #341297
11329
11330 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11331
11332         * src/NetworkManager.c: use GOptions instead of getopt
11333         * configure.in: bump glib required version to >= 2.6 for GOption
11334           support
11335
11336 2006-05-25  Robert Love  <rml@novell.com>
11337
11338         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11339           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11340           instead of dumping ifdef's throughout the code.
11341         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11342           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11343           use nm_ioctl_info() in lieu.
11344
11345 2006-05-25  Robert Love  <rml@novell.com>
11346
11347         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11348         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11349           not using gcrypt.  Otherwise, we get a linker error.
11350
11351 2006-05-25  Robert Love  <rml@novell.com>
11352
11353         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11354         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11355           configure flag to disable building of the GNOME-based applet.
11356
11357 2006-05-25  Robert Love  <rml@novell.com>
11358
11359         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11360           parameter from link, because it shadows a global variable with some
11361           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11362           should never have exported to the entire system a common four letter
11363           word.  But we here at NetworkManager are team players.  Fixes
11364           GNOME bug #336532.
11365
11366 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11367
11368         * configure.in: Added mk.po, Macedonian translation.
11369
11370 2006-05-24  Robert Love  <rml@novell.com>
11371
11372         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11373           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11374           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11375
11376 2006-05-24  Robert Love  <rml@novell.com>
11377
11378         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11379           libnm-util/Makefile.am, src/Makefile.am,
11380           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11381           vpn-daemons/openvpn/properties/Makefile.am,
11382           vpn-daemons/pptp/auth-dialog/Makefile.am,
11383           vpn-daemons/pptp/properties/Makefile.am,
11384           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11385           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11386           user passed for --datadir, if anything, when setting the GNOME locale
11387           directory.  It should be a function of the specified datadir and not
11388           the prefix.
11389
11390 2006-05-24  Robert Love  <rml@novell.com>
11391
11392         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11393           src/NetworkManager.c: Take care to call bindtextdomain with the
11394           location of msgid files.
11395         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11396           files.
11397
11398 2006-05-22  Robert Love  <rml@novell.com>
11399
11400         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11401           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11402           99% of the time there is a real problem with wireless, and a
11403           seemingly successful connection via Zeroconf just confuses the user.
11404           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11405
11406 2006-05-22  Robert Love  <rml@novell.com>
11407
11408         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11409           autofs on interface up if NIS is configured.  On interface down, do
11410           nothing.
11411
11412 2006-05-22  Robert Love  <rml@novell.com>
11413
11414         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11415           to avoid calling g_object_unref() on stale pointers on error in
11416           nma_icons_free().  This happens because we short-circuit loaded the
11417           icons on the first failure but then free all icons.  Normally we have
11418           no issue because the icons were zero'ed out malloc, but we have stale
11419           pointer data after nma_icon_theme_changed().
11420         * gnome/applet/main.c: Return error code if nma_new() failed.
11421
11422 2060-05-21  Dan Williams  <dcbw@redhat.com>
11423
11424         * initscript/NetworkManager.in
11425                 - Ensure both dhcdbd and named are started before NM
11426
11427 2006-05-21  Dan Williams  <dcbw@redhat.com>
11428
11429         * configure.in
11430                 - Bump version to 0.7 to signify we are in 0.7 development
11431
11432 2006-05-21  Dan Williams  <dcbw@redhat.com>
11433
11434         Patch from Adam Schreiber <sadam@clemson.edu>
11435         * gnome/vpn-properties/nm-vpn-properties.c
11436                 - (main): correct Gnome program name  (gnome.org #342498)
11437
11438 2006-05-21  Dan Williams  <dcbw@redhat.com>
11439
11440         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11441
11442         * src/NetworkManagerDbus.[ch]
11443                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11444                         clarify that function's argument should be an escaped dbus object
11445                         path, and look for path segment end before returning a match
11446         * src/nm-dbus-nm.c:
11447                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11448
11449 2006-05-17  Robert Love  <rml@novell.com>
11450
11451         Functionality to differentiate Ad-Hoc networks from infrastructure
11452         networks in the applet, by displaying a special icon:
11453         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11454         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11455         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11456           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11457           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11458           networks, encrypted or not.
11459         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11460           accessor functions to get and set the mode of a given network,
11461           wireless_network_get_mode() and wireless_network_set_mode().
11462
11463 2006-05-17  Robert Love  <rml@novell.com>
11464
11465         Functionality to automatically add BSSIDs to the allowed-MAC list as
11466         one roams from access point to access point on a given network:
11467         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11468           helper function to compare two ether_addr structures and return TRUE
11469           if they contain the same MAC address.
11470         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11471           prototype.
11472         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11473           stored with the current AP.  If the BSSID has indeed changed, we
11474           send it out to the applet, allowing the allowed-MAC list to grow
11475           automatically in response to roaming.
11476
11477 2006-05-16  Robert Love  <rml@novell.com>
11478
11479         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11480           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11481
11482 2006-05-13  Dan Williams  <dcbw@redhat.com>
11483
11484         * src/nm-device-802-3-ethernet.c
11485                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11486                         carrier detect (Debian bug #366373)
11487
11488 2006-05-11  Dan Williams  <dcbw@redhat.com>
11489
11490         Patch from Michael Biebl <biebl@teco.edu>
11491         * src/backends/NetworkManagerDebian.c
11492                 - Debian backend fixups
11493
11494 2006-05-10  Robert Love  <rml@novell.com>
11495
11496         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11497
11498 2006-05-09  Robert Love  <rml@novell.com>
11499
11500         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11501           private certificate passphrase, if any, in the GNOME Keyring.
11502         * libnm-utils/dbus-helpers.c: Update.
11503
11504 2006-05-05  Dan Williams  <dcbw@redhat.com>
11505
11506         * src/nm-device-802-11-wireless.c
11507                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11508                         nm_device_802_11_wireless_disable_encryption() since that's all
11509                         we use it for anymore; we don't ever set WEP keys ourselves.
11510                 - (real_deactivate_quickly): reset SSID and encryption keys
11511                 - (real_deactivate): move SSID and encryption key reset to
11512                         real_deactivate_quickly(), which gets run before us anyway
11513
11514 2006-05-05  Robert Love  <rml@novell.com>
11515
11516         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11517           root has a wacky default of its own (or, more common, a user has a
11518           bad umask and uses su/sudo to restart NetworkManager).  Anything
11519           other than 0022 does not do what we want with, for example,
11520           resolv.conf.  This problem is amplified by our judicious use of
11521           fopen(), which uses mode 0666 -- implying that the only way to get
11522           the permissions we want is with a umask of 0022.
11523
11524 2006-05-05  Dan Williams  <dcbw@redhat.com>
11525
11526         * gnome/libnm_glib/libnm_glib.c
11527                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11528                         to reconnect; instead wait a bit more with each reconnect attempt
11529                         up to a max of one minute.
11530
11531 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11532
11533         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11534           the WirelessNetwork structure using the proper function instead of
11535           just casting it directly to (const char *) (gnome.org #336991)
11536
11537 2006-05-03  Robert Love  <rml@novell.com>
11538
11539         * src/backends/NetworkManagerSuSE.c: Respect the variable
11540           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11541           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11542           to dynamically update /etc/resolv.conf.
11543
11544 2006-05-02  Peter Jones  <pjones@redhat.com>
11545
11546         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11547
11548 2006-05-02  Robert Love  <rml@novell.com>
11549
11550         Patch by Timo Hoenig;
11551         * tests/nm-online.c: Print pretty status indicator as timeout winds
11552           down.  Also fix possible race between DBUS startup and failure
11553           return.
11554
11555 2006-05-01  Robert Love  <rml@novell.com>
11556
11557         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11558           empty, too.
11559
11560 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11561
11562         * src/nm-device.c (discover_device_type): Actually use the hal
11563         device type instead of ioctl poking
11564
11565 2006-04-26  Robert Love  <rml@novell.com>
11566
11567         * tests/nm-online.c: New file.  Simple utility that returns exit status
11568           noting whether the connection is offline or online.  If offline on
11569           start, it waits 30 seconds (or a command-line given value) for an
11570           online signal.  If it times out, it again returns offline.  This is
11571           useful for scripts that want to wait for network connections.
11572
11573 2006-04-25  Robert Love  <rml@novell.com>
11574
11575         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11576           key mode (the authentication algorithm), e.g. open or shared, when we
11577           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11578           only shared was broken.  If the user specified a shared key, set it
11579           explicitly, otherwise let wpa_supplicant go with the default.
11580
11581 2006-04-24  Dan Williams  <dcbw@redhat.com>
11582
11583         * src/nm-device-802-11-wireless.c
11584                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11585
11586 2006-04-24  Dan Williams  <dcbw@redhat.com>
11587
11588         Commit the async scanning patch
11589
11590         * src/nm-device-802-11-wireless.c
11591                 - get rid of scan_mutex
11592                 - (wireless_event_helper): act on wireless scan events
11593                 - (real_start): schedule a pending scan
11594                 - (link_to_specific_ap): fake the link to the AP during a scan
11595                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11596                         strength during scans
11597                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11598                         nm_device_set_bitrate): unused with new scanning code, disable
11599                 - (nm_device_wireless_schedule_scan): removed
11600                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11601                 - (request_and_convert_scan_results): new function; retrieve scan
11602                         results from the driver and schedule the processing function
11603                 - (scan_results_timeout): timeout triggered when card doesn't send
11604                         a scan results wireless event during a certain interval
11605                 - (schedule_scan_results_timeout): new function; schedule the scan
11606                         results timeout
11607                 - (cancel_scan_results_timeout): new function; cancel the scan
11608                         results timeout
11609                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11610                         to do the scanning.  Otherwise, just request a scan but don't
11611                         grab results here; instead schedule a timeout for scan results and
11612                         let netlink notify us of scan completion events
11613                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11614                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11615                 - (supplicant_status_cb): ignore disconnect events while scanning
11616                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11617                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11618                         timeouts
11619                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11620
11621 2006-04-24  Dan Williams  <dcbw@redhat.com>
11622
11623         * gnome/applet/applet-dbus.c
11624                 - Disable the pending call debug stuff, seems under control now
11625
11626 2006-04-20  Robert Love  <rml@novell.com>
11627
11628         Fix bug where hidden ESSID's would not show up in the applet, even
11629         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11630         because nm_policy_device_list_update_from_allowed_list() would merge
11631         the data, putting a name to the hidden networks, but never notify NMI
11632         of the changes.  Simple fix is to invoke the function
11633         nm_dbus_signal_wireless_network_change() if we make a mapping.
11634         * src/NetworkManagerAPList.c: Call the function
11635           nm_dbus_signal_wireless_network_change() if we made a successful
11636           BSSID to ESSID mapping, notifying the applet of the "new" network.
11637         * src/NetworkManagerAPList.h: Update the prototypes for both
11638           nm_ap_list_copy_essids_by_address() and
11639           nm_ap_list_copy_one_essid_by_address().
11640
11641 2006-04-20  Robert Love  <rml@novell.com>
11642
11643         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11644           not set.  Just return zero.
11645
11646 2006-04-20  Robert Love  <rml@novell.com>
11647
11648         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11649           only one copy of nm-vpn-properties is running at a time via the 'ol
11650           X selection trick.  This prevents the user from opening two "VPN
11651           Connections" windows from within the applet, which leads to mass
11652           hysteria.
11653         * clipboard.c: New file, implementing simple X selection logic.
11654         * clipboard.h: New file.
11655         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11656
11657 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11658
11659         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11660         * configure.in
11661           initscript/Gentoo/Makefile.am
11662           initscript/Gentoo/NetworkManagerDispatcher.in
11663                 - New script
11664         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11665           Gentopia
11666
11667 2006-04-16  Dan Williams  <dcbw@redhat.com>
11668
11669         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11670         * configure.in
11671           initscript/Slackware/Makefile.am
11672           initscript/Slackware/rc.networkmanager-dispatcher.in
11673           initscript/Slackware/rc.networkmanager.in
11674                 - Update slackware initscripts
11675
11676 2006-04-10  Robert Love  <rml@novell.com>
11677
11678         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11679           the "delete_event" signal on the druid's parent window and handle it
11680           our way, lest using the WM to close the druid results in a series of
11681           bloody and ultimately lethal errors.
11682
11683 2006-04-10  Robert Love  <rml@novell.com>
11684
11685         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11686           'Back' too or else the 'Forward' option is initially disabled despite
11687           valid input.
11688
11689 2006-04-06  Robert Love  <rml@novell.com>
11690
11691         Fix bad but simple bug where an active modem connection did not update
11692         NM's connection state, breaking any app that did online/offline:
11693         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11694           represented whether a dial up connection is active, or not.
11695         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11696           to modem activation and deactivation.
11697         * src/NetworkManagerDbus.c: When asked our state, do not return
11698           disconnected if the modem is active.
11699
11700 2006-04-04  Robert Love  <rml@novell.com>
11701
11702         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11703           applet.  It just confuses the crap out of people and does not make a
11704           lot of sense, as the daemon still runs.
11705
11706 2006-04-02  Tor Krill  <tor@krill.nu>
11707
11708         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11709           in start of service.
11710         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11711           get Archlinux backend up to date.
11712
11713 2006-03-29  Robert Love  <rml@novell.com>
11714
11715         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11716         to add support for per-route MSS and improve support for per-interface
11717         MTU:
11718         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11719           optionally take an MSS parameter and set it for the given route.
11720           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11721           NMIP4Config's stored MSS, if any.
11722         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11723           the interface's MTU and the route's MSS, respectively.  Add functions
11724           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11725           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11726           MSS.
11727         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11728           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11729           nm_ip4_config_set_mss.
11730         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11731           VPN daemon.
11732         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11733           Change the retval of nm_system_get_mtu to guint32.
11734         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11735           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11736           servers can specify MTU's, we should set it here if the MTU was not
11737           provided.
11738
11739 2006-03-27  Jürg Billeter  <j@bitron.ch>
11740
11741         * configure.in:
11742         * initscript/Makefile.am:
11743         * initscript/paldo/Makefile.am:
11744         * initscript/paldo/NetworkManager.in:
11745         * initscript/paldo/NetworkManagerDispatcher.in:
11746         * src/backends/Makefile.am:
11747         * src/backends/NetworkManagerPaldo.c:
11748                 - Add paldo support
11749
11750 2006-03-27  Dan Williams  <dcbw@redhat.com>
11751
11752         Patch from Christian Persch <chpe@gnome.org>
11753         * gnome/applet/applet.glade
11754                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11755
11756 2006-03-27  Dan Williams  <dcbw@redhat.com>
11757
11758         Patch from Diffe <diffie@blazebox.homeip.net>
11759         * src/backends/NetworkManagerSlackware.c
11760                 - Don't restart howl, since it's been replaced by Avahi
11761                         in most distributions
11762
11763 2006-03-27  Dan Williams  <dcbw@redhat.com>
11764
11765         Patch from Tor Krill <bugzilla@krill.nu>
11766         * configure.in
11767           initscript/Makefile.am
11768           src/backends/Makefile.am
11769           src/backends/NetworkManagerArch.c
11770           initscript/Arch/Makefile.am
11771           initscript/Arch/networkmanager-dispatcher.in
11772           initscript/Arch/networkmanager.in
11773                 - Add Arch Linux support, fixes gnome.org #335147
11774
11775 2006-03-27  Dan Williams  <dcbw@redhat.com>
11776
11777         Patch from Diffe <diffie@blazebox.homeip.net>
11778      * initscript/Slackware/rc.networkmanager
11779         - update, fixed gnome.org #333368
11780
11781 2006-03-27  Robert Love  <rml@novell.com>
11782
11783         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11784           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11785
11786 2006-03-27  Robert Love  <rml@novell.com>
11787
11788         Patch by Jürg Billeter <j@bitron.ch>:
11789         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11790           systems.
11791         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11792           as we prefer glibc over kernel headers, if possible.
11793
11794 2006-03-27  Robert Love  <rml@novell.com>
11795
11796         Patch by Jon Escombe <list@dresco.co.uk>:
11797         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11798         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11799           fail, don't bail out.  We don't expect all of the various WPA-EAP
11800           values to be present.
11801         * src/nm-ap-security.c: We need to match all capabilities for each
11802           encryption type, not any one of them.
11803
11804 2006-03-27  Robert Love  <rml@novell.com>
11805
11806         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11807           restart, not reload, ypbind.  Unfortunately there is no superior
11808           solution.
11809
11810 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11811
11812         * gnome/applet/applet-notifications.c:
11813         When displaying a notification, make sure to get rid of the
11814         previous notification so as to not have competing bubbles,
11815         and stop leaking the old one.
11816
11817         * gnome/applet/applet.c:
11818         * gnome/applet/applet.h:
11819         Add a new 'notification' member to the applet, and zero it out
11820         and free it appropriately.
11821
11822 2006-03-23  Robert Love  <rml@novell.com>
11823
11824         Patch by j <j@bootlab.org>:
11825         * gnome/applet/applet.glade: Don't set the invisible_char property,
11826           which simply overrides the GTK default.  By and by, this behavior
11827           ought to be fixed in Glade.
11828
11829 2006-03-22  Robert Love  <rml@novell.com>
11830
11831         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11832
11833 2006-03-22  Robert Love  <rml@novell.com>
11834
11835         Bug fix by Timo Hoenig <thoenig@suse.de>:
11836         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11837           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11838           and the applet going AWOL.
11839
11840 2006-03-22  Robert Love  <rml@novell.com>
11841
11842         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11843           preprocessor define and use it instead of open-coded the DHCP
11844           timeout, which is currently 25 seconds, everywhere.
11845
11846 2006-03-22  Robert Love  <rml@novell.com>
11847
11848         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11849         key exchange via WPA, ostensibly providing good security without
11850         requiring hardware that supports full WPA.  Also, add UI elements to
11851         allow the user to select the pairwise & group cipher for WPA Enterprise
11852         networks, too:
11853         * gnome/applet/applet.glade: Update glade file.
11854         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11855           key type, too, to and from gconf.
11856         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11857           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11858           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11859           the capabilities match.
11860         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11861           prototype.
11862         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11863           serialize from UI to DBUS.
11864         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11865           one element.
11866         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11867           nmu_security_serialize_wpa_eap_with_cipher(), and
11868           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11869           serialize/deserialize the key type via DBUS as the new third DBUS
11870           parameter.
11871         * libnm-util/dbus-helpers.h: Update prototypes.
11872         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11873           too.  If the key type is WEP104, do Dynamic WEP, which means
11874           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11875           pairwise and group ciphers (fixes a FIXME).
11876
11877 2006-03-21  Robert Love  <rml@novell.com>
11878
11879         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11880           nm_system_get_mtu(), which returns a user-provided or system-mandated
11881           MTU value for a given device, if any, or zero if no such value
11882           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11883           if we have a provided value.
11884         * src/nm-device.c: Set the MTU of devices.
11885         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11886         * src/backends/NetworkManagerDebian.c,
11887           src/backends/NetworkManagerGentoo.c,
11888           src/backends/NetworkManagerRedHat.c,
11889           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11890
11891 2006-03-21  Robert Love  <rml@novell.com>
11892
11893         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11894           configuration file.
11895
11896 2006-03-17  Robert Love  <rml@novell.com>
11897
11898         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11899           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11900           it, in case it is not running in the first place.  We just want its
11901           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11902
11903 2006-03-15  Robert Love  <rml@novell.com>
11904
11905         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11906           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11907           label "WEP 40/128-bit" is inconsistent because the physical key size
11908           is 40 or 104-bits, to which a 24-bit initialisation vector is
11909           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11910           to read "40/104" or "64/128".  I do not care much which, but most
11911           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11912           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11913           WEP passphrase support only handles 128-bit keys, and any future
11914           64-bit passphrase support will require a new option (no way to auto-
11915           detect the target key size), explicitly label our passphrase support
11916           "WEP 128-bit Passphrase".
11917
11918 2006-03-15  Robert Love  <rml@novell.com>
11919
11920         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
11921           the system init scripts (or some other mechanism) starting it (or a
11922           compatible DBUS service) before NetworkManager runs.  This means that
11923           distributions might need to update their init scripts.  This fixes
11924           possible races and is quite a bit cleaner.
11925         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
11926           starting the NetworkManager daemon.
11927
11928
11929 2006-03-14  Robert Love  <rml@novell.com>
11930
11931         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
11932           before adding anything.
11933
11934 2006-03-13  Robert Love  <rml@novell.com>
11935
11936         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
11937           widgets, too, if they exist, in case the user hit the back button.
11938           Fixes a bug where the details page contains the widgets of multiple
11939           VPN modules (Novell bug #157048).
11940
11941 2006-03-13  Robert Love  <rml@novell.com>
11942
11943         Patch by Timo Hoenig <thoenig@suse.de>:
11944         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
11945           daemon survive DBUS restarts, too.
11946
11947 2006-03-10  Robert Love  <rml@novell.com>
11948
11949         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
11950           passphrase or key.
11951         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
11952           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
11953           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
11954           in response to "toggled" signal on new toggle.
11955
11956 2006-03-10  Robert Love  <rml@novell.com>
11957
11958         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
11959           serialization if strings are NULL, lest DBUS get angry.
11960
11961 2006-03-10  Robert Love  <rml@novell.com>
11962
11963         * src/nm-ap-security-wpa-eap.c: Don't log the password.
11964
11965 2006-03-09  Robert Love  <rml@novell.com>
11966
11967         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
11968           configurations.
11969
11970 2006-03-09  Dan Williams  <dcbw@redhat.com>
11971
11972         Track pending call requests in the applet, and report how many are
11973         outstanding, and how long each completed one takes.
11974         
11975         * gnome/applet/applet-dbus-devices.c
11976           gnome/applet/applet-dbus-vpn.c
11977                 - Track pending calls
11978
11979         * gnome/applet/applet-dbus.[ch]
11980                 - Remove some unused enums
11981                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
11982                         new functions to track dbus pending calls and spit out some
11983                         statistics about them
11984
11985 2006-03-09  Robert Love  <rml@novell.com>
11986
11987         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
11988           nm_ap_set_timestamp() take the second and micro-second parameters as
11989           direct arguments, which avoids both a dynamic memory allocation and a
11990           structure-to-structure copy!  Add a new interface, the aptly named
11991           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
11992           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
11993           the return from nm_ap_get_timestamp().  New users should use the new
11994           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
11995           the extreme benefit to performance.
11996         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
11997           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
11998
11999 2006-03-08  Robert Love  <rml@novell.com>
12000
12001         * gnome/applet/applet.glade: Hide the password entry text with
12002           asterisks.
12003
12004 2006-03-08  Robert Love  <rml@novell.com>
12005
12006         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12007           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12008           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12009           a second argument, NMData.
12010         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12011         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12012           config files as trusted.
12013
12014 2006-03-06  Robert Love  <rml@novell.com>
12015
12016         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12017         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12018           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12019           Rivera, detect if the applet was auto-started.  If so, ask the user
12020           if he or she would like to stop automatically running the applet on
12021           login.  If so, disable autostart.
12022
12023 2006-03-06  Robert Love  <rml@novell.com>
12024
12025         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12026           directory in CFLAGS so developers can actually use NetworkManager.h.
12027
12028 2006-03-06  Robert Love  <rml@novell.com>
12029
12030         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12031           open-coded integer constants.  Add state_to_string() to map a given
12032           state to a textual description, and provide that when notifying of
12033           state change.
12034         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12035           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12036           this header directly, but it is currently not installed on most
12037           systems.
12038
12039 2006-03-05  Dan Williams  <dcbw@redhat.com>
12040
12041         Process netlink messages in device subclasses rather than in
12042         NetworkManager.c.  Also add support for recognizing Wireless Events.
12043         
12044         * configure.in
12045                 - Find GLIB_GENMARSHAL
12046
12047         * src/Makefile.am
12048                 - Since we're marshalling custom types for wireless event signals,
12049                         we get to create our own marshallers using GLIB_GENMARSHAL
12050
12051         * src/NetworkManager.c
12052                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12053                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12054                         cut down somewhat.  We no longer process signals here.
12055                 - (nm_data_new): create the netlink monitor here, and remove a
12056                         useless call to nm_policy_schedule_device_change_check()
12057                 - (nm_data_free): get rid of the netlink monitor here
12058                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12059                 - (main): don't create the netlink monitor here, let nm_data_new
12060                         do that.  Call nm_policy_schedule_device_change_check() right
12061                         before we jump to the mainloop to figure out which device
12062                         to use first
12063
12064         * src/NetworkManagerSystem.[ch]
12065                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12066                         convert back and forth from interface names to interface
12067                         indexes
12068
12069         * src/nm-device-802-11-wireless.c
12070                 - (real_init): connect to wireless-event signals from the netlink
12071                         monitor object
12072                 - (nm_device_802_11_wireless_event): new function, schedule handler
12073                         for wireless event signals from the netlink monitor object.  We
12074                         want the handler to run in the device's context
12075                 - (wireless_event_helper): handle wireless-event signals from netlink
12076                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12077                         signal handler
12078
12079         * src/nm-device-802-11-wireless.h
12080                 - remove unused prototype for nm_device_802_11_wireless_new
12081
12082         * src/nm-device-802-3-ethernet.c
12083                 - (real_init): new function; set up signal handlers for link events
12084                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12085                         handler for netlink link activated events on device's main loop
12086                 - (link_activated_helper): when we get a link activated event, set
12087                         the device's link to be active
12088                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12089                         handler for netlink link deactivated events on device's main loop
12090                 - (link_deactivated_helper): when we get a link deactivated event, set
12091                         the device's link to be inactive
12092                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12093                         dispose
12094
12095         * src/nm-device-802-3-ethernet.h
12096                 - remove unused prototype for nm_device_802_3_ethernet_new
12097
12098         * src/nm-device.[ch]
12099                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12100                         but locks the device list
12101                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12102
12103         * src/nm-netlink-monitor.[ch]
12104                 - (nm_netlink_monitor_class_install_signals): New signal
12105                         "wireless-event"
12106                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12107                         at the device list
12108                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12109
12110         * src/nm-marshal-main.c
12111                 - Include generated nm-marshal.c and nm-marshal.h
12112
12113         * src/nm-marshal.list
12114                 - List of custom marshal functions
12115
12116 2006-03-05  Dan Williams  <dcbw@redhat.com>
12117
12118         * gnome/applet/applet-notifications.h
12119                 - Protect prototype of nma_send_event_notification() because it
12120                         includes libnotify-specific types
12121                 - Include libnotify/libnotify.h too, since we technically need it
12122
12123         * gnome/applet/applet.c
12124                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12125                 - (nma_show_vpn_login_banner_dialog): add some error checking
12126
12127 2006-03-04  Dan Williams  <dcbw@redhat.com>
12128
12129         Clean up activation cancellation.  Should be a lot faster now.  Observed
12130         an issue with wireless devices between stage 2 and 3 of activation, where
12131         activation would be cancelled, but the device thread wouldn't notice until
12132         the supplicant association timed out.  Reorganize activation such that
12133         a cancellation handler gets immediately scheduled in the device's thread,
12134         and devices have a chance to perform any custom cleanup too.
12135
12136         * src/nm-device.[ch]
12137                 - (activation_cancel_handler): new device-type-specific function
12138                         for cleaning up device-type-specific stuff on cancellation
12139                 - (cancel_activation): removed
12140                 - (nm_device_activation_cancel): subsume functionality of
12141                         real_cancel_activation, but instead of doing anything, punt
12142                         operation to a handler that's run in device-thread context
12143                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12144                         a warning message
12145                 - (activation_handle_cancel_helper): cancellation handler run in
12146                         device-thread context, calls device-type-specific cancelation,
12147                         then tears down the activation request
12148                 - (real_activation_cancel_handler): generic cancellation handler,
12149                         deals with cancelling any in-process DHCP request
12150                 - (nm_device_activate_stage1_device_prepare,
12151                    nm_device_activate_stage2_device_config,
12152                    nm_device_activate_stage3_ip_config_start,
12153                    nm_device_activate_stage4_ip_config_get,
12154                    nm_device_activate_stage4_ip_config_timeout,
12155                    nm_device_activate_stage5_ip_commit): don't call
12156                         nm_device_schedule_activation_handle_cancel() any more, since
12157                         cancellation will have been already scheduled for us by
12158                         nm_device_activation_cancel().  Just exit the function and
12159                         assume that the cancel handler will be called next.
12160
12161         * src/nm-device-802-3-ethernet.c
12162                 - (real_act_stage2_config): remove; didn't do anything anyway
12163
12164         * src/nm-device-802-11-wireless.c
12165                 - (supplicant_status_cb): ensure we don't do anything if the activation
12166                         got cancelled
12167                 - (real_activation_cancel_handler): implement; cancel user key request
12168                         on activation cancellation
12169
12170 2006-03-04  Dan Williams  <dcbw@redhat.com>
12171
12172         * src/nm-device-802-11-wireless.c
12173                 - (supplicant_send_network_config): assume that drivers that don't
12174                         support WPA pretty much suck, and can't handle NM scanning
12175                         along with wpa_supplicant.
12176
12177 2006-03-03  Robert Love  <rml@novell.com>
12178
12179         * configure.in: Bump version to 0.6.0.
12180         * NEWS: Update.
12181
12182 2006-03-03  Robert Love  <rml@novell.com>
12183
12184         * configure.in: Require DBUS 0.60 or later.
12185
12186 2006-03-03  Dan Williams  <dcbw@redhat.com>
12187
12188         Fix a crash if an "Other wireless network" was chosen, failed, then
12189         chosen again from the applet's menu.  If the other network wasn't
12190         noticed in a scan, it wouldn't have any capabilities, but would still
12191         be listed because the user forced the network.  To fix this, we set
12192         sensible capabilities on the forced network, which will get overwritten
12193         with the correct ones if the network shows up later in a scan.
12194         
12195         * src/nm-ap-security.h
12196                 - Add a new "get_default_capabilities_func" member to the
12197                         NMAPSecurity class
12198
12199         * src/nm-ap-security.c
12200                 - (nm_ap_security_get_default_capabilities): new function
12201
12202         * src/nm-ap-security.c
12203           src/nm-ap-security-wep.c
12204           src/nm-ap-security-wpa-psk.c
12205           src/nm-ap-security-wpa-eap.c
12206                 - Implement get_default_capabilities_func() for all, which
12207                         uses the information contained in a specific NMAPSecurity
12208                         object to determine default AP capabilites necessary
12209                         to support that object
12210
12211         As a secondary measure, we now prune artificial access points that fail
12212         to be activated right away.  The thing failed, and we have no scan data for
12213         it, so it's pretty much useless since security information is only saved
12214         in the applets when a connection is successful.
12215
12216         * src/NetworkManagerAPList.c
12217                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12218                         not artificial.  If we see it, it's no longer a figment of the
12219                         user's imagination :)
12220
12221         * src/NetworkManagerPolicy.c
12222                 - (nm_policy_activation_failed): send along the failed AP if we
12223                         have it
12224
12225         * src/nm-device-802-11-wireless.c
12226                 - (real_activation_failure_handler): remove artificial APs from
12227                         the device list, because activation failed
12228
12229 2006-03-02  Robert Love  <rml@novell.com>
12230
12231         Add support for retrieving both the per-device speed and the
12232         per-network maximum supported rate.  Then change the getProperties
12233         DBUS API for both networks and devices to report this informaiton.
12234         Finally, display the information via both nm-applet and nm-tool:
12235         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12236           and set it.
12237         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12238           Information' dialog.
12239         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12240         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12241           network_device_get_speed() and network_device_set_speed() for
12242           retrieving and setting, respectively, a network device's current
12243           speed.
12244         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12245         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12246           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12247           not matter (yet) what the units are, because we only feed it its own
12248           output.  Implement SIOCGIRATE and set the per-network maximum
12249           supported rate during scanning.
12250         * src/nm-device-802-11-wireless.h: Export the function
12251           nm_device_802_11_wireless_get_bitrate().
12252         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12253           function nm_device_802_3_ethernet_get_speed() for returning an
12254           802.3's current speed, in Mb/s.
12255         * test/nm-tool.c: Display the per-device current speed, if available,
12256           and the per-network maximum rate.
12257
12258 2006-03-02  Dan Williams  <dcbw@redhat.com>
12259
12260         * src/nm-device-802-11-wireless.c
12261                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12262                         card when it gets initialized.  Since devices don't get added to
12263                         the scan list until they are initialized, this function wasn't
12264                         setting the intitial scan interval correctly, and was leaving
12265                         it at 0.  This caused cards to get many scan requests in a short
12266                         amount of time when they were initialized
12267
12268 2006-03-02  Robert Love  <rml@novell.com>
12269
12270         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12271           active device.  But do not do what we used to do and override the
12272           state, which caused the dreaded icon race of '05.
12273
12274 2006-03-02  Robert Love  <rml@novell.com>
12275
12276         Commit Dan's update of my previous commit:
12277         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12278           set_mode() function itself does the check.  But do only set the
12279           frequency if in Ad-Hoc mode.
12280
12281 2006-03-02  Robert Love  <rml@novell.com>
12282
12283         Patch by Brian Magnuson <magnuson@rcn.com>:
12284         * src/nm-device-802-11-wireless.c: During scanning, only set the
12285           wireless mode to infrastructure if it is not currently in
12286           infrastructure mode.  For some driver, setting the mode is a costly
12287           operation, apparently.
12288
12289 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12290
12291         * Makefile.am: use the correct dir for autostart mechanism.
12292
12293 2006-02-28  Dan Williams  <dcbw@redhat.com>
12294
12295         Patch from Brian Magnuson <magnuson@rcn.com>
12296         * gnome/applet/applet.c
12297                 - (nma_show_vpn_failure_dialog): fix errors left over from
12298                         libnotify support changes
12299
12300 2006-02-28  Dan Williams  <dcbw@redhat.com>
12301
12302         * src/vpn-manager/nm-vpn-act-request.[ch]
12303                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12304                         just one value
12305                 - (nm_vpn_act_request_is_failed): new function; return whether or
12306                         not the vpn activation request has failed
12307
12308         * src/vpn-manager/nm-vpn-manager.c 
12309                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12310                         daemon to kill the connection when the activation request fails.
12311                         Fixes issue where NM would get confused if the VPN activation
12312                         request timed out, and would not allow further VPN connections
12313                         on that service.
12314
12315 2006-02-28  Dan Williams  <dcbw@redhat.com>
12316
12317         * gnome/applet/applet.c
12318                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12319                         overlapping connection requests, disable all VPN menu items
12320                         but the active VPN connection
12321
12322 2006-02-28  Dan Williams  <dcbw@redhat.com>
12323
12324         * src/vpn-manager/nm-vpn-connection.c
12325                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12326                         called g_object_unref() on the connection's parent device
12327                         when it should have been ref-ed instead.  Fixes crash with
12328                         repeated vpn connect requests
12329
12330 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12331
12332         * gnome/applet/applet.glade:
12333         Mark a few strings non-translatable, since they shouldn't be.
12334
12335 2006-02-28  Dan Williams  <dcbw@redhat.com>
12336
12337         * src/vpn-manager/nm-vpn-service.c
12338                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12339                         already running, don't blindly ask it to connect, but wait until
12340                         it's in the STOPPED state first.  Fixes an assertion when user
12341                         starts a second vpn connection without stopping the first.
12342                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12343                         dbus service exists before continuing with the connection
12344                         process, and reduce latency while waiting for it to become
12345                         available
12346                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12347                         waiting for the vpn service daemon to become available
12348                 - General log message cleanups; show progress via "Stage x of 4"
12349                         rather than not telling anyone how many stages there are
12350
12351 2006-02-28  Robert Love  <rml@novell.com>
12352
12353         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12354         * src/backends/NetworkManagerSuSE.c: Implement the interface
12355           nm_system_should_modify_resolv_conf() for SUSE.
12356         * src/backends/NetworkManagerDebian.c,
12357           src/backends/NetworkManagerGentoo.c,
12358           src/backends/NetworkManagerRedHat.c,
12359           src/backends/NetworkManagerSlackware.c: Add stub.
12360         * src/named-manager/Makefile.am: Grab includes from src.
12361         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12362           automatic updating of resolv.conf.  This is useful for testing,
12363           broken static configurations, and administrator lock-down.
12364
12365 2006-02-28  Dan Williams  <dcbw@redhat.com>
12366
12367         * src/nm-device-802-11-wireless.c
12368                 - Move all the wpa_supplicant-related management stuff into its
12369                         own struct, just for oranization's sake
12370                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12371                         to a GIOChannel/GSource
12372                 - (supplicant_log_stdout): new function; grab output from the
12373                         wpa_supplicant stdout pipe and write it to our logs.
12374
12375 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12376
12377         * src/nm-device-802-11-wireless.c:
12378         Err, fix thinko in my previous commit.
12379
12380 2006-02-28  Robert Love  <rml@novell.com>
12381
12382         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12383
12384 2006-02-28  Robert Love  <rml@novell.com>
12385
12386         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12387           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12388           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12389           deserializers are responsible for freeing the returned DBUS strings.
12390
12391 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12392
12393         * src/nm-device-802-11-wireless.c:
12394         The scan list is being pruned prematurely.  We should prune after
12395         the device has gone MIA for three scans, not one.  Split out the
12396         interval to realtime seconds function to better serve this.
12397
12398 2006-02-27  Robert Love  <rml@novell.com>
12399
12400         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12401           Open the pid file O_TRUNC, so if it already exists we truncate it to
12402           zero length.  Also, be more verbose about warnings generated during
12403           writing out the pid file.  Finally, always write out the pid file if
12404           in daemon mode.  Use "--pid-file" to override the default.
12405
12406 2006-02-27  Robert Love  <rml@novell.com>
12407
12408         Patch by R. Vinay <rvinay@novell.com>:
12409         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12410           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12411           Novell bug #153628).
12412           
12413 2006-02-27  Robert Love  <rml@novell.com>
12414
12415         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12416           entry so user can hit <ENTER> after entering passphrase (Novell bug
12417           #153738).
12418
12419 2006-02-27  Dan Williams  <dcbw@redhat.com>
12420
12421         * gnome/applet/*
12422                 - Mass search/replace of:
12423                         nmwa -> nma
12424                         NMWirelessApplet -> NMApplet
12425                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12426                    (it ain't just for wireless anymore, ma!)
12427                 - Fix duplicate function name printing when using nm_warning
12428                 - wireless-applet.glade -> applet.glade
12429
12430 2006-02-27  Dan Williams  <dcbw@redhat.com>
12431
12432         * dispatcher-daemon/NetworkManagerDispatcher.c
12433                 - Accept --pid-file with a path to a pidfile, write it out on
12434                         startup, and delete it on shutdown
12435
12436         * src/NetworkManager.c
12437                 - Accept --pid-file with a path to a pidfile, write it out on
12438                         startup, and delete it on shutdown
12439                 - Move nm_print_usage() lower
12440
12441         * initscripts/RedHat/NetworkManager.in
12442                 - Use new --pid-file option
12443                 - Fix service stopping to wait a bit for NM to quit
12444
12445         * initscripts/RedHat/NetworkManagerDispatcher.in
12446                 - Use new --pid-file option
12447
12448 2006-02-26  Dan Williams  <dcbw@redhat.com>
12449
12450         * src/Makefile.am
12451                 - make and install nm-crash-logger
12452
12453         * src/nm-logging.[ch]
12454                 - New files; consolidate logging and crash handling
12455
12456         * src/nm-crash-logger.c
12457           src/gdb-cmd
12458                 - Standalong crashlogger for NM, grab a backtrace
12459                         using GDB
12460
12461         * src/NetworkManager.[ch]
12462                 - Remove signal handling and put it into nm-logging.c
12463
12464 2006-02-26  Dan Williams  <dcbw@redhat.com>
12465
12466         * configure.in
12467           gnome/applet/Makefile.am
12468                 - Conditionalize all the notify stuff
12469
12470         Merge most of Chris Aillon's notification patch:
12471         
12472         * gnome/applet/applet-notifications.[ch]
12473                 - New files; show a notification
12474         
12475         * gnome/applet/applet-dbus-devices.[ch]
12476                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12477                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12478                         new functions, do the right thing when a device change occurs
12479
12480         * gnome/applet/applet-dbus.c
12481                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12482                         signals, so we can handle them specially
12483
12484         * gnome/applet/applet.[ch]
12485                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12486                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12487                 - (nmwa_notify_state): remove
12488                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12489                         notification work is now done when the appropriate dbus signals
12490                         are received.
12491                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12492                         defer execution of the notification/dialog stuff.  That was an
12493                         artifact of the previous multi-threaded nature of the applet
12494                         and is now pointless.
12495                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12496                         no longer needed.  Function folded into applet-notifications.c
12497
12498         * src/NetworkManagerPolicy.c
12499                 - (nm_policy_activation_finish): send the AP along with the device
12500                         status change signal, if the connection is wireless.  Should
12501                         fix the race where applet would show a connection to "unknown"
12502
12503 2006-02-25  Robert Love  <rml@novell.com>
12504
12505         Add WPA Enterprise support:
12506         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12507           nm-gconf-wso-wpa-eap.h.
12508         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12509           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12510           serialization and deserialization.
12511         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12512           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12513           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12514         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12515           settings related to WPA Enterprise.
12516         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12517           instantiate WPA Enterprise wireless-security-option.
12518         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12519           Implement WPA Enterprise wireless-security-option object.
12520         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12521           defines.  Cleanup.
12522         * libnm-util/cipher-wpa-psk-hex.c,
12523           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12524         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12525           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12526           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12527           including the cipher to DBUS method, and
12528           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12529           to output.
12530         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12531           nm-ap-security-wpa-eap.h
12532         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12533           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12534         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12535           files.  Implement NMAPSecurityWPA_EAP object.
12536         * src/nm-ap-security-wpa-psk.c: Cleanup.
12537         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12538           an NMAPSecurityWPA_EAP object via the method
12539           nm_ap_security_wpa_eap_new_deserialize().
12540         * src/nm-dbus-nm.c: Cleanup.
12541         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12542           WPA Enterprise support.
12543
12544 2006-02-24  Robert Love  <rml@novell.com>
12545
12546         Patch from Timo Hoenig <thoenig@suse.de>:
12547         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12548
12549 2006-02-24  Robert Love  <rml@novell.com>
12550
12551         Patch from Dan Winship <danw@novell.com>:
12552         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12553           area to transparent.
12554
12555 2006-02-21  Dan Williams  <dcbw@redhat.com>
12556
12557         * gnome/applet/applet.[ch]
12558           gnome/applet/applet-dbus.c
12559                 - Implement notification support for VPN messages too
12560
12561 2006-02-21  Dan Williams  <dcbw@redhat.com>
12562
12563         * gnome/applet/applet-dbus-info.c
12564                 - Clean up warning messages to not double-print the function
12565
12566 2006-02-21  Dan Williams  <dcbw@redhat.com>
12567
12568         * gnome/applet/applet-compat.c
12569                 - (convert_one_entry): accept entries without a key_type and
12570                         convert them to unencrypted networks
12571
12572 2006-02-21  Dan Williams  <dcbw@redhat.com>
12573
12574         * gnome/libnm_glib/libnm_glib.c
12575                 - Use __func__ everywhere we can
12576                 - Code cleanups
12577                 - Use dbus pending calls rather than blocking
12578                 - Reduce busywaits for our thread to start and stop
12579                         (gnome.org #330562)
12580                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12581                         stomp on others using the default shared dbus connection.
12582                         Fixes #rh177546# and gnome.org #326572
12583
12584 2006-02-21  Dan Williams  <dcbw@redhat.com>
12585
12586         Patch from Rodney Dawes <dobey@novell.com>
12587         * configure.in
12588           gnome/applet/Makefile.am
12589           gnome/applet/applet.c
12590                 - Add libnotify support if '--enable-notify=yes' is passed
12591                   at configure time
12592
12593 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12594
12595         * configure.in (ALL_LINGUAS): ko added. (Korean)
12596
12597 2006-02-15  Robert Love  <rml@novell.com>
12598
12599         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12600           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12601           and WPA_SUPPLICANT_CONTROL_SOCKET.
12602         
12603 2006-02-15  Robert Love  <rml@novell.com>
12604
12605         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12606           information about what connection stage we are at, provide the total
12607           number of stages, e.g. "Stage 2 of 5", so users know how far along
12608           they are if they experience problems.
12609
12610 2006-02-15  Robert Love  <rml@novell.com>
12611
12612         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12613           define to $sysconfdir.
12614         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12615           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12616           type of VPN and then editing another results in a mangled dialog
12617           box containing the widgets from both VPNs (fixes Novell #150854).
12618           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12619
12620 2006-02-14  Robert Love  <rml@novell.com>
12621
12622         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12623           syslog's file descriptor.
12624
12625 2006-02-14  Robert Love  <rml@novell.com>
12626
12627         Fix bug around since the change to "deal with APs changing settings on
12628         us," checked in on the fifth of February in the year of the dog, 
12629         wherein connecting to non-broadcast encrypted networks always fails
12630         because nm_ap_get_encrypted() always returns FALSE, even when the user
12631         provided a key, because the newly-created fake AP does not have any
12632         capabilities set, which is a sypmtom of security settings not matching
12633         capabilities (Novell bug #150784):
12634         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12635           nm_ap_add_capabilities_from_security(), which sets the given AP's
12636           capabilities off the given security settings.  Also improve our
12637           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12638           NM_AUTH_CIPHER_AUTO.
12639         * src/nm-device-802-11-wireless.c: Call the function
12640           nm_ap_add_capabilities_from_security() to ensure that capabilities
12641           match newly updated security settings.
12642
12643 2006-02-14  Robert Love  <rml@novell.com>
12644
12645         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12646           error as a string, not an integer, if possible; do not print the
12647           function name twice; always give the interface, if possible; misc.
12648           cleanup.
12649
12650 2006-02-12  Dan Williams  <dcbw@redhat.com>
12651
12652         Patch from Tom Parker <palfrey@tevp.net>
12653         * src/NetworkManagerSystem.h
12654                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12655                         no longer used
12656
12657         * src/backends/NetworkManagerDebian.c
12658                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12659                         unused variables
12660
12661 2006-02-12  Dan Williams  <dcbw@redhat.com>
12662
12663         * vpn-daemons/openvpn/intltool-extract.in
12664           vpn-daemons/openvpn/intltool-merge.in
12665           vpn-daemons/openvpn/intltool-update.in
12666           vpn-daemons/pptp/intltool-extract.in
12667           vpn-daemons/pptp/intltool-merge.in
12668           vpn-daemons/pptp/intltool-update.in
12669                 - Remove from CVS, they should get created by intltoolize,
12670                         shouldn't they?
12671
12672 2006-02-12  Dan Williams  <dcbw@redhat.com>
12673
12674         * vpn-daemons/pptp/src/pppd/patchlevel.h
12675         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12676                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12677                         Makefile-defined VERSION
12678
12679 2006-02-09  Dan Williams  <dcbw@redhat.com>
12680
12681         Patch from: Vinay A R <rvinay@novell.com>
12682         * src/vpn-manager/nm-vpn-act-request.[ch]
12683                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12684                         IPSec VPNs require them for std gateway.
12685                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12686                         and 'user_routes_count'
12687                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12688                         defined routes  from NMVPNActRequest object, returns the string
12689                         array of routes.
12690
12691         * src/vpn-manager/nm-vpn-manager.[ch]
12692                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12693                         for 'user_routes' and 'user_routes_count'
12694         
12695         * src/vpn-manager/nm-dbus-vpn.c
12696                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12697                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12698         
12699         * src/vpn-manager/nm-vpn-service.c
12700                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12701                         the vpn daemon
12702
12703         Modifications by Dan:
12704         * src/vpn-manager/nm-vpn-service.c
12705                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12706                         arrays into dbus
12707
12708         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12709         * vpn-daemons/pptp/src/nm-pptp-service.c
12710         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12711                 - Grab user routes from dbus message
12712                 - Free all string arrays we got from dbus
12713
12714 2006-02-07  Robert Love  <rml@novell.com>
12715
12716         Patch by Stefan Seyfried <seife@suse.de>:
12717         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12718
12719 2006-02-06  Robert Love  <rml@novell.com>
12720
12721         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12722
12723 2006-02-06  Robert Love  <rml@novell.com>
12724
12725         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12726           test ">=" is never false.  If no newline is found, we loop forever.
12727           We can just check for ">" because the following if() will see the
12728           zero-th argument if the while() gets that far.
12729
12730 2006-02-05  Dan Williams  <dcbw@redhat.com>
12731
12732         Refine handling of non-broadcast networks.
12733
12734         * src/NetworkManagerAPList.c
12735                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12736                         property from scanned AP to the AP from the device list
12737
12738         * src/nm-device-802-11-wireless.c
12739                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12740                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12741                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12742                         networks since those don't have APs.
12743                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12744                         AP as non-SSID-broadcasting
12745                 - (process_scan_results): don't handle non-SSID-broadcasting here
12746
12747 2006-02-05  Dan Williams  <dcbw@redhat.com>
12748
12749         * src/nm-device-802-11-wireless.c
12750                 - (get_supplicant_timeout): new function; return
12751                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12752                         14 channels.  These are likely a/b/g cards, like Atheros, and
12753                         slow as hell to scan.
12754                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12755                         get_supplicant_timeout()
12756
12757 2006-02-05  Dan Williams  <dcbw@redhat.com>
12758
12759         * src/dhcp-manager/nm-dhcp-manager.c
12760                 - Loose a commit race with Robert; make sure size check
12761                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12762
12763 2006-02-05  Robert Love  <rml@novell.com>
12764
12765         Patch by Christoph Brill <chrisbrill@gmx.net>:
12766         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12767           with DHCP_SERVICE_NAME.
12768
12769 2006-02-05  Dan Williams  <dcbw@redhat.com>
12770
12771         Remove anything having to do with device_setup_func from the
12772         AP security objects, since it's no longer used.
12773
12774         * src/nm-ap-security.h
12775                 - Kill device_setup_func and nm_ap_security_device_setup()
12776
12777         * src/nm-ap-security-wep.c
12778           src/nm-ap-security-wpa-psk.c
12779                 - (real_device_setup): remove
12780
12781         * src/nm-ap-security.c
12782                 - (real_device_setup): remove
12783                 - (nm_ap_security_device_setup): remove
12784
12785         * src/nm-device-802-11-wireless.[ch]
12786                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12787                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12788                         and done by wpa_supplicant now anyway
12789
12790 2006-02-05  Dan Williams  <dcbw@redhat.com>
12791
12792         * src/nm-device-802-11-wireless.c
12793                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12794                         settings on us.  Previously NM would loop asking for the
12795                         key but getting the same one back.  Now, if the NMI-supplied
12796                         cipher doesn't overlap with the scanned AP capabilities,
12797                         we request a completely new key from the user.
12798
12799 2006-02-05  Dan Williams  <dcbw@redhat.com>
12800
12801         * src/NetworkManagerUtils.c
12802                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12803                         Handle newline killing better
12804
12805 2006-02-05  Dan Williams  <dcbw@redhat.com>
12806
12807         * gnome/applet/nm-gconf-wso.c
12808                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12809                         of unencrypted access point security info.
12810
12811 2006-02-03  Robert Love  <rml@novell.com>
12812
12813         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12814           user's encryption key, so we print the err_msg_cmd not the command,
12815           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12816           sense.
12817
12818 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12819
12820         * initscript/RedHat/NetworkManagerDispatcher.in:
12821         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12822         Patch from Dan Walsh <dwalsh@redhat.com>
12823
12824 2006-02-03  Robert Love  <rml@novell.com>
12825
12826         * dispatcher-daemon/NetworkManagerDispatcher.c,
12827           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12828           but use the sysconfdir.
12829
12830 2006-02-03  Robert Love  <rml@novell.com>
12831
12832         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12833           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12834           'char *'.
12835         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12836           nm_ip4_config_get_hostname() and
12837           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12838         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12839           leak g_strdup() result.
12840
12841 2006-02-03  Robert Love  <rml@novell.com>
12842
12843         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12844           broadcast == TRUE.  Also, copy broadcast and artificial properties
12845           from source network to destination in nm_ap_copy().
12846         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12847           since we now default new networks to non-hidden.
12848
12849 2006-02-03  Dan Williams  <dcbw@redhat.com>
12850
12851         * gnome/applet/main.c
12852                 - (main): change the NEVER->ALWAYS so we start at the
12853                         beginning of the session, if being session-managed
12854
12855 2006-02-03  Dan Williams  <dcbw@redhat.com>
12856
12857         * gnome/applet/main.c
12858                 - (main): in a variation on Robert's patch, change
12859                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12860                         he wants.
12861
12862 2006-02-02  Robert Love  <rml@novell.com>
12863
12864         * src/Makefile.am: If we aren't going to create the run directory at,
12865           uh, run-time, create it during install.  Then users just doing
12866           'make install' are cool, too.  While we are here, create the
12867           dispatcher.d directory, too.
12868         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12869           the exact run directory.
12870         * Makefile.am: Install nm-applet.desktop.
12871
12872 2006-02-02  Robert Love  <rml@novell.com>
12873
12874         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12875           structure, which denotes whether or not the AP is hidden.  This is a
12876           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12877           can show up in the scan list.  Add nm_ap_get_broadcast() and
12878           nm_ap_set_broadcast() accessor interfaces.
12879         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12880           nm_ap_set_broadcast().
12881         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12882           "getProperties" method, which denotes whether or not the given
12883           network is hidden.
12884         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12885           an artificial network.  Set broadcast to TRUE when scanning returns
12886           an ESSID and FALSE when not.
12887         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12888           from "getProperties" method on a network.  Possible TODO is to
12889           somehow display this.
12890         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12891
12892 2006-02-02  Dan Williams  <dcbw@redhat.com>
12893
12894         * src/nm-device-802-11-wireless.c
12895                 - (supplicant_interface_init): don't try to create
12896                         /var/run/NetworkManager, since that should be done by
12897                         the distro package.  Causes problems for stuff like SELinux
12898
12899 2006-02-02  Robert Love  <rml@novell.com>
12900
12901         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12902         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12903           Check for and handle empty string for iface.
12904
12905 2006-02-01  Robert Love  <rml@novell.com>
12906
12907         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12908           manpage.
12909
12910 2006-01-31  Dan Williams  <dcbw@redhat.com>
12911
12912         * nm-applet.desktop
12913                 - Add --sm-disable to Exec arguments, presuming that when
12914                         using autostart, we don't want session management
12915
12916 2006-01-31  Robert Love  <rml@novell.com>
12917
12918         * src/NetworkManagerAP.c: Add two new manufacturer default network
12919           names: linksys-a and linksys-g.  These are found (at least) on the
12920           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
12921           own ESSID.
12922
12923 2006-01-31  Robert Love  <rml@novell.com>
12924
12925         * src/NetworkManagerAP.c: Optimize the function
12926           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
12927           machine code.  This is the first in a series of code tweaks aiming to
12928           generate better machine code and make NetworkManager all the better.
12929           Just kidding.  Who has time to go through the assembly generated for
12930           every function?  I certainly don't.  I have a wife, a kid, a job,
12931           a mortgage, a mistress.  But this function was so bad, I was called
12932           to arms.  Like the book.
12933
12934 2006-01-31  Robert Love  <rml@novell.com>
12935
12936         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
12937           AP is not broadcasting, to scan with probe request frames.  Required
12938           for non-broadcast networks.
12939
12940 2006-01-31  Robert Love  <rml@novell.com>
12941
12942         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
12943           preprocessor define (still 20s).  Fix message text in nm_info()
12944           s/too too/took too/.
12945
12946 2006-01-30  Dan Williams  <dcbw@redhat.com>
12947
12948         * src/nm-device-802-11-wireless.c
12949                 - (supplicant_monitor_start): increase connect/auth timeout to
12950                         20 seconds from 10 seconds
12951
12952 2006-01-30  Dan Williams  <dcbw@redhat.com>
12953
12954         * src/Makefile.am
12955                 - Define LOCALSTATEDIR
12956
12957         * src/nm-device-802-11-wireless.c
12958                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
12959                         socket where we want it to
12960
12961         * src/wpa_ctrl.[ch]
12962                 - (wpa_ctrl_open): accept location to put local control socket
12963
12964 2006-01-30  Robert Love  <rml@novell.com>
12965
12966         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
12967           get_ip4_string() for "domain_name".
12968
12969 2006-01-30  Robert Love  <rml@novell.com>
12970
12971         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12972           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
12973           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
12974           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
12975           support for "Automatic" pairwise and group cipher configuration by
12976           letting wpa_supplicant handle the details.  Add UI elements, new
12977           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
12978           charm.  Note this does more than add a nice feature, it fixes a bug.
12979           Apparently, some people have AP's where the pairwise cipher does not
12980           match the group cipher.  Insane, but true.
12981
12982 2006-01-30  Dan Williams  <dcbw@redhat.com>
12983
12984         * gnome/applet/applet-dbus-devices.c
12985                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
12986                         functions, grab device driver name from NetworkManager
12987                 - (nmwa_dbus_device_properties_cb): call functions to get driver
12988
12989         * gnome/applet/applet.c
12990                 - (nmwa_update_info): show driver name in Connection Information
12991                         dialog
12992
12993         * gnome/applet/nm-device.[ch]
12994                 - (network_device_get_driver, network_device_set_driver): add
12995                         accessors for driver name
12996
12997         * gnome/applet/wireless-applet.glade
12998                 - Add line for driver name to Connection Information dialog
12999
13000         * src/nm-dbus-device.c
13001                 - (nm_dbus_device_get_driver): new function to return driver name
13002                 - (nm_dbus_device_methods): hook up driver name function to dbus
13003
13004         * test/nm-tool.c
13005                 - (get_driver_name): new function
13006                 - (detail_device): grab and show driver name
13007
13008 2006-01-30  Robert Love  <rml@novell.com>
13009
13010         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13011           does not parse the markup if it is not part of the format.
13012
13013 2006-01-30  Robert Love  <rml@novell.com>
13014
13015         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13016           FALSE, we have no security options for this dialog, so we throw up
13017           an error dialog instead of a broken passphrase dialog.  Fixes
13018           Novell #138404.
13019         * gnome/applet/wireless-security-manager.c,
13020           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13021           does not add any security options, not even NONE, print a warning
13022           and return FALSE.  This let's functions constructing a dialog bail
13023           out if the device's capabilities and the network's requirements have
13024           zero overlap.
13025
13026 2006-01-27  Robert Love  <rml@novell.com>
13027
13028         * configure.in: Require wpa_supplicant.  Detect location of binary and
13029           use it.  Override with "--with-wpa_supplicant=foo".
13030         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13031           path to wpa_supplicant but use the auto-detected or user-provided
13032           value from configure.
13033
13034 2006-01-27  Robert Love  <rml@novell.com>
13035
13036         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13037           but the DHCP server did not return a hostname, try to look up our
13038           name via DNS and set the system hostname to that.
13039
13040 2006-01-27  Dan Williams  <dcbw@redhat.com>
13041
13042         * src/backends/NetworkManagerRedHat.c
13043                 - Add NM_CONTROLLED system network script support for RH/Fedora
13044
13045 2006-01-27  Dan Williams  <dcbw@redhat.com>
13046
13047         * src/backends/NetworkManagerGentoo.c
13048                 - (nm_system_device_get_disabled): add missing function.
13049                         Gnome BZ #328780
13050
13051 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13052
13053         * configure.in: Added vi in ALL_LINGUAS line.
13054         
13055 2006-01-26  Robert Love  <rml@novell.com>
13056
13057         * src/Makefile.am, src/kernel-types.h: Now that two different source
13058           files are feeling the crack-addled leakage of kernel types such as
13059           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13060           types in user-space -- define a header and include it as needed.
13061         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13062         * src/nm-device-802-3-ethernet.h: Remove defines.
13063         * src/wpa.c: Remove defines and include kernel-types.h.
13064
13065 2006-01-26  Robert Love  <rml@novell.com>
13066
13067         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13068           work.
13069
13070 2006-01-26  Robert Love  <rml@novell.com>
13071
13072         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13073         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13074           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13075           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13076           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13077           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13078           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13079           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13080           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13081           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13082           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13083           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13084           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13085           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13086           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13087           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13088           Kill unused variables, labels, and static functions.  Don't pass
13089           string literals as the format string for printf-like functions.
13090
13091 2006-01-25  Dan Williams  <dcbw@redhat.com>
13092
13093         * gnome/applet/wireless-applet.glade
13094                 - Remove WPA2 Checkbox
13095
13096         * gnome/applet/wireless-security-manager.c
13097                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13098                         This means the Wireless Security menu now has two WPA options,
13099                         one for "WPA Personal" and one for "WPA2 Personal"
13100
13101         * gnome/applet/wso-wpa-psk.[ch]
13102                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13103                         'wpa2' argument to determine WPA version to use
13104                 - (append_dbus_params_func): pass stored WPA version to cipher
13105                         rather than using the (removed) checkbox
13106
13107 2006-01-24  Robert Love  <rml@novell.com>
13108
13109         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13110           before we g_strdup(), not the ultimate string.
13111
13112 2006-01-23  Dan Williams  <dcbw@redhat.com>
13113
13114         * src/NetworkManagerAP.[ch]
13115                 - (nm_ap_new_from_ap): copy original essid too
13116                 - (nm_ap_unref): free original essid
13117                 - (nm_ap_get_orig_essid): new function
13118                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13119                         but keep original essid around too
13120
13121         * src/nm-device-802-11-wireless.c
13122                 - (supplicant_send_network_config): send wpa_supplicant the
13123                         _original_ essid, and not as a string, but in hex.  Should
13124                         allow us to connect to more APs that use wierd character
13125                         encodings for their essids
13126
13127         * utils/nm-utils.[ch]
13128                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13129                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13130                         use the current locale as a hint for what encoding the essid
13131                         might be in.  Obviously not 100% accurate, but the idea here is
13132                         that if a user's locale is ex. ja_JP, they are more likely than
13133                         not to be in Japan, where access points will likely be in some
13134                         Japanese encoding.
13135
13136 2006-01-23  Dan Williams  <dcbw@redhat.com>
13137
13138         * libnm-util/cipher-private.h
13139           libnm-util/cipher.c
13140           libnm-util/cipher.h
13141                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13142
13143 2006-01-23  Robert Love  <rml@novell.com>
13144
13145         Patch by Timo Hoenig <thoenig@suse.de>:
13146         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13147           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13148           by DHCP and pass it to the backends, allowing distribution-specific
13149           behavior with respect to the DHCP-supplied hostname (if nothing else,
13150           some distributions might not want to set the hostname).
13151         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13152           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13153           Also update our NIS behavior.
13154         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13155           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13156           Add stub functions.
13157
13158 2006-01-23  Robert Love  <rml@novell.com>
13159
13160         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13161           gnome-session does autostart.  TODO: We need to install this to
13162           $prefix/share/autostart/.
13163
13164 2006-01-22  Dan Williams  <dcbw@redhat.com>
13165
13166         * src/NetworkManagerAP.[ch]
13167           src/nm-dbus-nmi.c
13168           src/nm-device-802-11-wireless.c         
13169                 - Make nm_ap_get_essid return "const char *"
13170
13171 2006-01-22  Dan Williams  <dcbw@redhat.com>
13172
13173         * src/NetworkManagerAP.[ch]
13174                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13175
13176         * src/NetworkManagerAPList.[ch]
13177                 - (nm_ap_list_diff): removed
13178                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13179                         deal with access points changing essids on us
13180
13181         * src/nm-device-802-11-wireless.c
13182                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13183                         src/NetworkManagerAPList.c
13184                 - (real_can_interrupt_activation): new function; allow interruption
13185                         of device activation if we are waiting for a network key
13186
13187         * src/NetworkManagerPolicy.c
13188                 - (nm_policy_device_change_check): allow interruption of currently
13189                         activating devices if the device allows it.  Previous behavior
13190                         would refuse to activate a just-plugged wired device if a
13191                         wireless device was waiting for a key.
13192
13193         * src/nm-device.[ch]
13194                 - (nm_device_can_interrupt_activation): new function; ask devices
13195                         whether their activation can be interrupted
13196
13197 2006-01-20  Robert Love  <rml@novell.com>
13198
13199         * Makefile.am, configure.in: Add new man subdirectory.
13200         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13201           man/Makefile.am: Add man pages for NetworkManager and its
13202           crime-solving bumbling buddy, NetworkManagerDispatcher.
13203         * man/.cvsignore: Add.
13204         * initscript/Debian/NetworkManager,
13205           initscript/Gentoo/NetworkManager.in,
13206           initscript/RedHat/NetworkManager.in,
13207           initscript/RedHat/NetworkManagerDispatcher.in,
13208           initscript/SUSE/networkmanager-dispatcher.in,
13209           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13210
13211 2006-01-20  Robert Love  <rml@novell.com>
13212
13213         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13214           instead of queuing.  This prevents the running of multiple NM
13215           daemons concurrently, which does not work whatsoever and results in
13216           neither daemon working correctly.  Also, we don't handle queuing and
13217           name-owner-changes, anyhow.
13218
13219 2006-01-20  Robert Love  <rml@novell.com>
13220
13221         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13222         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13223           to sbin, not bin.
13224
13225 2006-01-19  Robert Love  <rml@novell.com>
13226
13227         * configure.in: Require hal 0.5.0 or later.
13228
13229 2006-01-18  Robert Love  <rml@novell.com>
13230
13231         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13232           Allow backends to flag a device (in whatever distro-dependent way
13233           they so desire) as disabled.  NM will ignore any such device.
13234         * src/backends/NetworkManagerDebian.c,
13235           src/backends/NetworkManagerRedHat.c,
13236           src/backends/NetworkManagerSlackware.c: Add stub function
13237           nm_system_device_get_disabled() that always returns FALSE (enabled).
13238         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13239           SUSE-specific configuration structure.  Fill it in from the
13240           NM_CONTROLLED variable in the system networking scripts.  If this var
13241           exists and is "no", we ignore the device.
13242
13243 2006-01-17  Robert Love  <rml@novell.com>
13244
13245         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13246           identical for NM.  For a full discussion, see the thread at
13247           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13248
13249 2006-01-17  Dan Williams  <dcbw@redhat.com>
13250
13251         * src/nm-device.c
13252                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13253                         function.  Fixes crash when wired DHCP fails.
13254
13255 2006-01-16  Robert Love  <rml@novell.com>
13256
13257         * src/Makefile.am: Don't install NMLoadModules
13258         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13259           from src/ to test/ as no one uses it anymore.  Note that I would be
13260           fine with removing it altogether.
13261
13262 2006-01-16  Robert Love  <rml@novell.com>
13263
13264         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13265           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13266           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13267           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13268           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13269           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13270           declarations, ever.
13271         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13272           NM_STATE_DISCONNECTED is zero).
13273
13274 2006-01-16  Robert Love  <rml@novell.com>
13275
13276         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13277           uninitialized parameter and buffer overflow.  Novell #143496.
13278
13279 2006-01-16  Dan Williams  <dcbw@redhat.com>
13280
13281         Apply the PtP Address bits of a patch from Tim Niemueller
13282
13283         * src/nm-ip4-config.[ch]
13284                 - Add ip4_ptp_address member to object
13285                 - (nm_ip4_config_copy): copy ptp address too
13286                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13287                         new functions
13288                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13289                         rather than local tunnel ip address
13290
13291         * src/vpn-manager/nm-vpn-service.c
13292                 - (print_vpn_config): update for PtP address
13293                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13294                         DBusMessageIters in preparation for getting routes from the VPN
13295                         service daemons too
13296
13297         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13298                 - (send_config_info): update for PtP address, clean up code
13299                 - (main): update for PtP address, clean up code, fix typo
13300
13301         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13302                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13303
13304         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13305                 - (pptp_ip_up): update for PtP address
13306
13307         * vpn-daemons/pptp/src/nm-pptp-service.c
13308                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13309
13310         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13311                 - (print_vpn_config): update for PtP address
13312                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13313
13314 2006-01-16  Dan Williams  <dcbw@redhat.com>
13315
13316         * gnome/applet/applet.c
13317                 - (nmwa_add_networks_helper): don't indicate an active network
13318                         if NM is disconnected or asleep
13319
13320 2006-01-16  Dan Williams  <dcbw@redhat.com>
13321
13322         * src/NetworkManagerPolicy.c
13323                 - (nm_policy_device_change_check): switch devices if we lose the link
13324                         on an ethernet device. 
13325
13326 2006-01-16  Dan Williams  <dcbw@redhat.com>
13327
13328         * gnome/applet/wso-wpa-psk-hex.[ch]
13329                 - Renamed -> wso-wpa-psk.[ch]
13330
13331         * gnome/applet/wso-wpa-psk.[ch]
13332                 - New files
13333
13334         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13335                 - Removed, rolled into wso-wpa-psk.[ch]
13336
13337         * gnome/applet/Makefile.am
13338                 - Updated for above changes
13339
13340         * gnome/applet/wireless-applet.glade
13341                 - Consolidate WPA-PSK options into one notebook
13342                         widget, and make dialogs invisible by default
13343                         to fix screen oddities
13344
13345         * gnome/applet/wireless-security-manager.c
13346                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13347                         than both the old hex & passphrase ones
13348
13349 2006-01-16  Dan Williams  <dcbw@redhat.com>
13350
13351         * gnome/applet/other-network-dialog.c
13352                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13353
13354 2006-01-16  Dan Williams  <dcbw@redhat.com>
13355
13356         * gnome/applet/applet.c
13357                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13358                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13359                         prevention to realize window before trying to get server
13360                         time
13361
13362         * gnome/applet/other-network-dialog.c
13363                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13364                         prevention to realize window before trying to get server
13365                         time
13366
13367         * gnome/applet/passphrase-dialog.c
13368                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13369                         prevention to realize window before trying to get server
13370                         time
13371
13372 2006-01-16  Robert Love  <rml@novell.com>
13373
13374         Patch from Timo Hoenig  <thoenig@suse.de:
13375         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13376           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13377           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13378           libnm-util/dbus-helpers.h: add checks whether headers are used
13379           within a C++ build.
13380
13381 2006-01-16  Dan Williams  <dcbw@redhat.com>
13382
13383         * gnome/applet/wireless-security-option.c
13384                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13385
13386 2006-01-16  Dan Williams  <dcbw@redhat.com>
13387
13388         * libnm-util/cipher-wpa-psk-passphrase.c
13389                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13390                         be 8 - 63 characters inclusive
13391
13392 2006-01-16  Dan Williams  <dcbw@redhat.com>
13393
13394         * src/nm-dbus-nm.c
13395                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13396
13397 2006-01-13  Robert Love  <rml@novell.com>
13398
13399         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13400         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13401           modules that do not use an interface.
13402
13403 2006-01-13  Dan Williams  <dcbw@redhat.com>
13404
13405         * src/nm-device.c
13406           src/nm-device.h
13407                 - Allow subclasses to implement deactivate_quickly()
13408                 - (nm_device_deactivate_quickly): call subclass
13409                         deactivate_quickly() methods
13410                 - (nm_device_set_active_link): small cleanups, and don't
13411                         deactivate the device right away because we risk a deadlock
13412                         when called from device thread, waiting for the device
13413                         thread to cancel activation
13414
13415         * src/nm-device-802-11-wireless.c
13416                 - (real_deactivate_quickly): new function
13417                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13418                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13419                         so that we kill the supplicant when we sleep too
13420                 - (supplicant_interface_init): work around naive naming attempts of
13421                         wpa_ctrl when naming sockets
13422
13423 2006-01-13  Dan Williams  <dcbw@redhat.com>
13424
13425         * src/nm-device-802-11-wireless.c
13426                 - (supplicant_cleanup): delete old device control sockets too
13427                 - (supplicant_get_device_socket_path): new function to consolidate
13428                         locations that need a path to a device's control socket
13429
13430 2006-01-12  Robert Love  <rml@novell.com>
13431
13432         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13433           description so that the description is unique for each
13434           pair (device,provider).  Fixes Novell #142773.
13435
13436 2006-01-12  Dan Williams  <dcbw@redhat.com>
13437
13438         * src/nm-device-802-11-wireless.c
13439                 - (supplicant_exec): ensure GError is correctly initialized
13440                         Reported by Diego González (gnome.org #326708)
13441
13442 2006-01-11  Robert Love  <rml@novell.com>
13443
13444         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13445           define if_mii(), open code the same results, and do so without any
13446           type punning.
13447
13448 2006-01-11  Robert Love  <rml@novell.com>
13449
13450         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13451           that wso_foo_new() returned non-NULL.  Instead, only append the new
13452           wso to wsm->options if the wso is non-NULL.  The crux is that we
13453           assume that the relevant key types are implied by WEP and WPA as
13454           appropriate.  To be sure, they should be, but we should not expect
13455           drivers to not be oozing piles of wolf fecal matter.
13456
13457 2006-01-11  Robert Love  <rml@novell.com>
13458
13459         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13460         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13461           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13462           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13463           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13464           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13465           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13466         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13467           comparing values within DBL_EPSILON.  Also fix shadowed variable
13468           usage.
13469
13470 2006-01-11  Dan Williams  <dcbw@redhat.com>
13471
13472         Add options for WPA2 and WPA1+CCMP (AES).
13473
13474         * gnome/applet/wireless-applet.glade
13475                 - Add UI bits for WPA+CCMP
13476
13477         * gnome/applet/other-network-dialog.c
13478                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13479                         and don't allow creation of WPA2 Ad-Hoc networks since
13480                         wpa_supplicant doesn't support them
13481
13482         * gnome/applet/wireless-security-manager.c
13483                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13484                         on to the specific wireless security option being created
13485
13486         * gnome/applet/wireless-security-option.[ch]
13487                 - (wso_wpa_create_key_type_model): new utility function to create
13488                         the model required for WPA Key Type combo box
13489
13490         * gnome/applet/wso-private.h
13491           gnome/applet/wireless-security-option.h
13492                 - Move private function prototypes into wso-private.h
13493
13494         * gnome/applet/wso-wpa-psk-hex.[ch]
13495           gnome/applet/wso-wpa-psk-passphrase.[ch]
13496                 - (append_dbus_params_func): get WPA version from checkbox and pass
13497                         it to the dbus serialization helper
13498                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13499                         key type combo changes
13500                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13501                         model and options
13502
13503         * libnm-util/cipher-wpa-psk-hex.c
13504           libnm-util/cipher-wpa-psk-passphrase.c
13505                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13506                         new function; allow the cipher to be changed after object creation
13507
13508         * src/nm-ap-security-wpa-psk.c
13509                 - (set_description): Do WPA2 descriptions too
13510
13511         * src/nm-ap-security.c
13512                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13513
13514 2006-01-11  Robert Love  <rml@novell.com>
13515
13516         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13517           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13518           from the ifreq structure in lieu of an open coded solution.  Removes
13519           a life-threatening type-punning.
13520         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13521           types, ever, whatsoever, baby.
13522
13523 2006-01-11  Robert Love  <rml@novell.com>
13524
13525         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13526           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13527           assignments to applet->nm_state into a new nmwa_set_state() function
13528           for both cleanliness and to help debugging.
13529
13530 2006-01-10  Robert Love  <rml@novell.com>
13531
13532         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13533           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13534           seconds, exclusive.  That is, we want to sleep x seconds such that
13535           1 < x < 2.
13536
13537 2006-01-10  Robert Love  <rml@novell.com>
13538
13539         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13540           the attr fields according to the example in the email available at
13541           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13542           Conversely, we do have to free 'name', so we do so, fixing a leak.
13543
13544 2006-01-10  Robert Love  <rml@novell.com>
13545
13546         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13547           sure that we close the socket!
13548
13549 2006-01-10  Robert Love  <rml@novell.com>
13550
13551         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13552           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13553           src/nm-device.c: Fix a FIXME!  Reimplement the function
13554           nm_device_update_hw_address() in device subclass variants,
13555           nm_device_802_3_ethernet_set_address() and
13556           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13557           This fixes the existing bug where MAC addresses are all zeros.
13558
13559 2006-01-10  Robert Love  <rml@novell.com>
13560
13561         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13562           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13563           option to give users ability to globally disconnect and put NM to
13564           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13565           clean disconnect.
13566
13567 2006-01-09  Robert Love  <rml@novell.com>
13568
13569         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13570           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13571           User-space does not supply these types, so we have to define them
13572           ourselves.  The relevant kernel maintainer refused to accept a patch
13573           switching these headers to the proper C99 types.
13574
13575 2006-01-09  Dan Williams  <dcbw@redhat.com>
13576
13577         Apply Robert's 'tray icon redo' patch with fixes
13578         * gnome/applet/applet.c
13579           gnome/applet/applet.h
13580                 - Instead of using a menu bar + menu item, simulate menu
13581                         behavior using a popup menu.  Highlight the area around
13582                         the icon more like a menu too, by playing with the
13583                         applet's size requisition
13584
13585 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13586         * libnm-util/dbus-helpers.c
13587           libnm-util/dbus-helpers.h
13588                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13589                         to 'exception_namespace' (:namespace is a keyword in
13590                         C++)
13591
13592 2006-01-09  Dan Williams  <dcbw@redhat.com>
13593
13594         * src/NetworkManagerPolicy.c
13595                 - (nm_policy_device_change_check): don't autoswitch away from
13596                         Ad-Hoc networks, since there's really no concept of
13597                         "link"
13598
13599         * src/nm-dbus-nm.c
13600                 - (nm_dbus_nm_create_wireless_network): mark created networks
13601                         as Ad-Hoc networks
13602
13603         * src/nm-device-802-11-wireless.c
13604                 - (real_activation_success_handler): add user-created Ad-Hoc
13605                         networks to the device's scan list
13606
13607 2006-01-08  Dan Williams  <dcbw@redhat.com>
13608
13609         We now require a patch for wpa_supplicant to support Ad-Hoc
13610         networks:
13611           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13612
13613         * src/nm-device-802-11-wireless.c
13614                 - (supplicant_send_network_config): turn off wpa_supplicant's
13615                         scanning.  Fixes Ad-Hoc networks.
13616
13617 2006-01-08  Dan Williams  <dcbw@redhat.com>
13618
13619         * src/nm-ap-security.c
13620           src/nm-ap-security.h
13621                 - Add a user_created argument to the write_supplicant_config
13622                         functions
13623
13624         * src/nm-ap-security-wep.c
13625           src/nm-ap-security-wpa-psk.c
13626           src/nm-device-802-11-wireless.c
13627                 - Make Ad-Hoc mode somewhat work, at least write the
13628                         correct options to wpa_supplicant
13629
13630 2006-01-08  Dan Williams  <dcbw@redhat.com>
13631
13632         * src/nm-device-802-11-wireless.c
13633                 - Remove unused code from the old device activation path
13634
13635 2006-01-08  Dan Williams  <dcbw@redhat.com>
13636
13637         * libnm-util/dbus-helpers.c
13638                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13639                         dbus when key == NULL
13640
13641 2006-01-08  Dan Williams  <dcbw@redhat.com>
13642
13643         * gnome/applet/nm-gconf-wso-wpa-psk.c
13644                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13645                         correct arguments to nmu_security_deserialize_wpa_psk()
13646
13647         * src/nm-ap-security-wpa-psk.c
13648                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13649                         arguments to nmu_security_deserialize_wpa_psk()
13650
13651 2006-01-08  Dan Williams  <dcbw@redhat.com>
13652
13653         * gnome/applet/wso-wpa-psk-hex.c
13654           gnome/applet/wso-wpa-psk-passphrase.c
13655                 - Hook up the append_dbus_params_func() function
13656
13657 2006-01-08  Dan Williams  <dcbw@redhat.com>
13658
13659         * src/nm-device-802-11-wireless.c
13660                 - (get_wireless_capabilities): correctly detect driver WPA
13661                         capabilities
13662
13663 2006-01-08  Dan Williams  <dcbw@redhat.com>
13664
13665         * gnome/applet/Makefile.am
13666           gnome/applet/wso-wpa-psk-hex.c
13667           gnome/applet/wso-wpa-psk-hex.h
13668                 - New files, implement WPA-PSK Hex key input
13669
13670         * gnome/applet/wireless-applet.glade
13671                 - Change existing wpa-psk stuff to wpa-psk-hex
13672                 - Add new widgets for wpa-psk-passphrase
13673
13674         * gnome/applet/wireless-security-manager.c
13675                 - (wsm_set_capabilities): enable WPA options
13676
13677         * gnome/applet/wso-wpa-psk-passphrase.c
13678                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13679                         for WPA-PSK passphrase
13680
13681 2006-01-08  Dan Williams  <dcbw@redhat.com>
13682
13683         * include/NetworkManager.h
13684                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13685                         applet/info-daemons
13686
13687         * gnome/applet/passphrase-dialog.c
13688                 - Use the constant.  Fixes a bug where the arguments to
13689                         dbus_message_new_error() were incorrect
13690
13691         * src/nm-dbus-nmi.c
13692                 - Use the constant
13693
13694 2006-01-07  Dan Williams  <dcbw@redhat.com>
13695
13696         * src/nm-device-802-11-wireless.c
13697                 - Add a link timeout so we allow the supplicant time to
13698                         reassociate if it can, before we deactivate the card
13699                 - Fix up link status and link updating so things work better
13700
13701 2006-01-07  Dan Williams  <dcbw@redhat.com>
13702
13703         * src/nm-device-802-11-wireless.c
13704                 - Switch over to using wpa_supplicant
13705                 - Add a timeout of 10s for association of the supplicant
13706                 - Start the monitor callback of the supplicant
13707
13708 2006-01-07  Dan Williams  <dcbw@redhat.com>
13709
13710         * src/NetworkManagerUtils.c
13711                 - (nm_utils_supplicant_request,
13712                   nm_utils_supplicant_request_with_check):
13713                         pass correct buffer length to wpa_ctrl_request()
13714
13715 2006-01-07  Dan Williams  <dcbw@redhat.com>
13716
13717         * src/nm-device-private.h
13718           src/nm-device.c
13719                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13720                         this function available to subclasses
13721
13722 2006-01-06  Robert Love  <rml@novell.com>
13723
13724         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13725           user plugging in a network cable signals their preference for to
13726           switch, unless the user explicitly selected a wireless network and
13727           therefore signaled their preference for said wireless network over
13728           wired.  In other words, do exactly what makes sense.
13729
13730 2006-01-06  Robert Love  <rml@novell.com>
13731
13732         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13733           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13734           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13735           showing up in my greps.
13736
13737 2006-01-06  Robert Love  <rml@novell.com>
13738
13739         * gnome/applet/applet-dbus-devices.c,
13740           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13741           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13742           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13743           New Network' both failed in the non-encrypted case because we were
13744           not appending the security options to the DBUS message.  And
13745           'Connect to Other' was also failing in the encrypted case because
13746           we were not incrementing to the next DBUS parameter.  All fixed.
13747           Thanks to dcdw for some debugging help.
13748
13749 2006-01-06  Robert Love  <rml@novell.com>
13750
13751         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13752           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13753           hangup code and add per-device hangup.  Tie last commit into the
13754           GNOME applet.  TODO:  Save, understand, and respond to the state of
13755           each dialup device.
13756
13757 2006-01-06  Robert Love  <rml@novell.com>
13758
13759         Patch by Timo Hoenig <thoenig@suse.de>:
13760         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13761           hangup specific dialup devices.
13762         * src/backends/NetworkManagerDebian.c,
13763           src/backends/NetworkManagerGentoo.c,
13764           src/backends/NetworkManagerRedHat.c,
13765           src/backends/NetworkManagerSlackware.c: Add stub backend.
13766         * src/backends/NetworkManagerRedHat.c,
13767           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13768           hangup specific dialup devices.
13769
13770 2006-01-04  Robert Love  <rml@novell.com>
13771
13772         * gnome/applet/applet-dbus-devices.c,
13773           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13774           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13775           connections.
13776
13777 2006-01-04  Dan Williams  <dcbw@redhat.com>
13778
13779         First dump of wpa_supplicant-related code.  It's not hooked up to
13780         anything yet though.  Thanks to Kay Sievers for
13781         wpa_supplicant_wrapper.c, which formed the basis for this work,
13782         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13783
13784         * src/Makefile.am
13785           src/wpa_ctrl.[ch]
13786                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13787
13788         * src/NetworkManagerUtils.[ch]
13789                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13790                         Add convenience functions for talking to wpa_supplicant
13791
13792         * src/nm-ap-security.[ch]
13793           src/nm-ap-security-wep.c
13794           src/nm-ap-security-wpa-psk.[ch]
13795                 - Update and implement real_write_supplicant_config functions
13796                         in all security types
13797                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13798                         nm-ap-security-wpa-psk.c
13799
13800         * src/nm-device-802-11-wireless.c
13801                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13802                    wpa_supplicant_start, wpa_supplicant_interface_init,
13803                    wpa_supplicant_send_network_config): add functions to talk to
13804                         wpa_supplicant and write network config to it
13805
13806 2006-01-04  Robert Love  <rml@novell.com>
13807
13808         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13809           values so that distribution-backends can differentiate between the
13810           various types (modem, ISDN, et cetera) of dialup device that they
13811           support.
13812         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13813           needed.
13814
13815 2006-01-03  Dan Williams  <dcbw@redhat.com>
13816
13817         * src/NetworkManagerPolicy.c
13818           src/nm-device.[ch]
13819           src/nm-device-802-11-wireless.c
13820                 - Move wireless-specific activation failure and success code
13821                         into wireless device class
13822
13823 2006-01-03  Robert Love  <rml@novell.com>
13824
13825         Patch by Preggna S:
13826         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13827           IPsec does not require that a VPN client be bound to an interface,
13828           due to the use of the in-kernel IPSec bits.  So make the tunnel
13829           device optional.
13830
13831 2006-01-03  Dan Williams  <dcbw@redhat.com>
13832
13833         * src/NetworkManagerAP.c
13834                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13835                         the WPA IE specifies that WEP is supported
13836
13837         * src/nm-device-802-11-wireless.c
13838                 - (process_scan_results): don't mark an AP as supporting WEP
13839                         if there's already other encryption capability info
13840
13841 2006-01-03  Dan Williams  <dcbw@redhat.com>
13842
13843         * src/dhcp-manager/nm-dhcp-manager.c
13844                 - Recognize activation cancellation when waiting for DHCP
13845                         configuration from dhcdbd
13846                 - Ignore non-dhcdbd messages
13847
13848         * src/nm-device.c
13849                 - (real_act_stage3_ip_config_start): return to correct behavior
13850                         of letting the dhcp-manager notify us of failure or
13851                         success rather than incorrectly doing that ourselves
13852                 - (nm_device_activate_stage4_ip_config_get): deal with
13853                         activation cancellation a bit earlier
13854
13855 2006-01-03  Dan Williams  <dcbw@redhat.com>
13856
13857         * src/nm-device-802-11-wireless.c
13858           src/nm-device.[ch]
13859                 - Add hooks to subclasses for stage3_ip_config_start and
13860                         stage4_ip_config_timeout
13861
13862         * src/nm-device-802-3-ethernet.c
13863                 - (real_get_generic_capabilities): make devices NM-supported
13864                         by default
13865
13866 2006-01-03  Robert Love  <rml@novell.com>
13867
13868         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13869           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13870           latter cannot differentiate between error and the address -1; misc.
13871           clean up.
13872
13873 2006-01-03  Dan Williams  <dcbw@redhat.com>
13874
13875         * src/NetworkManager.c
13876                 - Move link-checking/probing into the device subclasses
13877                         themselves
13878
13879         * src/nm-device.[ch]
13880           src/nm-device-802-11-wireless.c
13881           src/nm-device-802-3-ethernet.c
13882                 - Do periodic link checking in device subclasses rather
13883                         than being triggered from NetworkManager.c
13884                 - discover_wireless_capabilities -> get_wireless_capabilities
13885                 - discover_generic_capabilities -> get_generic_capabilities
13886                 - Device subclass activation routines now return a value of type
13887                         NMActStageReturn to indicate what step to perform next
13888                 - Devices now override stage4_get_ip4_config if they choose
13889
13890 2006-01-01  Dan Williams  <dcbw@redhat.com>
13891
13892         * src/nm-device-802-11-wireless.c
13893                 - (real_init): don't chain up to parent init because we don't
13894                         need to do that anymore
13895
13896         * src/nm-device.c
13897                 - (discover_device_type): fix arguments to ioctl() to correctly
13898                         pass interface name
13899                 - (nm_device_new): consolidate generic device initialization into
13900                         nm_device_new()
13901                 - (real_init): remove, consolidated to nm_device_new()
13902                 - (nm_device_deactivate, real_deactivate): consolidate
13903
13904 2006-01-01  Dan Williams  <dcbw@redhat.com>
13905
13906         * src/nm-activation-request.c
13907                 - Change dhcp_state member of the NMActRequest structure
13908                         from guint8 to guint32
13909
13910         * src/dhcp-manager/nm-dhcp-manager.[ch]
13911                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13912                         than guint8 to match the dbus argument.  Turns out we were
13913                         overwriting memory since we were passing in only a guint8
13914
13915 2005-12-31  Dan Williams  <dcbw@redhat.com>
13916
13917         * refactor NMDevice into a GObject-based framework with separate
13918                 objects for wired and wireless.  The following files are no
13919                 longer used but should stick around for a bit so we don't
13920                 loose code through the cracks:
13921                         NetworkManagerDevice.c
13922                         NetworkManagerDevice.h
13923                         NetworkManagerWireless.c
13924                         NetworkManagerWireless.h
13925
13926         The intent here is to allow each device type to manage its own
13927         connection & activation life-cycle, ie to allow wireless devices
13928         to interface with wpa_supplicant, etc.  There's a fair bit of
13929         encapsulation breakage right now that should gradually get pulled
13930         back into each device, along with things like periodic property
13931         updates and link probing.
13932
13933 2005-12-29  Dan Williams  <dcbw@redhat.com>
13934
13935         * include/NetworkManager.h
13936                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
13937                         between networks that don't have any encryption at all
13938
13939 2005-12-29  Dan Williams  <dcbw@redhat.com>
13940
13941         * test/test-common.c
13942           test/test-common.h
13943           test/Makefile.am
13944                 - Move to a test-common subdirectory
13945
13946         * test/libnm-util/test-ciphers.c
13947                 - Move test data to test-inputs.h
13948                 - Test WPA ciphers too
13949
13950         * test/libnm-util/test-dbus-helpers.c
13951                 - Test serialization/deserialization of ciphers
13952
13953 2005-12-29  Dan Williams  <dcbw@redhat.com>
13954
13955         * gnome/applet/applet-dbus-devices.c
13956                 - Replace 'enc' parameter with 'capabilities' for wireless networks
13957                         in dbus calls to NM
13958                 - Set capabilities on WirelessNetwork objects
13959                 - Receive and save type-specific device capabilities too
13960
13961         * gnome/applet/applet-dbus-info.c
13962           gnome/applet/applet-dbus.c
13963                 - Passphrase dialog no longer a singleton; new instance gets created
13964                         on each request.  Updates to deal with that.
13965
13966         * gnome/applet/applet.c
13967                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
13968                         than single 'encrypted' flag
13969                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
13970                         menu items
13971                 - Passphrase dialog updates per above
13972
13973         * gnome/applet/menu-items.c
13974                 - (network_menu_item_update): use AP capabilities to determine
13975                         encryption
13976
13977         * gnome/applet/nm-device.[ch]
13978                 - Add accessors for type-specific device capabilities
13979
13980         * gnome/applet/other-network-dialog.c
13981                 - Rework to respect device capabilities.  i.e., if the device doesn't
13982                         support WPA, remove that option from the security dropdown
13983
13984         * gnome/applet/passphrase-dialog.c
13985                 - Massive rework so that a new instance is created each time
13986                         it's used, to support wireless network capabilities
13987
13988         * gnome/applet/wireless-network.[ch]
13989                 - Add accessors and members for wireless network capabilities
13990
13991         * gnome/applet/wireless-security-manager.[ch]
13992                 - (wsm_set_capabilities): called after creation to set which
13993                         security options get shown to the user
13994
13995 2005-12-29  Dan Williams  <dcbw@redhat.com>
13996
13997         * libnm-util/cipher-wpa-psk-passphrase.c
13998                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
13999                         like other ciphers
14000
14001 2005-12-23  Dan Williams  <dcbw@redhat.com>
14002
14003         * gnome/applet/applet-dbus-info.c
14004                 - (nmi_dbus_get_key_for_network): if there's no entry in
14005                         GConf for a network, assume we want a new key
14006                 - (nmi_save_network_info): serialize wireless security info
14007                         into GConf so its saved
14008
14009         * src/nm-dbus-nm.c
14010                 - Fix warning as we may not be passed security info when
14011                         connecting to a wireless network
14012
14013 2005-12-23  Dan Williams  <dcbw@redhat.com>
14014
14015         * gnome/applet/applet-compat.c
14016                 - Fix bugs in GConf entry conversion
14017
14018         * gnome/applet/applet-dbus-info.c
14019                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14020                         list being zero-length
14021
14022         * libnm-util/cipher-*
14023           libnm-util/dbus-helpers.c
14024                 - All ciphers must now return hashed keys as UTF-8 valid
14025                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14026                         through dbus as strings too.
14027                 - Consolidate various functions that do bin->hex and hex->bin
14028                         conversion into cipher.c
14029
14030         * src/nm-ap-security-wep.c
14031           src/nm-ap-security-wpa-psk.c
14032                 - Handle NULL keys since we may not know keys right away
14033
14034         * src/nm-dbus-nmi.c
14035                 - (nm_dbus_get_network_data_cb): actually advance to the start
14036                         of the wireless security info before we try to deserialize it
14037
14038         * libnm-util/test-ciphers.c
14039                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14040
14041 2005-12-22  Dan Williams  <dcbw@redhat.com>
14042
14043         * gnome/applet/applet-compat.[ch]
14044                 - Convert old-format GConf and keyring entries
14045                         when the applet starts up.
14046
14047         * gnome/applet/applet.c
14048                 - (nmwa_get_instance): Call the conversion function
14049                         on startup before dbus is initialized
14050
14051 2005-12-22  Dan Williams  <dcbw@redhat.com>
14052
14053         * gnome/applet/applet-dbus-info.c
14054                 - Remove nmi_dbus_create_error_message() in favor of
14055                         nmu_create_dbus_error_message()
14056                 - (nmi_dbus_get_network_properties): Error message cleanups
14057                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14058                         gconf key rather than 'addresses', since they really are BSSIDs
14059                 - (nmi_dbus_get_network_properties): Dispose of the security
14060                         object when we're done with it
14061
14062 2005-12-21  Dan Williams  <dcbw@redhat.com>
14063
14064         * Consolidate the info-daemon's "updateNetworkInfo" and
14065                 "addNetworkAddress" calls into just "updateNetworkInfo"
14066
14067 2005-12-21  Dan Williams  <dcbw@redhat.com>
14068
14069         * Make connection after key retrieval work again
14070
14071 2005-12-21  Dan Williams  <dcbw@redhat.com>
14072
14073         * gnome/applet/nm-gconf-wso*
14074                 - Make the serialize functions return gboolean
14075                         rather than int
14076
14077         * gnome/applet/nm-gconf-wso.c
14078                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14079                         parent class handling so we don't segfault
14080
14081         * src/NetworkManagerAP.[ch]
14082                 - (nm_ap_get_capabilities): new function, return capabilities
14083                         now that something can use them
14084                 - (nm_ap_set_encrypted): assume that an access point supports
14085                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14086                         we even tell whether it just supports WEP40?
14087
14088         * src/NetworkManagerDevice.c
14089                 - (ap_need_key): resurrect and update for the New World Order
14090                 - (nm_device_wireless_get_activation_ap): if we're not given
14091                         security info to use, create some based on access point
14092                         capabilities
14093
14094         * src/nm-ap-security-wep.c
14095                 - (nm_ap_security_wep_new_from_ap): create a new object
14096                         based on a certain access point's capabilities
14097
14098         * src/nm-ap-security.c
14099                 - (nm_ap_security_new_from_ap): delegate creation of a new
14100                         object based on access point capabilities to a subclass
14101                 - (nm_ap_security_copy_properties): don't segfault if we
14102                         don't have a key yet
14103
14104         * src/nm-dbus-nm.c
14105                 - (nm_dbus_nm_set_active_device): provide more informative
14106                         output when errors occur.  Also construct security info
14107                         for a given access point if we weren't given any
14108
14109 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14110
14111         * configure.in: Added Lithuanian to ALL_LINGUAS.
14112
14113 2005-12-21  Dan Williams  <dcbw@redhat.com>
14114
14115         * test/libnm-util
14116                 - Add some testcases for WEP ciphers
14117
14118 2005-12-17  Dan Williams  <dcbw@redhat.com>
14119
14120         * Fix bugs
14121
14122 2005-12-17  Dan Williams  <dcbw@redhat.com>
14123
14124         * include/NetworkManager.h
14125                 - Finally kill NMEncKeyType
14126
14127         * gnome/applet/applet-dbus-info.c
14128                 - (nmi_save_network_info): convert to NMGConfWSO
14129
14130         * gnome/applet/nm-gconf-wso-*.c
14131                 - Implement gconf serialization functions
14132
14133         * src/NetworkManagerPolicy.c
14134                 - (nm_policy_activation_finish): fix up meaning of
14135                         automatic/user_requested
14136
14137 2005-12-17  Dan Williams  <dcbw@redhat.com>
14138
14139         * gnome/applet/*
14140                 - More applet cleanups
14141                 - Use the dbus-method-dispatcher
14142
14143         * libnm-util/dbus-method-dispatcher.[ch]
14144                 - Generalize the implementation from NM in
14145                         NetworkManagerUtils.c
14146
14147 2005-12-16  Dan Williams  <dcbw@redhat.com>
14148
14149         * gnome/applet/*
14150                 - Fix up the passphrase dialog to use all the
14151                         WirelessSecurityOption stuff (untested)
14152
14153 2005-12-16  Dan Williams  <dcbw@redhat.com>
14154
14155         * Move nm_gconf_get_*_helper() functions to separate files,
14156                 gconf-helpers.c & gconf-helpers.h
14157
14158         * New NMGConfWSO objects for managing the gconf side of things.
14159                 Eventually these should be merged with the
14160                 WirelessSecurityOption objects and a common base (that can
14161                 serialize/deserialize from dbus & gconf) should be
14162                 refactored out, but for now they are separate.
14163
14164 2005-12-16  Robert Love  <rml@novell.com>
14165
14166         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14167           binaries unless they exist (nm_spawn_process() emits a warning if
14168           asked to spawn a non-existant process).
14169
14170 2005-12-16  Dan Williams  <dcbw@redhat.com>
14171
14172         * gnome/applet/applet-dbus-info.c
14173                 - Clean up lots of gconf-related code
14174
14175 2005-12-16  Robert Love  <rml@novell.com>
14176
14177         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14178
14179 2005-12-16  Dan Williams  <dcbw@redhat.com>
14180
14181         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14182
14183         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14184                 bits still to be done)
14185
14186 2005-12-16  Dan Williams  <dcbw@redhat.com>
14187
14188         * Finally move info-daemon related stuff out of
14189                 NetworkManagerDbus.c to nm-dbus-nmi.c
14190
14191 2005-12-16  Dan Williams  <dcbw@redhat.com>
14192
14193         * Kill auth_method for access points, since that's now done
14194                 by NMAPSecurity objects
14195
14196         * Add a copy-constructor of sorts to NMAPSecurity
14197                 (how do you do this properly in glib???)
14198
14199 2005-12-15  Dan Williams  <dcbw@redhat.com>
14200
14201         * Exorcise encryption key hashing on APs
14202         * Use libnm-util's serialization/deserialization in both the
14203                 applet and NM
14204         * Random other stuff
14205
14206 2005-12-15  Robert Love  <rml@novell.com>
14207
14208         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14209           is being added to the icon naming spec, so let's use that (Tango CVS
14210           has the icon).  Because it is new, however, we fall back to the
14211           current "gnome-lockscreen" if the new icon is not around, thus
14212           behavior is the same.
14213         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14214           factory junk.
14215
14216 2005-12-15  Robert Love  <rml@novell.com>
14217
14218         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14219           well, help to give.  Couple other misc. bits.
14220
14221 2005-12-15  Dan Williams  <dcbw@redhat.com>
14222
14223         * libnm-util/dbus-helpers.[ch]
14224                 - Make this the one-stop-shop for serializing/deserializing
14225                         AP & connection security settings over dbus.  Both NM
14226                         and applets should use this to ensure consistent dbus
14227                         API going forwared.
14228
14229 2005-12-15  Robert Love  <rml@novell.com>
14230
14231         Patch by Timo Hoenig  <thoenig@suse.de>:
14232         * src/NetworkManagerDbus.c
14233                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14234                         if HAL jumps off the system bus.  Otherwise libdbus
14235                         (dbus_connection_dispatch) will try to run the filter
14236                         function of our libhal context which is already freed.
14237
14238 2005-12-15  Alexander Shopov  <ash@contact.bg>
14239
14240         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14241
14242 2005-12-14  Dan Williams  <dcbw@redhat.com>
14243
14244         * include/NetworkManager.h
14245           src/NetworkManagerWireless.c
14246                 - Rearrange 802.11 wireless-specific capabilities again
14247
14248         * src/Makefile.am
14249                 - Forgot to add wpa.c/wpa.h to the makefiles
14250
14251         * src/NetworkManagerAP.[ch]
14252                 - Implement access point capabilities and parse the
14253                         WPA/RSN IEs into the capability bitfield
14254                 - Switch the "encrypted" attribute to utilize the bitfield
14255                         and capabilities rather than being independent
14256
14257         * src/NetworkManagerDevice.c
14258                 - (nm_device_wireless_get_activation_ap): break it horribly
14259                         until we can push NMAPSecurity objects into access point
14260                         objects and through the activation chain
14261                 - Stuff WPA & RSN IEs into AP capabilities
14262
14263         * src/nm-dbus-nm.c
14264                 - Take a shot at actually making setActiveDevice work
14265
14266         * src/wpa.[ch]
14267                 - Make the API a bit saner
14268
14269 2005-12-14  Dan Williams  <dcbw@redhat.com>
14270
14271         * include/NetworkManager.h
14272                 - Add 802.11-specific capability for 802.1x key
14273                         management
14274
14275         * src/wpa.[ch]
14276                 - Pull in WPA IE and RSN IE parsing code from
14277                         wpa_supplicant so we can determine access point
14278                         capabilities
14279                 - Move WPA-related constants here from NetworkManagerAP.h
14280                         and NetworkManagerDevice.c
14281
14282         * src/NetworkManagerDevice.c
14283           src/NetworkManagerAP.[ch]
14284                 - Use WPA-related constants from wpa.h
14285
14286 2005-12-14  Dan Williams  <dcbw@redhat.com>
14287
14288         * include/NetworkManager.h
14289                 - Update and split 802.11 wireless-specific capabilities from
14290                         generic device capabilities
14291
14292         * src/NetworkManagerDevice.c
14293           src/NetworkManagerDevicePrivate.h
14294                 - (nm_device_wireless_discover_capabilities): Move 802.11
14295                         wireless-specific capability checks to
14296                         NetworkManagerWireless.c
14297                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14298                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14299
14300         * src/NetworkManagerWireless.[ch]
14301                 - (nm_802_11_wireless_discover_capabilities): Check extended
14302                         802.11 wireless-specific capabilities of the driver
14303
14304 2005-12-14  Robert Love  <rml@novell.com>
14305
14306         Patch from Stefan Scheler <sscheler@suse.de>:
14307         * src/NetworkManagerDevice.c: call backend code to activate and
14308           deactivate NIS.
14309         * src/NetworkManagerSystem.h: add new NIS interfaces.
14310         * src/backends/NetworkManagerDebian.c,
14311           src/backends/NetworkManagerGentoo.c,
14312           src/backends/NetworkManagerRedHat.c,
14313           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14314           support.
14315         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14316
14317 2005-12-14  Dan Williams  <dcbw@redhat.com>
14318
14319         * src/nm-ap-security*.[ch]
14320                 - Add AP security abstractions to NetworkManager
14321
14322         * src/nm-dbus-device.c
14323                 - Begin to parse new format dbus messages from the applet
14324                         and construct an AP security object from the message
14325
14326         * libnm-util/dbus-helpers.c
14327                 - Use message iters so we can append the key as a fixed
14328                         array of bytes, which actually works rather than
14329                         using dbus_message_append_args() as we were before
14330
14331 2005-12-14  Dan Williams  <dcbw@redhat.com>
14332
14333         * src/NetworkManagerDbus.c
14334           gnome/applet/applet-dbus.c
14335                 - Fix up dbus service replacement options.  The applet
14336                         should allow replacement, NM itself should not.
14337
14338 2005-12-13  Robert Love  <rml@novell.com>
14339
14340         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14341           Instead, fail silently if config is NULL by not asserting and not
14342           returning FALSE.  Also, make sure we always fclose() the file.
14343
14344 2005-12-13  Robert Love  <rml@novell.com>
14345
14346         Patch by Stefan Scheler <sscheler@suse.de>:
14347         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14348            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14349            via DHCP.  Still need the backends to commit the NIS domain name and
14350            and servers to yp.conf as needed.
14351
14352 2005-12-13  Robert Love  <rml@novell.com>
14353
14354         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14355           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14356
14357 2005-12-13  Robert Love  <rml@novell.com>
14358
14359         * src/named-manager/nm-named-manager.c: Don't unref the config until
14360           after we call rewrite_resolv_conf(), because get_last_default_domain()
14361           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14362           `config != NULL' failed" assertion failures and "Could not commit DNS
14363           changes" warnings.
14364
14365 2005-12-12  Dan Williams  <dcbw@redhat.com>
14366
14367         * libnm-util/dbus-helpers.[ch]
14368           libnm-util/Makefile.am
14369                 - new helper calls to consolidate locations where
14370                         NM's setDevice method is called
14371
14372         * gnome/applet/applet-dbus-devices.c
14373           gnome/applet/wireless-security-option.c
14374           gnome/applet/wso-*
14375                 - Implement dbus message param append function for
14376                         all wireless security options
14377
14378 2005-12-12  Robert Love  <rml@novell.com>
14379
14380         * libnm-util/cipher-wep-passphrase.c,
14381           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14382           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14383           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14384           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14385           When handling keys, we don't care what the sign is.  The compiler
14386           guarantees us that we get our 8-bits, which is all we care about.
14387         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14388
14389 2005-12-12  Dan Williams  <dcbw@redhat.com>
14390
14391         * gnome/applet/applet-dbus-devices.[ch]
14392           gnome/applet/applet.c
14393           gnome/applet/other-network-dialog.c
14394           gnome/applet/wireless-security-manager.[ch]
14395           gnome/applet/wireless-security-option.[ch]
14396           gnome/applet/wso-*
14397                 - Push the wireless security options further into the applet
14398
14399 2005-12-12  Robert Love  <rml@novell.com>
14400
14401         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14402           return any name servers.  That is perfectly valid.  (Novell #134369).
14403
14404 2005-12-11  Dan Williams  <dcbw@redhat.com>
14405
14406         * gnome/applet/wso-*
14407           gnome/applet/wireless-security-option.*
14408           gnome/applet/Makefile.am
14409                 - split each security option out so we can eventually
14410                         have each one build up their own dbus message
14411                         arguments to send to NM
14412
14413 2005-12-11  Dan Williams  <dcbw@redhat.com>
14414
14415         * Make validation of the key work correctly
14416
14417 2005-12-11  Dan Williams  <dcbw@redhat.com>
14418
14419         * Hook more bits of the Other Network Dialog up to the
14420                 wireless security manager stuff, and restructure
14421                 bits of the dialog so there's less code.
14422
14423 2005-12-10  Dan Williams  <dcbw@redhat.com>
14424
14425         * gnome/applet/Makefile.am
14426                 - Add libnm-util to includes
14427                 - Add libnm-util to link list
14428                 - Add wireless-security-common.* to compile list
14429
14430         * gnome/applet/other-network-dialog.c
14431                 - Convert to using the WirelessSecurityManager code and
14432                         widgets
14433
14434         * gnome/applet/passphrase-dialog.c
14435                 - Comment out references to stuff in the glade file that
14436                         cause runtime errors until it can be fixed up
14437                         to use the WirelessSecurityManager code
14438
14439         * gnome/applet/wireless-applet.glade
14440                 - Rename some widgets
14441                 - Add widgets for the WirelessSecurityManager code
14442                 - Remove passphrase-related stuff since that's now
14443                         handled by the WirelessSecurityManager code
14444
14445 2005-12-10  Dan Williams  <dcbw@redhat.com>
14446
14447         * gnome/applet/applet-dbus-devices.c
14448                 - Print out error message details for dbus pending call callbacks
14449                 - Move nmwa_dbus_update_devices() up
14450
14451         * gnome/applet/applet-dbus-vpn.c
14452                 - Print out error message details for dbus pending call callbacks
14453
14454 2005-12-10  Dan Williams  <dcbw@redhat.com>
14455
14456         * libnm-util/*
14457                 - More fixups
14458                 - Remove cipher-manager.* because we don't need it
14459                 - Forgot to add gnome-keyring-md5 files to compile list
14460
14461 2005-12-09  Dan Williams  <dcbw@redhat.com>
14462
14463         * libnm-util/*
14464           configure.in
14465           Makefile.am
14466                 - Add a utility library for clients of NetworkManager.  It's
14467                         only targetted at applets for the moment, and contains
14468                         a generalized 802.11 cipher framework for different
14469                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14470
14471 2005-12-09  Robert Love  <rml@novell.com>
14472
14473         * src/NetworkManagerDevice.c: handle error better in
14474           nm_device_set_mode().
14475
14476 2005-12-08  Robert Love  <rml@novell.com>
14477
14478         * include/NetworkManager.h: add WPA capabilities constants
14479         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14480           or WPA2 and add the capabilities bits as appropriate.
14481
14482 2005-12-08  Robert Love  <rml@novell.com>
14483
14484         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14485           NetworkManagerDispatcher.
14486         * configure.in, initscript/SUSE/.cvsignore,
14487           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14488           initscript.
14489
14490 2005-12-08  Robert Love  <rml@novell.com>
14491
14492         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14493
14494 2005-12-08  Robert Love  <rml@novell.com>
14495
14496         * src/NetworkManagerDevice.c: We want to fall back on and default to
14497           IW_MODE_AUTO, not -1, which is more in line with our previous
14498           behavior.  Otherwise, we try to set the wireless mode to -1 in
14499           nm_device_set_mode().
14500
14501 2005-12-07  Robert Love  <rml@novell.com>
14502
14503         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14504           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14505           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14506           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14507           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14508           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14509           zero.
14510
14511 2005-12-07  Robert Love  <rml@novell.com>
14512
14513         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14514           supplied IP is invalid, fall back to DHCP.
14515
14516 2005-12-07  Dan Williams  <dcbw@redhat.com>
14517
14518         * Convert NETWORK_MODE_* constants to IW_MODE_*
14519         * Make all the get_mode/set_mode functions take and return 'int'
14520         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14521
14522 2005-12-07  Robert Love  <rml@novell.com>
14523
14524         * src/NetworkManagerDevice.c: strncpy() buffer check.
14525         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14526
14527 2005-12-06  Dan Williams  <dcbw@redhat.com>
14528
14529         * gnome/applet/applet-dbus.c
14530                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14531
14532         * gnome/applet/applet-dbus-vpn.c
14533                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14534                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14535                         to TRUE here if stage was ACTIVATED
14536
14537 2005-12-06  Dan Williams  <dcbw@redhat.com>
14538
14539         * Change nm_device_is_* functions to better names:
14540                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14541                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14542
14543 2005-12-06  Dan Williams  <dcbw@redhat.com>
14544
14545         * Change naming of NMDeviceType to something more sensible:
14546                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14547                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14548                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14549
14550 2005-12-06  Dan Williams  <dcbw@redhat.com>
14551
14552         * Move NetworkManager.h -> include/NetworkManager.h
14553         * Split out VPN stuff into include/NetworkManagerVPN.h
14554         * Fix up makefiles to include new location
14555         * Fix up sources to include NetworkManagerVPN.h
14556
14557 2005-12-06  Dan Williams  <dcbw@redhat.com>
14558
14559         Various changes in the applet to move VPN connection "state" -> "stage",
14560         which it actually is.  I'd like to change the signal as well when we
14561         break compat in the near future.
14562
14563 2005-12-06  Dan Williams  <dcbw@redhat.com>
14564
14565         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14566         * initscript/Slackware/rc.networkmanager
14567                 - Cosmetic fix
14568
14569         * src/backends/NetworkManagerSlackware.c
14570                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14571                         interfaces
14572
14573 2005-12-05  Robert Love  <rml@novell.com>
14574
14575         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14576           to free, particularly here as it just barfs.
14577
14578 2005-12-05  Dan Williams  <dcbw@redhat.com>
14579
14580         * gnome/applet/applet-dbus.c
14581                 - Work with dbus 0.6 too
14582
14583 2005-12-03  Dan Williams  <dcbw@redhat.com>
14584
14585         * src/NetworkManagerUtils.[ch]
14586           src/nm-ip4-config.c
14587                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14588                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14589
14590 2005-12-01  Robert Love  <rml@novell.com>
14591
14592         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14593           need a NULL for the '...' parameter, too, to fill the so-called
14594           sentinel.
14595
14596 2005-12-01  Robert Love  <rml@novell.com>
14597
14598         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14599           interface is already gone, so don't call rtnl_link_change() to down
14600           it (which will segfault, anyhow).
14601
14602 2005-11-22  Robert Love  <rml@novell.com>
14603
14604         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14605           gateway is not set, just print a little note.  Configurations without
14606           gateways are valid.
14607
14608 2005-11-22  Robert Love  <rml@novell.com>
14609
14610         * README: update
14611
14612 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14613
14614         * configure.in: Added Finnish translation to ALL_LINGUAS
14615
14616 2005-11-14  Robert Love  <rml@novell.com>
14617
14618         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14619           Niemueller <tim@niemueller.de>.
14620
14621 2005-11-08  Dan Williams  <dcbw@redhat.com>
14622
14623         Patch from Bill Moss <bmoss@clemson.edu>
14624         * src/NetworkManagerDevice.c
14625                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14626                         of nm_policy_schedule_activation_finish() to prevent a
14627                         race condition that causes the link to be dropped
14628
14629 2005-11-08  Dan Williams  <dcbw@redhat.com>
14630
14631         Patch from Bill Moss <bmoss@clemson.edu>
14632         * src/NetworkManagerAPList.c
14633           src/NetworkManagerDevice.c
14634           src/NetworkManagerDbus.c
14635                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14636                         we get more readable ether/mac addresses
14637
14638 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14639
14640         * gnome/applet/main.c: Don't set the restart command.  This fixes
14641         the issue where the restart command was getting copies of all its
14642         arguments for each time the applet was restarted.
14643
14644 2005-11-02  Robert Love  <rml@novell.com>
14645
14646         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14647           if the widget state differs from our saved state.  This ensures we
14648           do not enter an endless loop of death and destruction.  Also, this
14649           guarantees us that we enforce the widget state.
14650
14651 2005-11-02  Robert Love  <rml@novell.com>
14652
14653         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14654         * gnome/applet/applet-dbus-devices.c: invoke the new function
14655           nmwa_enable_wireless_set_active() to ensure that the state of the
14656           'Enable Wireless' checkbox matches the daemon's state.  This is a
14657           concern because the daemon remembers the state.
14658
14659 2005-11-02  Robert Love  <rml@novell.com>
14660
14661         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14662           Enabled", as checkboxes should be actions/commands not positive
14663           statements, otherwise they are confusing in the unselected case.  See
14664           examples in GNOME HIG, Chapter 6.
14665
14666 2005-11-02  Robert Love  <rml@novell.com>
14667
14668         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14669           show a list of wireless networks or the wireless devices or the
14670           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14671           a bad bug: If wireless is disabled and the user picks a wireless
14672           network, NM will switch to the network, only to immediately switch
14673           back, as wireless is disabled.  This also reassures people that NM
14674           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14675
14676 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14677
14678         * gnome/applet/applet.c:
14679         * gnome/applet/applet.h:
14680         Partial backout of Dan's timeout animation patch.
14681         Timeout IDs cannot legally be 0, so revert the code in place to handle
14682         a timeout ID of 0 to denote the timeout isn't running.
14683
14684 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14685
14686         * src/NetworkManagerPolicy.c:
14687         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14688
14689 2005-10-28  Robert Love  <rml@novell.com>
14690
14691         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14692           "Import Saved Configuration..." to make it clear that importing is
14693           not the next step, but an option.  As an aside, a nice TODO would be
14694           to move Importing out of the vpn-specific dialog and into the main
14695           property editor, as Importing goes with Adding, but that will require
14696           some rearchitecting of the VPN stuff I suspect.
14697
14698 2005-10-27  Dan Williams  <dcbw@redhat.com>
14699
14700         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14701         we should replace most of the distro-specific backend code
14702         with libnl stuff.
14703
14704         Get it here:  http://people.suug.ch/~tgr/libnl/
14705
14706         * configure.in
14707           src/Makefile.am
14708                 - Add checks for libnl pkgconfig file
14709                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14710
14711         * src/NetworkManagerSystem.c
14712           src/nm-ip4-config.[ch]
14713                 - Use libnl rather than ioctl() for most things
14714                 - Remove unused functions
14715
14716 2005-10-27  Robert Love  <rml@novell.com>
14717
14718         * src/backends/NetworkManagerSuSE.c: fix warning message text
14719
14720 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14721
14722         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14723
14724 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14725
14726         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14727         project page <http://www.gnome.org/projects/NetworkManager/>
14728
14729 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14730
14731         * gnome/applet.c: Also use translator credits if we don't have
14732         the new GtkAboutDialog (older versions of GTK+)
14733
14734 2005-10-26  Robert Love  <rml@novell.com>
14735
14736         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14737           failure; correct usage text for "--no-daemon"
14738
14739 2005-10-25  Dan Williams  <dcbw@redhat.com>
14740
14741         * src/NetworkManagerDevice.c
14742                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14743                         no scan results
14744                 - (free_process_scan_cb_data): unref the device when freeing results
14745                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14746                         so we don't unref the device underneath ourselves
14747
14748 2005-10-25  Dan Williams  <dcbw@redhat.com>
14749
14750         * Back out 2005-10-24 commit from Tor Krill.  Patch
14751                 causes nameservers never to be removed from named.
14752
14753 2005-10-24  Dan Williams  <dcbw@redhat.com>
14754
14755         Clean up wireless scanning and wireless link probing.
14756
14757         * src/NetworkManagerDevice.c
14758                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14759                         just see if there's an activation request on the device, and check the
14760                         current link against the activation request access point's ESSID.
14761                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14762                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14763                         don't call process_scan_results() on zero-length data
14764                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14765                         15 seconds (from 10)
14766
14767 2005-10-24  Dan Williams  <dcbw@redhat.com>
14768
14769         Cleanup some applet stuff:
14770
14771         - Animation timeouts.  If NM died while the applet was animating,
14772                 the applet would not hide itself.  This is now fixed.
14773
14774         - Remove some dead code
14775
14776         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14777                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14778
14779         - Track animation timeout using a gboolean rather than the timeout's
14780                 ID, since timeout IDs can legally be 0.
14781
14782 2005-10-24  Dan Williams  <dcbw@redhat.com>
14783
14784         * src/backends/interface_parser.c
14785                 - Add void to function declarations that need it
14786                         to match patch from Engin AYDOGAN
14787
14788         * src/backends/interface_parser.h
14789                 - Remove unused prototype for ifparser_interfaces()
14790
14791         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14792         * src/backends/interface_parser.h:
14793                 - Compile fixes for gcc 4.0.2 (add void)
14794
14795 2005-10-24  Dan Williams  <dcbw@redhat.com>
14796
14797         Patch from Tor Krill <tor@krill.nu>
14798         * src/named-manager/nm-named-manager.c
14799                 - Write more than just the first nameserver to /etc/resolv.conf
14800                 - Write out valid /etc/resolv.conf on exit
14801
14802 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14803
14804         * gnome/applet/applet-dbus-vpn.c:
14805         Get rid of spurious newlines in debug console output
14806
14807 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14808
14809         * src/backends/NetworkManagerGentoo.c:
14810         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14811
14812 2005-10-20  Robert Love  <rml@novell.com>
14813
14814         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14815           direct comparison of floating point values, which is never correct.
14816           Also some misc. cleanup.
14817
14818 2005-10-19  Robert Love  <rml@novell.com>
14819
14820         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14821
14822 2005-10-19  Robert Love  <rml@novell.com>
14823
14824         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14825           sensitivity of the buttons.  Specificaly, do the right thing if
14826           there are no entries.
14827
14828 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14829
14830         * configure.in: Update check for adequate wireless-tools
14831         with an AC_TRY_COMPILE for the new symbols we use.
14832
14833 2005-10-19  Dan Williams  <dcbw@redhat.com>
14834
14835         * src/NetworkManagerDevice.c
14836                 - (process_scan_results): don't drop the last (or only)
14837                         access point we see
14838
14839 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14840
14841         * src/backends/NetworkManagerSlackware.c:
14842         Patch from Nico <lordllucifer@gmail.com>
14843                 - Update the Slackware backend.
14844
14845 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14846
14847         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14848         if we've got GLib 2.8.0
14849
14850 2005-10-18  Robert Love  <rml@novell.com>
14851
14852         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14853           function nm_schedule_state_change_signal_broadcast() when we
14854           deactivate a device, too.
14855
14856 2005-10-18  Robert Love  <rml@novell.com>
14857
14858         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14859           be used uninitialized.
14860
14861 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14862
14863         * test/libnm_glib_test.c: Test unregistering, too.
14864
14865 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14866
14867         * configure.in: Bump to 0.5.0
14868
14869 2005-10-17  Dan Williams  <dcbw@redhat.com>
14870
14871         * NetworkManager.h
14872                 - Remove WPA-related constants so they aren't part of the
14873                         upcoming release.
14874
14875 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14876
14877         * gnome/applet/applet.c:
14878         * gnome/applet/applet.h:
14879         Desensitize the 'Connection Information' menu item when there is
14880         no active connection.
14881
14882 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14883
14884         * gnome/libnm_glib/libnm_glib.c:
14885         Make libnm_glib_unregister_callback () actually unregister the callback
14886
14887 2005-10-17  Robert Love  <rml@novell.com>
14888
14889         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14890           two seconds -- tries is updated every 1/10 of a second, not every
14891           second..
14892
14893 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14894
14895         * gnome/applet/applet-dbus-info.c:
14896         Let D-BUS know that we haven't handled a message when we haven't.
14897
14898 2005-10-17  Robert Love  <rml@novell.com>
14899
14900         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14901           in order to remain 64-bit clean.
14902
14903 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14904
14905         * gnome/applet/applet-dbus-info.c:
14906         Find network encryption keys asynchronously
14907
14908 2005-10-17  Robert Love  <rml@novell.com>
14909
14910         * src/backends/NetworkManagerDebian.c,
14911           src/backends/NetworkManagerRedHat,
14912           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14913           comment delimiter.
14914
14915 2005-10-17  Robert Love  <rml@novell.com>
14916
14917         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14918           "/etc"
14919
14920 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14921
14922         * src/NetworkManagerDevice.c: (process_scan_results)
14923         Fix logic that checks to see whether we have an ESSID.
14924
14925 2005-10-15  Dan Williams  <dcbw@redhat.com>
14926
14927         Move scanning code into NetworkManager rather than use iwlib's
14928         iw_scan() function, so that we can figure out AP capabilities.
14929
14930         * NetworkManager.h
14931                 - Add AP capability bits
14932
14933         * src/NetworkManagerAP.[ch]
14934                 - Add capability field to NMAccessPoint structure
14935                 - Add WPA & RSN Information Element fields and accessor
14936                         functions to NMAccessPoint
14937
14938         * src/NetworkManagerDevice.c
14939                 - Remove usage of iw_scan
14940                 - Add scanning code to NetworkManager rather than use
14941                         iw_scan() from iwlib
14942
14943         * src/NetworkManagerUtils.[ch]
14944                 - (nm_dispose_scan_results): remove, unused
14945
14946 2005-10-14  Christopher Aillon  <caillon@redhat.com>
14947
14948         * gnome/libnm_glib/libnm_glib.c:
14949         * gnome/libnm_glib/libnm_glib.h:
14950         Use guint instead of gint for callback IDs.
14951
14952 2005-10-12  Christopher Aillon  <caillon@redhat.com>
14953
14954         * gnome/applet/applet.c:
14955         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
14956         every 1000ms.  It will unconditionally call nmwa_update_state which
14957         kills the existing animation timeout and registers a new one with a
14958         callback to draw a new frame every 100ms.  There are 11 connecting
14959         icon frames, so the last 2 frames kept getting dropped.  Only reset
14960         the animation timeout if we aren't animating.
14961
14962 2005-10-11  Dan Williams  <dcbw@redhat.com>
14963
14964         * gnome/applet/applet-dbus-devices.c
14965                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
14966                         We want to grab the product & vendor from net.physical_dev
14967                         rather than info.parent.
14968
14969 2005-10-11  Dan Williams  <dcbw@redhat.com>
14970
14971         * src/NetworkManagerDevice.c
14972                 - Use the driver's WE version for scanning rather than
14973                         the WE version NM was compiled with.  Fixes random
14974                         crashes in iw_scan () in iwlib.
14975
14976 2005-10-10  Dan Williams  <dcbw@redhat.com>
14977
14978         * Remove nm_system_load_device_modules() from backend files
14979                 and from NetworkManager.c
14980
14981 2005-10-10  Dan Williams  <dcbw@redhat.com>
14982
14983         * src/NetworkManagerPolicy.c
14984                 - Fix some bugs introduced by the capabilities patch
14985
14986 2005-10-10  Dan Williams  <dcbw@redhat.com>
14987
14988         * gnome/applet/applet-dbus-info.c
14989                 - (nmi_dbus_get_network_key): hide the menu when putting up
14990                         the keyring dialog.  (not sure if the code is right...)
14991
14992 2005-10-09  Dan Williams  <dcbw@redhat.com>
14993
14994         Patch from Bill Moss <bmoss@clemson.edu>
14995         * src/NetworkManagerDevice.c
14996                 - (nm_device_set_user_key_for_network): don't try to set auth
14997                         mode on the AP from the allowed list if it's NULL
14998
14999 2005-10-09  Dan Williams  <dcbw@redhat.com>
15000
15001         * Replace the "driver support level" stuff with capabilities.  The
15002                 capability field is a bitfield that is more flexible than the
15003                 old driver support level thing.  It's mostly so we can easily
15004                 figure out what supports WPA and what doesn't, but should be
15005                 quite useful later.
15006
15007 2005-10-09  Dan Williams  <dcbw@redhat.com>
15008
15009         * test/nmtest.c
15010                 - Removed
15011
15012         * test/nm-tool.c
15013           test/Makefile.am
15014                 - Added new "nm-tool" tool that gives quite a bit more
15015                         information
15016
15017 2005-10-07  Robert Love  <rml@novell.com>
15018
15019         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15020           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15021           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15022           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15023           appropriate
15024
15025 2005-10-07  Robert Love  <rml@novell.com>
15026
15027         * configure.in: Change our compile flags for the betterment of mankind.
15028           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15029           prototype is very bad on 64-bit platforms as types default to int but
15030           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15031           "-Wmissing-declarations" to warn if we define an exported function
15032           but fail to put it in a header.
15033
15034 2005-10-07  Robert Love  <rml@novell.com>
15035
15036         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15037           by the name nm_update_device_wireless_timeouts() and once tried,
15038           without success, to steal my pet turtle.
15039
15040 2005-10-07  Robert Love  <rml@novell.com>
15041
15042         * Cleanup prototypes: put some functions in header files and mark
15043           others as 'static' -- feel free to invert
15044         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15045           nm_vpn_manager_vpn_connection_list_copy()
15046         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15047           nm_vpn_service_get_dbus_connection()
15048         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15049           nm_vpn_manager_vpn_connection_list_copy()
15050         * src/vpn-manager/nm-vpn-service.c: make
15051           nm_vpn_service_act_request_failed() and
15052           nm_vpn_service_stage2_daemon_wait() static
15053         * src/vpn-manager/nm-vpn-service.h: add prototype for
15054           nm_vpn_service_get_dbus_connection()
15055
15056 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15057
15058         * gnome/applet/applet.c:
15059         * gnome/applet/applet.h:
15060         * gnome/applet/icons/Makefile.am:
15061         Convey information about the current connection stage in the
15062         icons themselves instead of creating a separate progress bar.
15063
15064 2005-10-04  Robert Love  <rml@novell.com>
15065
15066         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15067           convert an ether_addr structure's MAC into a string, because the
15068           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15069           versus 07:3B:04, while the former will not.
15070
15071 2005-10-04  Robert Love  <rml@novell.com>
15072
15073         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15074           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15075           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15076           default route in the 'Connection Information' dialog, send primary
15077           and secondary name servers in in "getProperties" DBUS method, add
15078           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15079           secondary domain name servers are crucial pieces of information
15080           that a user might need in debugging a network problem.
15081
15082 2005-10-04  Robert Love  <rml@novell.com>
15083
15084         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15085           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15086           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15087           default route in the 'Connection Information' dialog, send default
15088           route in "getProperties" DBUS method, add network_device_set_route(),
15089           and network_device_get_route().  The Gateway is a crucial piece of
15090           connection-related information that a user might need in debugging a
15091           network problem.
15092
15093 2005-10-03  Robert Love  <rml@novell.com>
15094
15095         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15096           NULL.
15097
15098 2005-10-02  Dan Williams  <dcbw@redhat.com>
15099
15100         * Shorten time taken to sleep by fastpathing bits of device deactivation
15101                 necessary for sleep.
15102
15103         * Fix issue where deactivating a device might deactivate the active
15104                 VPN connection, even if the VPN was not using the device.
15105
15106 2005-10-02  Dan Williams  <dcbw@redhat.com>
15107
15108         * gnome/applet/applet.c
15109                 - Adjust signal strength -> icon mapping values slightly
15110                         (so that 51% signal doesn't show a 75% icon) by adding
15111                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15112                         shows 50% icon, etc.
15113
15114 2005-09-29  Robert Love  <rml@novell.com>
15115
15116         * src/NetworkManager.c: removed unused variable.
15117
15118 2005-09-28  Dan Williams  <dcbw@redhat.com>
15119
15120         Support for named + DBus, using Red Hat DBus patches for named.  You
15121         can find those patches here, with "dbus" in the patch's filename:
15122
15123                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15124
15125         Don't forget the named dbus service file either.
15126
15127         Instead of writing a config file and spawing a named process, NM will
15128         use an already-running dbus-enabled named if it finds one.  NM will
15129         update named's forwarder configuration on the fly using dbus.
15130
15131         If there is no dbus-enabled named running, NM will automatically fall
15132         back to writing the most-recent DNS server information to /etc/resolv.conf
15133         and calling nm_system_update_dns() to kick the system's resolver.
15134
15135         Accordingly, all named-related configure-time options have been removed.
15136
15137 2005-09-26  Robert Love  <rml@novell.com>
15138
15139         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15140           ISDN support!
15141         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15142           bug in error path if "ASKPASSWORD" is "no".
15143
15144 2005-09-26  Robert Love  <rml@novell.com>
15145
15146         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15147           comment in /etc/resolv.conf -- ';' is not.
15148
15149 2005-09-19  Dan Williams  <dcbw@redhat.com>
15150
15151         * src/backends/NetworkManagerRedHat.c:
15152         * src/backends/NetworkManagerDebian.c:
15153         * src/backends/NetworkManagerSlackware.c:
15154         * src/backends/NetworkManagerGentoo.c:
15155         * src/backends/NetworkManagerSUSE.c:
15156         Fix invocations of "/sbin/ip address" to use short form instead
15157
15158 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15159
15160         * src/nm-dbus-device.c: Don't assert when getting
15161         addresses of a not yet connected interface.
15162
15163         * gnome/applet/applet.c: Free icons if loading fails.
15164         Use translator-credits so translators can make themselves known.
15165
15166 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15167
15168         * src/NetworkManagerAP.c:
15169         * src/NetworkManagerAP.h:
15170         * src/NetworkManagerDevice.c:
15171         Set a blacklist for certain common manufacturer default ESSIDs:
15172         APs with these ESSIDs are extremely likely to be completely
15173         different networks: connecting to one should not make NM
15174         auto-connect to every other AP with the same default ESSID.
15175
15176 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15177
15178         * gnome/applet/wireless-applet.glade:
15179         The passphrase entry should also activate the default
15180
15181         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15182
15183         * gnome/applet/applet-dbus-devices.c:
15184         * gnome/applet/applet.c:
15185         * gnome/applet/nm-device.c:
15186         * gnome/applet/nm-device.h:
15187         * src/NetworkManagerUtils.c:
15188         * src/NetworkManagerUtils.h:
15189         * src/nm-dbus-device.c:
15190         I've got a fever, and the only cure for it is less ioctl.
15191         Make NM push IP data rather than make the applet open a socket
15192         to the device.
15193
15194 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15195
15196         * gnome/applet/applet.c:
15197         * gnome/applet/applet-dbus-devices.c:
15198         * gnome/applet/applet-dbus-info.c:
15199         * gnome/applet/passphrase-dialog.c:
15200         * gnome/libnm_glib/libnm_glib.c:
15201         * gnome/vpn-properties/nm-vpn-properties.c:
15202         * src/autoip.c:
15203         * src/backends/NetworkManagerRedHat.c:
15204         * src/named-manager/nm-named-manager.c:
15205         * src/NetworkManagerAPList.c:
15206         * src/NetworkManager.c:
15207         * src/NetworkManagerDbus.c:
15208         * src/NetworkManagerDevice.c:
15209         * src/NetworkManagerPolicy.c:
15210         * src/NetworkManagerSystem.c:
15211         * src/nm-dbus-device.c:
15212         * src/nm-dbus-nm.c:
15213         * src/vpn-manager/nm-vpn-manager.c:
15214         * src/vpn-manager/nm-vpn-service.c:
15215         * test/libnm_glib_test.c:
15216         * test/nminfotest.c:
15217         * test/nmtestdevices.c:
15218         Fix a bunch of 'unused variable' compiler warnings
15219
15220         * NetworkManager.h:
15221         * gnome/applet/applet-dbus-info.c:
15222         * gnome/applet/applet-dbus-info.h:
15223         * gnome/applet/applet.c:
15224         * gnome/applet/applet.h:
15225         * src/NetworkManager.c:
15226         * src/NetworkManagerDbus.c:
15227         * src/NetworkManagerDbus.h:
15228         * src/NetworkManagerDevice.c:
15229         * src/NetworkManagerDevice.h:
15230         * src/NetworkManagerMain.h:
15231         * src/NetworkManagerWireless.c:
15232         * src/NetworkManagerWireless.h:
15233         * src/nm-dbus-nm.c:
15234         Make NetworkManager be smart about how frequently to scan
15235         based on its current state.  Remove the UI for choosing when
15236         to scan.  Scanning still may disabled completely by the user
15237         via the "Wireless Enabled" menu item.
15238
15239 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15240
15241         * gnome/applet/applet.c:
15242         Also overlay the vpn connecting icons onto the wired icon,
15243         when appropriate.
15244
15245         * gnome/vpn-properties/nm-vpn-properties.glade:
15246         Clean up a few strings to use better grammar and proper casing.
15247
15248 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15249
15250         * gnome/applet/vpn-connection.c:
15251         * gnome/applet/vpn-connection.h:
15252         Add nmwa_vpn_connection_is_activating ()
15253
15254         * gnome/applet/applet.c:
15255         * gnome/applet/applet.h:
15256         * gnome/applet/icons/nm-vpn-connecting*.png:
15257         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15258         the user know something's happening between clicking the VPN item and it
15259         actually being connected.
15260
15261 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15262
15263         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15264         failure case as well.
15265
15266 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15267
15268         * gnome/panel/eggtrayicon.[ch]:
15269         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15270
15271 2005-09-07  Dan Williams  <dcbw@redhat.com>
15272
15273         Patch from Bill Moss <bmoss@clemson.edu>
15274         * src/applet-dbus.c
15275                 - (nmwa_dbus_filter): strip whitespace from beginning
15276                         and end of VPN login banner
15277
15278 2005-09-07  Dan Williams  <dcbw@redhat.com>
15279
15280         * The great VPN Manager rewrite of 2005
15281
15282 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15283
15284         * gnome/applet/menu-items.c:
15285         * gnome/applet/nm-device.c:
15286         * gnome/applet/wireless-network.c:
15287         * gnome/libnm_glib/libnm_glib.c:
15288         * src/NetworkManagerDbusUtils.c:
15289         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15290         g_malloc0 doesn't return NULL
15291
15292 2005-09-06  Dan Williams  <dcbw@redhat.com>
15293
15294         Patch from Tomislav Vujec <tvujec@redhat.com>
15295         * src/NetworkManagerDevice.c
15296                 - (nm_get_device_by_udi): don't return a device when we
15297                         actually didn't find what we were looking for
15298
15299 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15300
15301         * gnome/applet/applet-dbus-devices.c:
15302         * gnome/applet/applet-dbus-devices.h:
15303         * gnome/applet/applet-dbus.c:
15304         * src/NetworkManagerDbus.c:
15305         * src/NetworkManagerDbus.h:
15306         * src/NetworkManagerDevice.c:
15307         * src/nm-dbus-device.c:
15308         Make NM push updates about active device strength when it changes,
15309         rather than having the applet poll every 2s.
15310
15311 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15312
15313         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15314         network_device_set_strength
15315
15316 2005-09-04  Dan Williams  <dcbw@redhat.com>
15317
15318         Patch from Bill Nottingham <notting@redhat.com>
15319         * src/NetworkManagerDevice.c
15320                 - (nm_device_activation_cancel): reset the quit_activation flag
15321
15322 2005-09-04  Dan Williams  <dcbw@redhat.com>
15323
15324         * src/nm-activation-request.c
15325                 - (nm_act_request_unref): actually free the structure,
15326                         which we didn't seem to be doing before
15327
15328 2005-09-04  Dan Williams  <dcbw@redhat.com>
15329
15330         Patch from John Palmieri <johnp@redhat.com>
15331         * gnome/applet/applet-dbus-devices.c
15332                 - Fix up unreffing of DBusMessage objects
15333
15334 2005-09-04  Dan Williams  <dcbw@redhat.com>
15335
15336         Patch from John Palmieri <johnp@redhat.com>
15337         * gnome/applet/nm-device.c
15338                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15339
15340 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15341
15342         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15343
15344 2005-09-02  Bill Nottingham  <notting@redhat.com>
15345
15346         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15347
15348 2005-09-01  Dan Williams  <dcbw@redhat.com>
15349
15350         * src/NetworkManager.c
15351                 - (nm_remove_device_from_list): rename to nm_remove_device
15352                 - (nm_hal_device_removed): call nm_remove_device()
15353
15354         * src/NetworkManagerDevice.c
15355                 - Change the NMWirelessScanCB member 'reschedule' which
15356                         wasn't used to 'force' to indicate that we need to
15357                         force a scan when adding a device
15358
15359         * src/nm-dbus-nm.c
15360                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15361                         from the device list
15362                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15363
15364 2005-09-01  Robert Love  <rml@novell.com>
15365
15366         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15367           and the check "!iface" in the error case is probably never true.
15368
15369 2005-09-01  Dan Williams  <dcbw@redhat.com>
15370
15371         Patch from Bill Nottingham <notting@redhat.com>
15372         * src/backends/NetworkManagerRedHat.c
15373                 - Add initial dialup support to Red Hat/Fedora backend
15374
15375 2005-09-01  Dan Williams  <dcbw@redhat.com>
15376
15377         * gnome/applet/applet-dbus-devices.c
15378                 - Sort both wireless networks and devices again, which got
15379                         broken when removing threading
15380
15381 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15382
15383         * gnome/applet/applet.c:
15384         Only show the "Stop/Start All Wireless Devices" menuitem
15385         if we actually have wireless devices.
15386
15387         * gnome/applet/applet-dbus-info.c:
15388         * gnome/applet/applet.c:
15389         * gnome/applet/other-network-dialog.c:
15390         * gnome/applet/vpn-password-dialog.c:
15391         Drop the gtk_dialog_run () calls in favor of connecting to
15392         "response" signals, needed now that the applet is not threaded.
15393
15394 2005-08-31  Dan Williams  <dcbw@redhat.com>
15395
15396         Patch from Bill Moss <bmoss@clemson.edu>
15397         * src/NetworkManagerDevice.c
15398                 - (nm_device_wireless_scan): fix scan timeout values
15399
15400 2005-08-30  Dan Williams  <dcbw@redhat.com>
15401
15402         * gnome/applet/wireless-applet.glade
15403                 - HIG-ify the Other Wireless Networks dialog a bit more
15404                 - Fix some potential segfaults in the info dialog
15405
15406 2005-08-30  Dan Williams  <dcbw@redhat.com>
15407
15408         * gnome/applet/applet-dbus-devices.c
15409                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15410
15411 2005-08-30  Dan Williams  <dcbw@redhat.com>
15412
15413         * gnome/applet/applet-dbus.[ch]
15414                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15415                         they weren't being used anyway
15416
15417 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15418
15419         * test/nmtestdevices.c: (print_usage), (main):
15420         Check the number of arguments, and fix a typo
15421
15422 2005-08-29  Dan Williams  <dcbw@redhat.com>
15423
15424         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15425         * gnome/applet/applet.c
15426                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15427
15428 2005-08-29  Dan Williams  <dcbw@redhat.com>
15429
15430         * gnome/applet/*
15431                 - Don't use threads any more.  Anything that blocks
15432                         (like gtk_dialog_run()) will  have to get fixed up which
15433                         should happen quickly.  We really only had threads to make
15434                         the animation smooth, and when everything got converted over
15435                         to DBus Pending Calls, the need for threads kind of went away
15436
15437 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15438
15439         * gnome/applet/applet.c: Draw VPN connections as radio items
15440         since we don't yet support multiple VPNs.
15441         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15442         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15443
15444 2005-08-29  Dan Williams  <dcbw@redhat.com>
15445
15446         Patch from j@bootlab.org
15447         - Make --without-named work
15448         - Make --with-dhcdbd work correctly
15449
15450 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15451
15452         * configure.in: Added "ca" to ALL_LINGUAS.
15453
15454 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15455
15456         * Fix up VPN state handling between the applet and NetworkManager,
15457                 so that the applet doesn't show a VPN as connected when one
15458                 really is not
15459                         - The applet no longer has a pointer to the active VPN's
15460                                 name, but tracks each VPNs state individually
15461                         - NM no longer has a "getActiveVPNConnection" method
15462                         - NM no longer broadcasts the "VPNConnectionChange" signal
15463                         - NM now broadcasts a "VPNConnectionStateChange" signal
15464                                 whenever the state of a VPN changes
15465
15466 2005-08-26  Dan Williams <dcbw@redhat.com>
15467
15468         * gnome/applet/applet-dbus-devices.c
15469           gnome/applet/applet-dbus-vpn.c
15470                 - Remove calls to dbus_pending_call_ref() because we already
15471                         "own" the pending call
15472                 - Remove calls to dbus_pending_call_get_completed() because
15473                         when we are in the callback, the pending call is completed
15474                         by definition
15475
15476 2005-08-22  Dan Williams <dcbw@redhat.com>
15477
15478         Patch by Bill Moss <bmoss@clemson.edu>
15479         * src/dhcp-manager/nm-dhcp-manager.c
15480                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15481                         some time to send out a RELEASE if they like
15482
15483 2005-08-22  Dan Williams <dcbw@redhat.com>
15484
15485         Noticed by Bill Moss <bmoss@clemson.edu>
15486         * src/NetworkManagerDbus.c
15487                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15488                         instead of just cancelling its activation
15489
15490         * src/NetworkManagerDevice.c
15491                 - (nm_device_deactivate): some small cleanups
15492                 - (nm_device_set_user_key_for_network): deactivate the device
15493                         instead of just cancelling its activation
15494
15495 2005-08-22  Dan Williams <dcbw@redhat.com>
15496
15497         Noticed by Bill Moss <bmoss@clemson.edu>
15498         * src/NetworkManagerDevice.c
15499                 - (nm_device_wireless_scan): fix scan timeout, we were
15500                         waiting way too long for scans to complete
15501
15502 2005-08-22  Dan Williams <dcbw@redhat.com>
15503
15504         Patch from j@bootlab.org:
15505         * src/backends/NetworkManagerDebian.c
15506                 - Make the Debian backend work for static IP again
15507
15508 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15509
15510         * gnome/applet/other-network-dialog.c:
15511         The "Create New Network" and "Connect to Other Network"
15512         dialogs share alot of code, but shouldn't share a window
15513         title.  Give them different ones.
15514
15515         * gnome/applet/wireless-applet.glade:
15516         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15517         Some more minor UI tweaks.
15518
15519 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15520
15521         * gnome/applet/other-network-dialog.c:
15522         * gnome/applet/wireless-applet.glade:
15523         Also need mnemonic widgets, and underline enabled.
15524
15525 2005-08-19  Dan Williams <dcbw@redhat.com>
15526
15527         * vpn-daemons/vpnc/nm-vpnc-service.c
15528                 - (vpnc_watch_cb): remove no-longer-relevant comment
15529                 - (write_config_option): new function, helper to write
15530                         config options to vpnc's stdin
15531                 - (nm_vpnc_config_write): use the new helper, make the
15532                         code shorter
15533
15534 2005-08-19  Christopher Aillon <caillon@redhat.com>
15535
15536         * gnome/applet/passphrase-dialog.c:
15537         * gnome/applet/wireless-applet.glade:
15538         Make the passphrase dialog response based, and treat
15539         responses other than OK (such as Esc, [X]) as a cancel.
15540
15541 2005-08-18  Christopher Aillon <caillon@redhat.com>
15542
15543         * initscript/Gentoo/NetworkManager:
15544         * initscript/RedHat/NetworkManager:
15545         * initscript/RedHat/NetworkManagerDispatcher:
15546         * initscript/SUSE/networkmanager:
15547         CVS remove these in place of .in replacements
15548
15549         * configure.in:
15550         * initscript/Gentoo/NetworkManager.in:
15551         * initscript/RedHat/NetworkManager.in:
15552         * initscript/RedHat/NetworkManagerDispatcher.in:
15553         * initscript/SUSE/networkmanager.in:
15554         These scripts now are generated so they work still when
15555         NM is built using a bindir other than /usr/bin
15556
15557 2005-08-18  Dan Williams <dcbw@redhat.com>
15558
15559         * gnome/applet/main.c
15560                 - Revert previous change for --no-session since
15561                         --sm-disable does the same thing
15562
15563 2005-08-18  Dan Williams <dcbw@redhat.com>
15564
15565         * gnome/applet/applet-dbus-info.c
15566                 - (nmi_dbus_create_error_message): new function
15567                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15568                         functions.  Also don't check for both device _and_ network before
15569                         asking for a user's key, because we may not have gotten all our
15570                         networks back from NM quite yet (due to the dbus pending calls
15571                         coming in later).  Fixes a hang in NM/nm-applet.
15572
15573         * src/NetworkManagerDbus.c
15574                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15575                         slightly more sane manner, even though we are still broken for
15576                         certain other error conditions.
15577                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15578                         to the info-daemon too
15579
15580         * src/NetworkManagerDevice.c
15581                 - Fix some debug messages to be info messages instead
15582
15583 2005-08-18  Dan Williams <dcbw@redhat.com>
15584
15585         * gnome/applet/main.c
15586                 - Add new "--no-session" parameter that disables applet
15587                         session management, ie for testing
15588
15589 2005-08-18  Christopher Aillon <caillon@redhat.com>
15590
15591         * gnome/applet/other-network-dialog.c:
15592         * gnome/applet/wireless-applet.glade: More mnemonics
15593
15594 2005-08-17  Robert Love  <rml@novell.com>
15595
15596         * initscript/SUSE/networkmanager: update
15597
15598 2005-08-17  Dan Williams  <dcbw@redhat.com>
15599
15600         * Tag NM_0_4_1_RELEASE
15601
15602 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15603
15604         * gnome/applet/applet.c: More translatable string cleanup
15605
15606
15607 2005-08-17  Dan Williams  <dcbw@redhat.com>
15608
15609         * gnome/applet/applet-dbus-info.c
15610                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15611                         from the dbus message, which tells us to unconditionally
15612                         ask the user for a new key.  Otherwise, we pull the key from
15613                         the keyring and return it.  If we fail to get the key from the
15614                         keyring, we ask the user for a new key.
15615                 - (nmi_dbus_get_network_key): new function to grab the key for
15616                         an essid from the keyring.
15617                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15618                         Also, don't return any key in the dbus message.
15619
15620         * src/NetworkManagerDbus.[ch]
15621                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15622                         indicate that we unconditionally want a new key.  This function
15623                         is now also used to get keys from the info-daemon which are
15624                         pre-stored, not just for asking the user for a new key.  The
15625                         "new_key" parameter indicates whether or not we wish to ask the
15626                         user for a new key.
15627                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15628                         info-daemon in the return message, so use NULL instead.  The
15629                         key will be filled in at connect time by calling
15630                         nm_dbus_get_user_key_for_network()
15631
15632         * src/NetworkManagerDevice.c
15633                 - (nm_device_wireless_configure): update for "new_key" param to
15634                         nm_dbus_get_user_key_for_network().  We initially set new_key
15635                         to FALSE to see if we have a stored key in the info-daemon, but
15636                         if the connection is unsuccessful at this stage we request a
15637                         new one
15638
15639 2005-08-17  Dan Williams  <dcbw@redhat.com>
15640
15641         * gnome/applet/icons/nm-no-connection.png
15642           gnome/applet/icons/nm-device-wired.png
15643                 - Use Diana's new RJ45 connector icons
15644
15645 2005-08-17  Dan Williams  <dcbw@redhat.com>
15646
15647         * src/NetworkManagerPolicy.c
15648                 - (nm_policy_device_change_check): clarify switching rules if
15649                         both new and old devices are valid; mainly, don't switch
15650                         away from user-requested wireless connection back to a wired
15651                         one
15652
15653 2005-08-17  Dan Williams  <dcbw@redhat.com>
15654
15655         * gnome/applet/Makefile.am
15656                 - Relocate the applet to /usr/bin since it is no longer
15657                         executed by anything, but directly by the user
15658
15659 2005-08-17  Dan Williams  <dcbw@redhat.com>
15660
15661         Patch from Bill Moss <bmoss@clemson.edu>
15662
15663         * gnome/applet/applet-dbus-info.[ch]
15664                 - (nmi_save_network_info): save timestamp for network if it
15665                         was a change requested by the user
15666                 - (nmi_dbus_update_network_info): get user_requested from dbus
15667                         message and pass to nmi_save_network_info()
15668
15669         * gnome/applet/applet.c
15670                 - (nmwa_update_network_timestamp): remove
15671                 - (nmwa_menu_item_activate): don't set timestamp on networks
15672                         here, only after a successful connect in nmi_save_network_info()
15673
15674         * src/NetworkManagerDbus.[ch]
15675                 - (nm_dbus_update_network_info): pass user_requested into the 
15676                         dbus message
15677
15678         * src/NetworkManagerPolicy.c
15679                 - (nm_policy_activation_finish): pass user_requested to
15680                         nm_dbus_update_network_info()
15681
15682 2005-08-16  Robert Love  <rml@novell.com>
15683
15684         * gnome/applet/applet.c: Better "Dial Up" menu item.
15685
15686 2005-08-16  Robert Love  <rml@novell.com>
15687
15688         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15689           "Connection Information" menu item.
15690
15691 2005-08-16  Dan Williams  <dcbw@redhat.com>
15692
15693         Patch from j@bootlab.org
15694         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15695
15696         * configure.in: allow specifying the path to dhcdbd
15697
15698 2005-08-16  Robert Love  <rml@novell.com>
15699
15700         Patch from j@bootlab.org
15701         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15702           src/backends/interface_parser.h: Debian dialup support.
15703
15704 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15705
15706         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15707         * gnome/applet/applet.c: Add some mnemonics for VPNC
15708
15709         * vpn-daemons/.cvsignore: fix this up a little bit
15710
15711 2005-08-16  Robert Love  <rml@novell.com>
15712
15713         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15714           support.
15715
15716 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15717
15718         * gnome/applet/applet.c: Split markup out of translatable strings
15719         and clean up logic a little bit.  (fixes #309012)
15720
15721 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15722
15723         * gnome/vpn-properties/nm-vpn-properties.c:
15724         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15725         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15726         Makeshift fix to remove newlines from translatable strings.
15727         Note that we now return an allocated string, so callers of
15728         get_confirmation_details () must now call g_free () on the
15729         result. (fixes #309033).
15730
15731 2005-08-12  Robert Love  <rml@novell.com>
15732
15733         * gnome/applet/applet-dbus.c: remove newlines from translatable
15734           strings--not needed here anyway. (fix b.g.o #309011)
15735         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15736
15737 2005-08-11  Robert Love  <rml@novell.com>
15738
15739         * gnome/applet/applet.c: mark string as translatable.
15740
15741 2005-08-11  Robert Love  <rml@novell.com>
15742
15743         * initscript/SUSE/networkmanager: update.
15744
15745 2005-08-11  Dan Williams  <dcbw@redhat.com>
15746
15747         * src/nm-dhcp-manager.c
15748                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15749                         an gateway returned from DHCP, try to use the address of the DHCP
15750                         server as the gateway instead.  Found by Ralf Ertzinger.
15751
15752 2005-08-10  Robert Love  <rml@novell.com>
15753
15754         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15755           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15756
15757 2005-08-10  Dan Williams  <dcbw@redhat.com>
15758
15759         Patch from Bill Moss <bmoss@clemson.edu>
15760         * Consolidate writes of access point information updates to the info daemon
15761                 so that we only do it when the connection to the access point was
15762                 successful.  Also consolidates updates to GConf in the Gnome applet.
15763
15764         * src/nm-netlink-monitor.c
15765                 - Silence compile warning when calling g_object_new()
15766
15767 2005-08-08  Dan Williams  <dcbw@redhat.com>
15768
15769         Patch from Steev <steev@steev.net>:
15770         * src/backends/NetworkManagerGentoo.c
15771                 - Stub new dialup backend functions
15772
15773 2005-08-08  Dan Williams  <dcbw@redhat.com>
15774
15775         Patch from Colin Slater:
15776         * src/backends/NetworkManagerGentoo.c
15777                 - (nm_system_update_dns): Fix exit status check for restarting
15778                         nscd
15779
15780 2005-08-05  Robert Love  <rml@novell.com>
15781
15782         * NetworkManager.h,
15783           gnome/applet/applet-dbus-devices.c,
15784           gnome/applet/applet-dbus-devices.h,
15785           gnome/applet/applet-dbus.c,
15786           gnome/applet/applet.c,
15787           gnome/applet/applet.h,
15788           src/NetworkManager.c,
15789           src/NetworkManagerMain.h,
15790           src/NetworkManagerSystem.h,
15791           src/backends/NetworkManagerRedHat.c,
15792           src/backends/NetworkManagerSuSE.c,
15793           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15794
15795 2005-08-05  Robert Love  <rml@novell.com>
15796
15797         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15798           machine's hostname to make adhoc creation idiot-proof.
15799
15800 2005-08-04  Robert Love  <rml@novell.com>
15801
15802         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15803           freed.
15804
15805 2005-08-04  Dan Williams  <dcbw@redhat.com>
15806
15807         * gnome/applet/applet-dbus-info.c
15808           gnome/applet/applet-dbus-info.h
15809                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15810                         to store key, key type, and auth method rather than just auth method
15811                 - (nmi_dbus_update_network_info): new function
15812                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15813
15814         * gnome/applet/passphrase-dialog.c
15815                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15816                         of saving the info ourselves
15817
15818         * gnome/libnm_glib/libnm_glib.c
15819                 - Remove the stupid version check for dbus
15820
15821         * src/NetworkManagerAP.c
15822           src/NetworkManagerAP.h
15823                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15824
15825         * src/NetworkManagerDbus.c
15826           src/NetworkManagerDbus.h
15827                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15828                         more than just the auth method
15829
15830         * src/NetworkManagerDevice.c
15831                 - Update network info at the appropriate times
15832
15833 2005-07-29  Ray Strode  <rstrode@redhat.com>
15834
15835         * src/NetworkManager.c (nm_info_handler): don't use input as format
15836         string (Spotted by Ian Jackson).
15837
15838 2005-07-27  Dan Williams  <dcbw@redhat.com>
15839
15840         * src/nm-dbus-nm.c
15841           src/nm-dbus-net.c
15842                 - Random cleanups of spacing
15843
15844         * gnome/applet/applet.h
15845           gnome/applet/other-network-dialog.c
15846           gnome/applet/passphrase-dialog.c
15847                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15848
15849         Patch from Bill Moss:
15850                 - Make Other Wireless Networks work again with encryption keys
15851
15852 2005-07-26  Dan Williams  <dcbw@redhat.com>
15853
15854         Patch from Steev <steev@steev.net>:
15855         * src/backends/NetworkManagerGentoo.c
15856           src/backends/Makefile.am
15857                 - Fix up Gentoo backend
15858
15859 2005-07-26  Robert Love  <rml@novell.com>
15860
15861         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15862
15863 2005-07-25  Robert Love  <rml@novell.com>
15864
15865         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15866           in the same group as the wireless networks, since they are all
15867           mutually exclusive.
15868
15869 2005-07-24  Ray Strode  <rstrode@redhat.com>
15870
15871         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15872         remove unneeded NULL arg from g_object_new().  Any
15873         warnings caused by not having the extra NULL are just a
15874         result of a bug in glib 2.7.0 - 2.7.2.
15875
15876 2005-07-22  Robert Love  <rml@novell.com>
15877
15878         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15879
15880 2005-07-22  Robert Love  <rml@novell.com>
15881
15882         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15883           parameters (gcc 4.0.2 warning fix).
15884
15885 2005-07-18  Robert Love  <rml@novell.com>
15886
15887         Suggested by Aaron Bockover (abockover@novell.com)
15888         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15889           s/Ascii/ASCII
15890         * gnome/applet/passphrase-dialog.c: ditto
15891         * gnome/applet/wireless-applet.glade: ditto
15892
15893 2005-07-13  Dan Williams  <dcbw@redhat.com>
15894
15895         Patch from Ray Strode <halfline@gmail.com>
15896         * vpn-daemons/vpnc/nm-vpnc-service.c
15897                 - Don't let vpnc daemonize, fixes some races with PID file reading
15898
15899 2005-07-13  Dan Williams  <dcbw@redhat.com>
15900
15901         Patch from Ray Strode <halfline@gmail.com>
15902         * Random cleanups for strict CFLAGS
15903
15904 2005-07-07  Dan Williams  <dcbw@redhat.com>
15905
15906         Patch from Derek Atkins <warlord@MIT.EDU>
15907         * src/nm-dbus-net.c:
15908                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15909
15910 2005-07-07  Dan Williams  <dcbw@redhat.com>
15911
15912         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15913         * src/backends/NetworkManagerGentoo.c
15914                 - Gentoo backend Static IP nameserver fixes
15915                 - General Gentoo backend goodness
15916
15917 2005-07-07  Dan Williams  <dcbw@redhat.com>
15918
15919         Patch from Bastien Nocera:
15920         * gnome/applet/applet.c
15921                 - Fix up error reporting when icons or glade files are missing
15922
15923 2005-07-07  Robert Love  <rml@novell.com>
15924
15925         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
15926           are not any VPN connections above it.
15927
15928 2005-07-07  Robert Love  <rml@novell.com>
15929
15930         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
15931
15932 2005-07-05  Robert Love  <rml@novell.com>
15933
15934         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
15935           zero.
15936
15937 2005-07-05  Robert Love  <rml@novell.com>
15938
15939         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
15940           on wired or unencrypted wireless.
15941
15942 2005-07-01  Robert Love  <rml@novell.com>
15943
15944         * src/NetworkManagerSystem.c: Print the error via strerror().
15945
15946 2005-06-30  Robert Love  <rml@novell.com>
15947
15948         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
15949           then exit if the glade file is not found.  currently the application
15950           just hangs.
15951
15952 2005-06-30  Robert Love  <rml@novell.com>
15953
15954         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
15955           explicitly up all interfaces on wake from sleep.
15956
15957 2005-06-30  Robert Love  <rml@novell.com>
15958
15959         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
15960           with information about the currently active connection.
15961         * gnome/applet/applet.h: (ditto)
15962         * gnome/applet/wireless-applet.glade: (ditto), new file
15963
15964 2005-06-30  Robert Love  <rml@novell.com>
15965
15966         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
15967         * src/nm-dbus-nm.c: print when we sleep and wake up.
15968         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
15969         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
15970           in /sbin unless D-BUS is, folks).
15971         * README: update to reflect nm-applet replacing NetworkManagerInfo.
15972
15973 2005-06-27  Robert Love  <rml@novell.com>
15974
15975         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
15976           case.
15977
15978 2005-06-27  Robert Love  <rml@novell.com>
15979
15980         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
15981           items radios.
15982
15983 2005-06-26  Robert Love  <rml@novell.com>
15984
15985         * src/NetworkManagerDevice.c: be specific about which device in
15986           nm_info() message.
15987
15988 2005-06-23  Adam Weinberger  <adamw@gnome.org>
15989
15990         * src/nm-netlink-monitor.c: correct spelling error.
15991
15992 2005-06-23  Robert Love  <rml@novell.com>
15993
15994         * gnome/applet/applet-dbus-info.c: gnome keyring support!
15995         * gnome/applet/passphrase-dialog.c: more of that keyring!
15996
15997 2005-06-23  Robert Love  <rml@novell.com>
15998
15999         * configure.in: remove extraneous GNOMEKEYRING directives.
16000         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16001         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16002         * gnome/applet/passphrase-dialog.c: whitespace.
16003
16004 2005-06-23  Robert Love  <rml@novell.com>
16005
16006         * src/NetworkManagerDevice.c: division in assignment was flipped.
16007
16008 2005-06-23  David Zeuthen  <david@fubar.dk>
16009
16010         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16011         signal to the child to indicate that we got what we wanted when we
16012         see two new-lines right after each other.
16013         (nmwa_vpn_request_password): Pass a structure with several members
16014         instead of just the passwords
16015
16016 2005-06-23  Dan Williams <dcbw@redhat.com>
16017
16018         * src/NetworkManager.c
16019           src/NetworkManagerMain.h
16020                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16021                 - (nm_hal_init): new function, init libhal context then add devices
16022                 - (nm_hal_deinit): new function, clean up libhal context
16023                 - (nm_data_free): Move Hal cleanup here
16024                 - (main): check whether Hal is running, and if so, get a list of
16025                         network devices from it
16026
16027         * src/NetworkManagerDbus.c
16028                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16029                         and when it appears, get a list of network devices from it.  If
16030                         Hal goes away, clean up the libhal context
16031
16032 2005-06-22  Robert Love  <rml@novell.com>
16033
16034         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16035           permissions of scripts before executing.
16036
16037 2005-06-21  Robert Love  <rml@novell.com>
16038
16039         * initscript/SUSE/networkmanager: update.
16040         * src/backends/NetworkManagerSuSE.c: cleanup.
16041
16042 2005-06-21  Robert Love <rml@novell.com>
16043
16044         * gnome/applet/applet.c: use menu mnemonics.
16045         * gnome/applet/menu-items.c: (ditto)
16046
16047 2005-06-21  Robert Love  <rml@novell.com>
16048
16049         * applet/applet-dbus-devices.c: mark non-static functions static.
16050         * applet/applet-dbus-vpn.c: (ditto)
16051         * applet/applet.c: (ditto)
16052         * applet/nm-device.h: (ditto)
16053         * applet/other-network-dialog.c: (ditto)
16054         * applet/passphrase-dialog.c: (ditto)
16055         * NetworkManager.c: (ditto)
16056         * NetworkManagerDbus.c: (ditto)
16057         * NetworkManagerDevice.c: (ditto)
16058         * NetworkManagerPolicy.c: (ditto)
16059         * NetworkManagerUtils.c: (ditto)
16060         * NetworkManagerWireless.c: (ditto)
16061         * NetworkManagerWireless.h: (ditto)
16062         * nm-netlink-monitor.c: (ditto)
16063         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16064         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16065         * autoip.c: include autoip.h.
16066         * autoip.h: new file.  define get_autoip().
16067         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16068         * NetworkManagerDbus.h: remove duplicate definitions.
16069
16070 2005-06-20  Robert Love  <rml@novell.com>
16071
16072         * Makefile.am: Add missing intltool-foo.in generated files to
16073           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16074           with the start of stuff to cleanup on 'distclea'.
16075         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16076           stuff right and 'distcheck' works.
16077         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16078           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16079           Makefile.am for each.  And systray/Makefile needs to be redone.
16080
16081 2005-06-19  Dan Williams <dcbw@redhat.com>
16082
16083         * src/NetworkManagerDevice.c
16084         - (nm_device_wireless_process_scan_results): scan every 20s when
16085           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16086
16087 2005-06-19  Dan Williams <dcbw@redhat.com>
16088
16089         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16090
16091 2005-06-18  Ray Strode <rstrode@redhat.com>
16092
16093         * src/nm-netlink-monitor.c 
16094         (nm_netlink_monitor_event_handler): check for the presence
16095         of either error condition not both. 
16096         
16097         (nm_netlink_monitor_error_handler): emit error signal if
16098         error occurs.
16099
16100         (nm_netlink_monitor_event_handler),
16101         (nm_netlink_monitor_error_handler),
16102         (nm_netlink_monitor_disconnect_handler): if an 
16103         assertion fails disconnect the event handler to prevent 
16104         infinite loops.
16105
16106         * src/nm-netlink-monitor.h: add new error condition
16107         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16108
16109 2005-06-18  Ray Strode <rstrode@redhat.com>
16110
16111         * src/nm-netlink-monitor.c 
16112         (nm_netlink_monitor_event_handler): remove bogus < 0
16113         check on unsigned value and return early if the kernel
16114         didn't send any bytes.
16115
16116 2005-06-17  Robert Love  <rml@novell.com>
16117
16118         * initscript/SUSE/networkmanager: Change the Provides and default
16119         run levels
16120
16121 2005-06-16  Dan Williams <dcbw@redhat.com>
16122
16123         Patch from Robert Love:
16124         * gnome/applet/applet.c
16125                 - Beautify some applet menu item names
16126
16127 2005-06-17  David Zeuthen  <davidz@redhat.com>
16128
16129         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16130         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16131         Also add new methods can_export, import_file and export.
16132
16133         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16134         to the main UI
16135
16136         * gnome/vpn-properties/nm-vpn-properties.c:
16137         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16138         nm-vpn-ui-interface.h.
16139         (update_edit_del_sensitivity): Also update "Export" sensitivity
16140         (add_vpn_connection): Also add new SVC_NAME column
16141         (import_settings): New function
16142         (retrieve_data_from_selected_connection): New function
16143         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16144         this function
16145         (export_cb): New function
16146         (init_app): Also setup the "export" widget
16147         (main): Support the --import-service and --import-file commandline
16148         arguments
16149
16150         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16151         D-BUS 0.34
16152
16153 2005-06-16  Dan Williams <dcbw@redhat.com>
16154
16155         Patch from Robert Love:
16156         * gnome/applet/menu-items.c
16157                 - (network_menu_item_new): pass -1 as wireless network
16158                         menu items height size request rather than ascent / 2
16159
16160 2005-06-16  Dan Williams <dcbw@redhat.com>
16161
16162         * Clean up wording in Wireless Scan Methods menu items and constants
16163
16164 2005-06-16  Robert Love  <rml@novell.com>
16165
16166         * po/POTFILES.in
16167                 - remove gtkcell* files
16168
16169 2005-06-15  Dan Williams <dcbw@redhat.com>
16170
16171         Patch from Robert Love: make the applet stetic
16172
16173         * gnome/applet/Makefile.am
16174                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16175
16176         * gnome/applet/gtkcellview.h
16177           gnome/applet/gtkcellview.c
16178           gnome/applet/gtkcellrendererprogress.h
16179           gnome/applet/gtkcellrendererprogress.c
16180                 - Removed
16181
16182         * gnome/applet/menu-items.c
16183                 - Progress bars are 5:1 size ratio
16184                 - Use GTK progress bars rather than internal ones
16185
16186 2005-06-15  Dan Williams <dcbw@redhat.com>
16187
16188         Patch from Robert Love:
16189         * initscript/SUSE/networkmanager
16190                 - Fix typo
16191
16192 2005-06-15  Dan Williams <dcbw@redhat.com>
16193
16194         * src/backends/NetworkManagerSuSE.c
16195           src/backends/NetworkManagerRedHat.c
16196           src/backends/NetworkManagerDebian.c
16197                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16198
16199 2005-06-15  Dan Williams <dcbw@redhat.com>
16200
16201         * src/backends/NetworkManagerDebian.c
16202                 - Add nm_system_device_get_use_dhcp() to debian backend
16203
16204         Patch from Kay Sievers:
16205         * src/backends/NetworkManagerSuSE.c
16206                 - Update debian backend for static IP nameservers
16207
16208         * src/NetworkManagerDevice.c
16209                 - Actually set the device to use static IP or DHCP rather
16210                         than always DHCP
16211
16212 2005-06-15  Dan Williams <dcbw@redhat.com>
16213
16214         Patch from Thom May:
16215         * src/backends/NetworkManagerDebian.c
16216                 - Update debian backend for static IP nameservers
16217
16218 2005-06-15  Dan Williams <dcbw@redhat.com>
16219
16220         Patches from Robert Love:
16221         * gnome/applet/wireless-applet.glade
16222                 - Tighten up wording
16223
16224         * src/NetworkManagerDevice.c
16225                 - Remove misplaced ';'
16226
16227         * configure.in
16228           initscript/Makefile.am
16229           initscript/SUSE/Makefile.am
16230           initscript/SUSE/networkmanager
16231                 - Add SUSE initscript
16232
16233 2005-06-12  David Zeuthen  <davidz@redhat.com>
16234
16235         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16236
16237         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16238
16239         * gnome/vpn-properties/nm-vpn-properties.c: New file
16240
16241         * gnome/vpn-properties/Makefile.am: New file
16242
16243         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16244         array of passwords
16245
16246         * src/vpn-manager/nm-vpn-manager.c
16247         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16248         instead of just a single one
16249
16250         * src/vpn-manager/nm-dbus-vpn.c:
16251         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16252         here
16253         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16254
16255         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16256         Change the interface here to give a list of passwords. Also, don't
16257         require username, but do require service
16258
16259         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16260         the binary for the auth-dialog and use that instead of putting up a
16261         dialog asking for a single password
16262
16263         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16264         however do remember the service
16265
16266         * gnome/applet/main.c (main): Setup i18n
16267
16268         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16269         connection to '%s'" to the tooltip if we are connected using VPN
16270         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16271         key to determine whether we the auth-dialog needs to
16272         reprompt. Also cope with the fact that the auth-dialog now returns
16273         an array of passwords.
16274         (nmwa_menu_configure_vpn_item_activate): New handler for
16275         "Configure VPN..." menu item
16276         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16277         (is_vpn_available): New function to determine if we got any
16278         NM-compatible VPN software installed
16279         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16280         items only if we have NM-compatible VPN software installed
16281         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16282         logic for detecting when VPN connections are removed
16283
16284         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16285         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16286         since these are defined elsewhere
16287
16288         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16289         function used to keep track of whether the last attempt succeded
16290         (nmwa_dbus_filter): Update last_attempt according to whether the
16291         VPN connection could be established or not
16292
16293         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16294         Change prototype to take an array of passwords, not just a single
16295         password
16296
16297         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16298         update service, not user
16299         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16300         dbus_active_vpn_name is not NULL before using it
16301         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16302         string array instead of assuming a single password
16303
16304         * gnome/applet/applet-dbus-info.c:
16305         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16306         user name; don't read from gconf
16307
16308         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16309         VPN_NAME_FILES_DIR
16310
16311         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16312
16313         * configure.in: Add checks for gmodule-2.0.
16314         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16315         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16316         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16317         for details
16318
16319         * vpn-daemons/Makefile.am: Removed
16320
16321         * vpn-daemons/README: New file to describe extensions points for VPN
16322         software
16323
16324 2005-06-10  Dan Williams <dcbw@redhat.com>
16325
16326         * src/backends/NetworkManagerRedHat.c
16327                 - (get_current_profile_name): new function, grab current network profile name from
16328                         /etc/sysconfig/network
16329                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16330                         update an IP4 Config structure's settings from it
16331                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16332                         get DNS info from current network profile
16333
16334 2005-06-09  Dan Williams <dcbw@redhat.com>
16335
16336         Patch from Robert Love:
16337         * src/NetworkManagerDevice.c
16338           src/NetworkManagerUtils.c
16339                 - 64-bit build fixes
16340
16341 2005-06-09  Dan Williams <dcbw@redhat.com>
16342
16343         Patch from Kay Sievers and Robert Love:
16344         * configure.in
16345           src/backends/Makefile.am
16346           src/backends/NetworkManagerSuSE.c
16347                 - Add SuSE support
16348
16349 2005-06-09  Dan Williams <dcbw@redhat.com>
16350
16351         * NetworkManager.h
16352                 - Add NMWirelessScanMethod enum for scan methods
16353
16354         * gnome/applet/applet-dbus-devices.c
16355                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16356                 - (nmwa_dbus_update_scanning_enabled): remove
16357                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16358                         since it got removed
16359                 - (nmwa_dbus_enable_scanning): remove
16360
16361         * gnome/applet/applet-dbus-info.c
16362                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16363                         update the wireless scanning method from NMI
16364                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16365                         method value to NetworkManager
16366                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16367
16368         * gnome/applet/applet-dbus-info.h
16369                 - Add prototype for nmi_dbus_signal_update_scan_method
16370
16371         * gnome/applet/applet.c
16372                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16373                         Wireless Scanning menu based on current wireless scan method
16374                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16375                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16376                         and update our menu items to make sure the right one is checked
16377                 - (nmwa_set_scanning_enabled_cb): remove
16378                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16379                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16380                         Scanning menu item
16381                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16382                         from GConf
16383                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16384                         so we get notified of preference values too
16385                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16386
16387         * gnome/applet/applet.h
16388                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16389                 - Add wireless scan method member to applet data
16390                 - Remove pause_scanning_item, add Wireless Scanning submenu
16391
16392         * src/NetworkManager.c
16393                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16394                 - (main): grab scanning method from NMI if we can
16395
16396         * src/NetworkManagerDbus.c
16397                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16398                         nm_dbus_update_wireless_scan_method()
16399                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16400                         from NMI
16401                 - (nm_dbus_nmi_is_running): redundant function, removed
16402                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16403                         when NMI comes back
16404
16405         * src/NetworkManagerDevice.c
16406                 - (nm_device_is_activated): return TRUE if the device is activated
16407                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16408                         and we are activated
16409
16410         * src/nm-dbus-nm.c
16411                 - (nm_dbus_nm_set_scanning_enabled): removed
16412                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16413                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16414
16415 2005-06-09  Dan Williams <dcbw@redhat.com>
16416
16417         * NetworkManager.h
16418           src/vpn-manager/nm-vpn-service.c
16419                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16420
16421 2005-05-27  Dan Williams <dcbw@redhat.com>
16422
16423         * vpn-daemons/vpnc/nm-vpnc-service.c
16424                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16425                         Should fix the bug where the VPN connection terminates the first time.
16426
16427 2005-05-20  Dan Williams <dcbw@redhat.com>
16428
16429         * NetworkManager.h
16430                 - Differentiate VPN config signals between bad VPN config options
16431                         and bad IP config
16432
16433         * gnome/applet/applet-dbus-info.h
16434                 - Add prototypes for wireless network and vpn connection update functions
16435
16436         * gnome/applet/applet-dbus.c
16437                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16438
16439         * gnome/applet/applet.c
16440                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16441                         error signals
16442                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16443                         propogation to NetworkManager
16444                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16445                         notify propogation to NetworkManager
16446
16447         * src/NetworkManagerDbus.c
16448                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16449                         are updating so a network can be removed from it if necessary
16450
16451         * src/vpn-manager/nm-vpn-manager.c
16452                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16453
16454         * vpn-daemons/vpnc/nm-vpnc-service.c
16455                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16456                 - (nm_vpnc_dbus_signal_launch_failed): remove
16457                 - (nm_vpnc_dbus_signal_connect_failed): remove
16458                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16459                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16460                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16461                         for new generalized error signal function, remove config file stuff
16462                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16463                         we can write configuration options to it
16464                 - (nm_vpnc_config_file_generate): removed
16465                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16466                 - (nm_vpnc_config_options_validate): validate the config options we receive
16467                         from NetworkManager to block potential exploits
16468                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16469                         starting vpnc
16470                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16471                         to NetworkManager
16472
16473 2005-05-16  Dan Williams  <dcbw@redhat.com>
16474
16475         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16476                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16477                         is not "connect"
16478
16479 2005-05-16  Dan Williams  <dcbw@redhat.com>
16480
16481         Patch from Tomislav Vujec <tvujec@redhat.com>
16482         * gnome/applet/applet-dbus-info.c
16483                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16484                         GConf and pass them to NetworkManager.  New key is 'routes' under
16485                         the VPN connection, and should be a string list
16486
16487         * src/NetworkManagerSystem.c
16488                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16489                         set them on the device when we set the rest of the VPN config.  Ensure
16490                         they are in the correct format since they are passed directly to the
16491                         command line.
16492
16493         * src/backends/NetworkManagerRedHat.c
16494           src/backends/NetworkManagerDebian.c
16495                 - (nm_system_device_add_route_via_device_with_iface): new function
16496
16497         * src/vpn-manager/nm-dbus-vpn.c
16498                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16499
16500         * src/vpn-manager/nm-vpn-manager.c
16501                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16502                         them into the IP4 config functions
16503
16504 2005-05-15  Dan Williams  <dcbw@redhat.com>
16505
16506         From Filip Miletic:
16507         * po/sr.po
16508           po/sr@Latn.po
16509           configure.in
16510                 - Serbian translation added
16511
16512 2005-05-15  Dan Williams  <dcbw@redhat.com>
16513
16514         * dispatcher-daemon/NetworkManagerDispatcher.c
16515                 - (main): sync arguments with NetworkManager and the applet, now use
16516                         "--no-daemon" rather than "daemon=no"
16517                 - (nmd_print_usage): Fix script path in usage message
16518
16519 2005-05-15  Dan Williams  <dcbw@redhat.com>
16520
16521         * src/NetworkManagerDevice.[ch]
16522           src/NetworkManagerPolicy.c
16523           src/NetworkManager.c
16524           src/nm-dbus-nm.c
16525                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16526                         longer send the DeviceNoLongerActive signal unconditionally, but only
16527                         when the device is actually active.
16528
16529         * dispatcher-daemon/NetworkManagerDispatcher.c
16530                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16531                         and simplify the logic
16532                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16533                         we free it later on
16534
16535         * initscript/RedHat/Makefile.am
16536           initscript/RedHat/NetworkManagerDispatcher
16537                 - Add initscript for NetworkManagerDispatcher
16538
16539
16540         Patch from Bill Moss:
16541         * dispatcher-daemon/NetworkManagerDispatcher.c
16542                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16543
16544         * src/NetworkManagerDbus.c
16545                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16546                         and DeviceNowActive gets signaled, then the device has a new IP address
16547                         anyway.  There's no need for a separate signal.
16548
16549         * src/NetworkManagerDevice.c
16550                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16551
16552         * src/NetworkManagerPolicy.c
16553                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16554                         activates successfully.  This kind of went missing when I reworked the
16555                         activation code.
16556
16557 2005-05-15  Dan Williams  <dcbw@redhat.com>
16558
16559         * configure.in
16560                 - Check for dhcdbd and error if its not found
16561
16562         * src/dhcp-manager/Makefile.am
16563           src/dhcp-manager/nm-dhcp-manager.c
16564                 - Use path to dhcdbd that configure found
16565
16566 2005-05-14  Dan Williams  <dcbw@redhat.com>
16567
16568         * gnome/applet/nm-device.c
16569                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16570                         sort wireless networks alphabetically
16571
16572         * gnome/applet/applet-dbus-devices.c
16573                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16574                         before copying them over to the GUI
16575
16576 2005-05-14  Dan Williams  <dcbw@redhat.com>
16577
16578         * src/NetworkManager.c
16579                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16580                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16581                         the device list, as does nm_get_active_device() which is called from
16582                         nm_vpn_manager_deactivate_vpn_connection().
16583
16584 2005-05-14  Dan Williams  <dcbw@redhat.com>
16585
16586         * NetworkManager.h
16587                 - Add signals for VPN Launch and Connect failures
16588
16589         * gnome/applet/applet-dbus.c
16590                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16591
16592         * gnome/applet/applet.c
16593                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16594                         function to handle all VPN failure messages
16595                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16596                         function to hanlde all VPN failure  messages
16597                 - (show_warning_dialog): work around focus-stealing prevention
16598
16599         * gnome/applet/other-network-dialog.c
16600           gnome/applet/passphrase-dialog.c
16601                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16602                         problem where it never enabled for ASCII Key and Hex Key types
16603
16604         * gnome/applet/wireless-applet.glade
16605                 - Add window title to Other Wireless Network Dialog
16606
16607         * src/vpn-manager/nm-dbus-vpn.c
16608                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16609                         function to handle all VPN failure messages
16610
16611         * src/vpn-manager/nm-vpn-manager.c
16612                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16613
16614         * vpn-daemons/vpnc/nm-vpnc-service.c
16615                 - (nm_vpnc_dbus_signal_launch_failed): new function
16616                 - (nm_vpnc_dbus_signal_connect_failed): new function
16617                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16618                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16619                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16620                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16621
16622 2005-05-11  Dan Williams  <dcbw@redhat.com>
16623
16624         * vpn-daemons/vpnc/nm-vpnc-service.c
16625                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16626                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16627                         file exists before trying to write it out.
16628
16629 2005-05-10  Dan Williams  <dcbw@redhat.com>
16630
16631     * gnome/applet/applet-dbus-device.c
16632         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16633             prevented just entering ESSID and leaving key and key type up to
16634             NetworkManager (which should have them already cached)
16635
16636 2005-05-08  Dan Williams  <dcbw@redhat.com>
16637
16638         * src/NetworkManagerPolicy.c
16639                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16640                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16641                         fix a situation where NM is told to terminate and the device stops activation,
16642                         but the main thread isn't aware of that because it would never have run
16643                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16644                         had already quit.
16645
16646         * src/NetworkManagerDevice.c
16647                 - (nm_device_probe_wired_link_state): cosmetic fixes
16648                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16649                         we've failed to activate or been canceled.
16650                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16651
16652 2005-05-08  Dan Williams  <dcbw@redhat.com>
16653
16654         * src/NetworkManagerWireless.c
16655                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16656                         value of WEXT quality structures, and add a debug message when we cannot
16657                         determine any quality % at all
16658
16659 2005-05-08  Dan Williams  <dcbw@redhat.com>
16660
16661         * src/dhcp-manager/nm-dhcp-manager.c
16662                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16663                         it goes down.
16664
16665 2005-05-06  Dan Williams  <dcbw@redhat.com>
16666
16667         * gnome/applet/applet-dbus-device.c
16668           gnome/applet/applet-dbus-info.c
16669           gnome/applet/applet-dbus.c
16670           gnome/applet/applet.c
16671           gnome/applet/applet.h
16672                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16673
16674         * gnome/applet/applet-dbus.c
16675                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16676                         so we notice when wired device's carriers come back on.  Should
16677                         fix issue with wired devices being grayed out even if the cable
16678                         is in, for devices that support carrier detection.
16679
16680         * gnome/applet/applet.c
16681                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16682                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16683                         tooltip message
16684                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16685                         Fix situation where applet wouldn't respond to menu selections
16686
16687         * src/NetworkManager.c
16688           src/NetworkManagerDevice.c
16689           src/NetworkManagerDbus.c
16690           src/NetworkManagerDbus.h
16691                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16692
16693         * src/NetworkManagerDbus.c
16694                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16695                         Remove, no longer used or relevant
16696                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16697                 - (nm_dbus_schedule_device_status_change_signal): add
16698
16699         * src/NetworkManagerDevice.c
16700                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16701                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16702                         ie don't deactivate them unless explicitly told to by the user.  Also send
16703                         CARRIER_OFF / CARRIER_ON signals when link changes
16704                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16705                         Don't print error message when device is no longer around
16706                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16707                         not just during activation
16708
16709         * src/NetworkManagerPolicy.c
16710                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16711                         auto-device-selection.
16712                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16713
16714         * src/NetworkManagerSystem.c
16715                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16716                         is no longer present (Bill Moss)
16717
16718         * src/backends/shvar.c
16719                 - (svOpenFile): Open read-only to make SELinux happy
16720
16721         * src/backends/NetworkManagerRedHat.c
16722                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16723                         the path to the ifcfg-* files
16724
16725 2005-05-05  Dan Williams  <dcbw@redhat.com>
16726
16727         * Expose activation stages to NetworkManager clients, like the applet
16728         * Add Diana's progress icons to the applet, cued off NM activation stage
16729         * Use more descriptive tooltips, cued off NM activation stage
16730
16731 2005-05-05  Ray Strode  <rstrode@redhat.com>
16732
16733         * src/nm-netlink-monitor.c:
16734                 - Use clear_event_source instead of g_nullify_pointer() again.
16735
16736 2005-05-05  Dan Williams  <dcbw@redhat.com>
16737
16738         * gnome/applet/main.c
16739                 - Fix session management so the applet is actually managed now
16740
16741         * gnome/applet/passphrase-dialog.c
16742                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16743
16744 2005-05-05  Dan Williams  <dcbw@redhat.com>
16745
16746         Patch from Bill Moss:
16747         * gnome/libnm_glib/libnm_glib.c
16748                 - Fix for dbus-0.33
16749
16750 2005-05-05  Dan Williams  <dcbw@redhat.com>
16751
16752         Suggestion from Bill Moss:
16753         * src/NetworkManagerSystem.c
16754                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16755
16756
16757         * src/NetworkManager.c
16758                 - (nm_data_free): move destruction of the various managers after
16759                         release of device list, because deactivating and freeing a device
16760                         requires at least the named manager
16761                 - (nm_poll_and_update_wireless_link_state):
16762                   (nm_device_link_activated):
16763                   (nm_device_link_deactivated):
16764                         don't grab the device list lock when actually updating device
16765                         link status or strength, since nm_device_set_link_active()
16766                         needs to call nm_get_active_device(), which also locks the device list.
16767
16768         * src/NetworkManagerDevice.c
16769                 - (nm_device_set_link_active): if a device's link switches from off->on,
16770                         and it's wired, and the active device is wireless (or there is no
16771                         active device), activate the new device whose link just came on
16772                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16773                         my only calling the link to the current ap "failed" when more than 2
16774                         consecutive link checks have failed
16775
16776 2005-05-04  Dan Williams  <dcbw@redhat.com>
16777
16778         * src/NetworkManagerDevice.c
16779                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16780                         but let link_to_specific_ap() do the locking where it needs
16781
16782         Patch from Bill Moss:
16783         * src/NetworkManagerSystem.c
16784                 - Set MTU of VPN devices to 1412
16785
16786 2005-05-04  Dan Williams  <dcbw@redhat.com>
16787
16788         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16789
16790         * Fix some holes in device activation and retaining the currently connected
16791                 access point
16792
16793 2005-05-03  Dan Williams  <dcbw@redhat.com>
16794
16795         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16796           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16797           means you need dhcdbd, which you can get here (get the latest one):
16798
16799                 http://people.redhat.com/jvdias/dhcdbd/
16800
16801           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16802           interface as dhcdbd.
16803
16804         * Rewrite device activation to facilitate the new DHCP infrastructure and
16805           future improvements.  Its now "activation request" based, ie there is a single
16806           activation request composed of the device, access point, and other info which
16807           follows the entire activation process.  There are 5 stages of the activation
16808           process which correspond to:
16809
16810                 1) Device preparation
16811                 2) Device configuration (bring it up, set ESSID/Key/etc)
16812                 3) IP Config Start (fire off DHCP if we're using it)
16813                 4) IP Config Get (grab config from DHCP or static config files)
16814                 5) IP Config Commit (set device's IP address, DNS, etc)
16815
16816           Note that there is no longer a "scanning" step, since the access point must
16817           be known _before_ activation starts.  If the access point drops out or does
16818           not exist for some reason, the entire activation process fails and must be
16819           restarted for a different access point or device.
16820
16821         Patch from Bill Moss:
16822         * gnome/applet/applet.c
16823                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16824
16825 2005-04-27  Dan Williams  <dcbw@redhat.com>
16826
16827         * gnome/applet/applet-dbus-vpn.c
16828           gnome/applet/applet.c
16829           gnome/applet/applet.h
16830                 - Fix up active VPN handling so that we reliably know when a VPN
16831                         connection has been deactivated
16832
16833         * src/vpn-manager/nm-vpn-manager.c
16834                 - Remove duplicate VPNConnectionChange signal
16835
16836 2005-04-27  Dan Williams  <dcbw@redhat.com>
16837
16838         Patch from Peter Jones:
16839         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16840
16841         Patch from Bill Moss:
16842         * src/NetworkManagerSystem.c
16843                 - Fix checking of return value from ioctl()
16844
16845 2005-04-27  Dan Williams  <dcbw@redhat.com>
16846
16847         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16848         * Warn and exit if icons cannot be found
16849
16850 2005-04-27  Dan Williams  <dcbw@redhat.com>
16851
16852         Patch from Tom Parker:
16853         * Update debian backend
16854
16855 2005-04-27  Dan Williams  <dcbw@redhat.com>
16856
16857         * Merge the applet and the info-daemon, and move the converged
16858                 applet under gnome/applet
16859         * Move libnm_glib to gnome/libnm_glib
16860         * Convert most dbus calls between the applet, info-daemon, and NM
16861                 into async calls
16862         * Fix a few things valgrind noticed
16863         * Make NM broadcast state more reliably
16864
16865 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16866
16867         * configure.in: Added ne in ALL_LINGUAS
16868
16869 2005-04-15  Dan Williams  <dcbw@redhat.com>
16870
16871         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16872                 code for dbus 0.2x versions
16873
16874 2005-04-15  Dan Williams  <dcbw@redhat.com>
16875
16876         Patches from Tom Parker:
16877         - Fix memleaks
16878         - Join with worker thread rather than polling for its exit
16879
16880         Patch from Bill Moss:
16881         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16882
16883 2005-04-15  Dan Williams  <dcbw@redhat.com>
16884
16885         - Fixes to pass 'make distcheck'
16886
16887 2005-04-15  Dan Williams  <dcbw@redhat.com>
16888
16889         Initial VPN Support
16890                 - supports 'vpnc'
16891                 - reworks device IP configuration, backend files have changed and will need
16892                         to be updated for all distributions.  I will try to do what I can for
16893                         them, but I cannot test them.
16894
16895         - Move named directory to src/named-manager
16896         - Make backends directory self-contained
16897
16898 2005-04-06  Dan Williams  <dcbw@redhat.com>
16899
16900         Add debug code for socket/file descriptor leaks.  We register every socket
16901         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16902         list of sockets that we forgot to close on shutdown.  This also consolidates
16903         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16904
16905 2005-04-06  Dan Williams  <dcbw@redhat.com>
16906
16907         * dhcpcd/dhcpcd.c
16908                 - (dhcp_interface_free): fix a file descriptor leak that may have
16909                         caused network drivers to not unload due to refcounts > 0
16910
16911 2005-04-04  Dan Williams  <dcbw@redhat.com>
16912
16913         * panel-applet/NMWirelessAppletDbus.c
16914                 - (nmwa_dbus_call_nm_method): remove some commented code
16915
16916         * src/NetworkManagerAPList.[ch]
16917                 - (nm_ap_list_remove_ap_by_essid): new function
16918
16919         * src/NetworkManagerDevice.c
16920                 - (nm_device_wireless_force_use): remove access points from the ignore list
16921                         when the user forces them
16922
16923         * src/nm-dbus-device.c
16924                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
16925
16926 2005-04-04  Dan Williams  <dcbw@redhat.com>
16927
16928         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
16929
16930 2005-04-04  Dan Williams  <dcbw@redhat.com>
16931
16932         * src/NetworkManagerDevice.c:
16933                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
16934                         of only erroring after the second consecutive scan times out.  Also
16935                         don't exit when the card requires more time than we can give it, just
16936                         log the event and continue.
16937
16938 2005-04-01  Steve Murphy  <murf@e-tools.com>
16939
16940         * configure.in: Added "rw" to ALL_LINGUAS.
16941
16942 2005-04-01  Dan Williams <dcbw@redhat.com>
16943
16944         Perform scans during device activation, if needed.  Both activation 
16945         and scans run in the same GMainContext.  Therefore, if an access point
16946         is not found by the time the device starts activation, it will not
16947         be available until after activation.  We now try to scan during
16948         activation (in nm_wa_test) every 15s so that all available access
16949         points are more likely to be found and available for the activation
16950         procedure.
16951
16952         Also change nm_wireless_link_state_handle() to only update the "best"
16953         AP if we are not forcing a device and if we are not about to change
16954         state.  This attempts to work around a race when forcing a device,
16955         where the forced AP would get cleared out too soon by the link state
16956         checking timeout in the main thread, and the activation attempt with
16957         that AP would fail.
16958
16959 2005-04-01  Dan Williams <dcbw@redhat.com>
16960
16961         * po/POTFILES.in
16962                 - Update with new translatables
16963
16964 2005-03-31  Dan Williams <dcbw@redhat.com>
16965
16966         * panel-applet/NMWirelessAppletDbus.c
16967                 - Fix device names now that hal has changed device parenting for
16968                         network devices.
16969
16970 2005-03-31  Dan Williams <dcbw@redhat.com>
16971
16972         Tighten up handling of wireless devices that don't support wireless
16973         scanning (ie, Orinoco).  Due to restructuring of code, these devices
16974         hadn't been doing pseudo-scanning for a while either and would just
16975         spin waiting for an access point.  They are now manual devices where
16976         the user must choose the access point from the menu every time.  All
16977         "allowed" access points are listed in the applet's menu regardless
16978         of whether or not they can be seen by the card, since it can't scan
16979         anyway.
16980
16981         * src/NetworkManager.c
16982                 - (nm_wireless_link_state_handle): new function, but only update
16983                         the "best" ap for non-scanning devices when its not activating,
16984                         and when no device is being forced on the card
16985                 - (nm_link_state_monitor): split wireless link state handling out
16986                         into separate function
16987
16988         * src/NetworkManagerDevice.c
16989                 - (nm_device_copy_allowed_to_dev_list): new function
16990                 - (nm_device_new): populate non-scanning cards' AP lists with
16991                         access points from the "allowed" list
16992                 - (nm_device_new): don't start a scanning timeout for devices that
16993                         can't scan
16994                 - (nm_device_activation_schedule_finish): new parameter, should be
16995                         the AP that failed to be connected to, pass it on to the
16996                         activation finish function in NetworkManagerPolicy.c
16997                 - (nm_device_activate_wireless): don't ever try to get a new AP
16998                         for non-scanning devices, just fail.  The user must choose
16999                         a new access point manually.
17000                 - (nm_device_activate): grab the AP that failed connection and
17001                         pass it on
17002                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17003                         a link to it, user must manually choose a new one
17004                 - (nm_device_do_pseudo_scan): remove function
17005                 - (nm_device_wireless_process_scan_results): remove bits for non-
17006                         scanning cards since they never get here
17007                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17008                         and fake the scan list for test devices a bit earlier
17009
17010         * src/NetworkManagerPolicy.c
17011                 - (nm_policy_activation_finish): use the failed_ap that we get
17012                         passed rather than getting the best_ap from the card, which
17013                         may have changed since we were scheduled
17014                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17015                         update their scan list directly from the allowed list when
17016                         we get updates to the allowed list from NetworkManagerInfo
17017
17018         * src/NetworkManagerPolicy.h
17019                 - New member for failed access point in NMActivationResult
17020
17021   -------------------------------------
17022
17023         Driver Notification patch: notifies the user when their driver
17024                 sucks.  Gives them the option to ignore further insertions
17025                 of the card that has the sucky driver.
17026
17027         * NetworkManager.h
17028                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17029                         enum and replace it with NO_CARRIER_DETECT and
17030                         NO_WIRELESS_SCAN
17031
17032         * panel-applet/NMWirelessApplet.[ch]
17033                 - Merge essid.glade -> wireless-applet.glade
17034                 - Implement the "Your driver sucks" notification dialog
17035
17036         * panel-applet/NMWirelessAppletDbus.c
17037                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17038                 - Grab hardware address for each device from NM too
17039                 - Check whether the driver for each device sucks or not whenever
17040                         a new device is noticed
17041
17042         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17043                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17044
17045         * src/NetworkManager.c
17046                 - Fix a double-unref on device removal
17047
17048         * src/NetworkManagerUtils.c
17049                 - Set appropriate driver support level on a device that doesn't
17050                         support scanning or carrier detection
17051
17052         * src/nm-dbus-device.c
17053                 - New "getHWAddress" dbus method on devices
17054                 - getSupportsCarrierDetect -> getDriverSupportLevel
17055
17056 2005-03-31  Dan Williams <dcbw@redhat.com>
17057
17058         * src/NetworkManagerDevice.c
17059                 - (nm_device_wireless_scan): Fix leak of scan results in some
17060                         instances
17061
17062 2005-03-29  Dan Williams <dcbw@redhat.com>
17063
17064         * src/NetworkManager.c
17065                 - (nm_poll_and_update_wireless_link_state): make code less indented
17066
17067         Patch from Bill Moss:
17068         * src/NetworkManager.c
17069                 - (nm_device_update_link_state): Update signal strength on wireless
17070                         devices every time we update link state too.
17071
17072 2005-03-29  Dan Williams <dcbw@redhat.com>
17073
17074         * src/NetworkManagerDevice.c
17075                 - (nm_device_set_essid): Work around Orinoco cards which need
17076                         extra time after setting the ESSID
17077
17078 2005-03-29  Dan Williams <dcbw@redhat.com>
17079
17080         * src/NetworkManagerDevice.c
17081                 - Merge one more bit of Peter Jones' completion patch
17082
17083 2005-03-29  Dan Williams <dcbw@redhat.com>
17084
17085         * src/NetworkManagerDevice.c
17086                 - (nm_device_force_use): Fix possible segfault
17087
17088 2005-03-29  Dan Williams <dcbw@redhat.com>
17089
17090         * src/NetworkManagerDevice.c
17091                 - Use iw_get_ext() where we should rather than iw_set_ext()
17092
17093 2005-03-29  Dan Williams <dcbw@redhat.com>
17094
17095         * src/NetworkManagerDevice.c
17096                 - (nm_device_set_up_down): remove check for unsupported devices
17097                         that caused NM to not bring devices up when they were
17098                         added to the device list.
17099
17100 2005-03-28  Dan Williams <dcbw@redhat.com>
17101
17102         * src/NetworkManagerDevice.c
17103                 - (mdio_read): Fix two bugs that caused all devices to fail
17104                         the MII carrier detection support checks
17105
17106 2005-03-26  Dan Williams <dcbw@redhat.com>
17107
17108         * src/NetworkManagerDevice.c
17109                 - (nm_device_wireless_scan): Remove duplicated scanning code
17110
17111 2005-03-25  Dan Williams <dcbw@redhat.com>
17112
17113         * panel-applet/NMWirelessApplet.c
17114                 - (nmwa_about_cb): Add some more contributors
17115                 - (nmwa_update_state): show the applet when there's no connection
17116                 - Enable the "Stop/Resume all wireless devices" option in the
17117                         context menu
17118                 - New "no connection" icon
17119
17120         * src/NetworkManager.c
17121                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17122                         wireless is disabled or we're asleep
17123
17124         * src/NetworkManagerDHCP.c
17125                 - Remove trailing "\n" on debug messages
17126
17127         * src/NetworkManagerDbus.c
17128                 - (nm_dbus_network_status_from_data): new state "asleep"
17129
17130         * src/NetworkManagerDevice.c
17131                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17132                         latency and wait times for most operations
17133                 - (nm_device_wireless_scan): Don't scan when asleep
17134
17135         * src/NetworkManagerPolicy.c
17136                 - (nm_policy_get_best_device): return no device when asleep
17137                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17138                         for all wireless devices on update, not just active device
17139
17140         * src/NetworkManagerUtils.c
17141                 - Merge Peter Jones' "completion" patch
17142
17143         * src/nm-dbus-nm.c
17144                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17145                         we're told to disable them
17146                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17147
17148         * utils/nm-utils.h
17149                 - New variants of the warn/info/error/debug print functions that can take
17150                         variables rather than static strings
17151
17152 2005-03-24  Dan Williams <dcbw@redhat.com>
17153
17154         * src/NetworkManagerUtils.c
17155                 - (nm_get_device_driver_name): driver names are now on the parents of
17156                         "Network Interface" objects, so look for them there
17157
17158 2005-03-24  Dan Williams <dcbw@redhat.com>
17159
17160         * test/nmtest.c
17161                 - Escape some forgotten object paths before we shove them through dbus
17162
17163 2005-03-24  Dan Williams <dcbw@redhat.com>
17164
17165         * dhcpcd/dhcpcd.[ch]
17166           src/NetworkManagerDHCP.c
17167                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17168                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17169
17170         * src/NetworkManagerDbus.c
17171                 - spacing cleanups
17172
17173         * src/nm-dbus-dhcp.c
17174                 - Make the API suck less.  There is now only 1 type of each function,
17175                         ie only "getInteger" and no longer also "getIntegerv".  All types
17176                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17177                         that will never have more than 1 element.  This should simplify
17178                         things greatly.
17179
17180         * test/nm-dhcp-opt-test.c
17181                 - Make the tool not segfault
17182                 - adapt to new DHCP Options API
17183
17184 2005-03-22  Dan Williams <dcbw@redhat.com>
17185
17186         * src/NetworkManager.c
17187                 - (nm_wired_link_deactivated): actually ignore netlink events from
17188                         wireless devices.
17189
17190 2005-03-22  Dan Williams <dcbw@redhat.com>
17191
17192         * src/NetworkManager.c
17193                 - (nm_wired_link_activated): actually ignore netlink events from
17194                         wireless devices.
17195
17196 2005-03-17  Dan Williams <dcbw@redhat.com>
17197
17198         Patch from Tom Parker:
17199         * src/nm-netlink-monitor.c
17200                 - Include unistd.h
17201         * info-daemon/NetworkManagerInfoDbus.c
17202                 - (nmi_dbus_update_network_auth_method): free GConf values
17203
17204         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17205         * src/NetworkManagerDevice.c
17206                 - (nm_device_set_wireless_config): wait for successful
17207                         association longer for some cards (Atheros a/b/g)
17208
17209 2005-03-15  Ray Strode  <rstrode@redhat.com>
17210
17211         * src/NetworkManager.c:
17212         (sigterm_pipe_handler):
17213         remove bogus FIXME
17214
17215 2005-03-15  Ray Strode  <rstrode@redhat.com>
17216
17217         * src/NetworkManagerDbus.c:
17218         Fix some sign weirdness that gcc4 doesn't like,
17219         and add a header file so PPC can hopefully find
17220         SIGTRAP
17221
17222 2005-03-14  Ray Strode  <rstrode@redhat.com>
17223         
17224         Fourth (probably working) cut at porting to
17225         dbus 0.30 api and new hal. This cut adds
17226         some new logging macros to make debugging
17227         easier.
17228
17229         * dispatcher-daemon/NetworkManagerDispatcher.c:
17230         * info-daemon/NetworkmanagerInfo.c:
17231         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17232         * info-daemon/NetworkManagerInfoVPN.c:
17233         * src/NetworkManager.c:
17234         * src/NetworkManagerAP.c:
17235         * src/NetworkManagerAPList.c:
17236         * src/NetworkManagerDHCP.c:
17237         * src/NetworkManagerDbus.c:
17238         * src/NetworkManagerDevice.c:
17239         * src/NetworkManagerPolicy.c:
17240         * src/NetworkManagerSystem.c:
17241         * src/NetworkManagerUtils.c:
17242         * src/NetworkManagerWireless.c:
17243         * src/autoip.c:
17244         * src/nm-dbus-nm.c:
17245         * src/backends/NetworkManagerDebian.c:
17246         * src/backends/NetworkManagerGentoo.c:
17247         * src/backends/NetworkManagerRedHat.c:
17248         * src/backends/NetworkManagerSlackware.c:
17249         use new logging macros.
17250
17251         * dispatcher-daemon/NetworkManagerDispatcher.c:
17252         (nmd_dbus_filter): s/dbus_free/g_free/
17253
17254         * info-daemon/Makefile.am: link in utils library.
17255         * info-daemon/NetworkmanagerInfo.c: use new logging 
17256         macros.
17257         (nmi_dbus_get_network): don't assume enumerations
17258         are 32-bit.
17259         (nmi_dbus_nmi_message_handler): don't free what 
17260         doesn't belong to us.
17261
17262         * libnm_glib/libnm_glib.c:
17263         (libnm_glib_get_nm_status): 
17264         (libnm_glib_init): don't free what doesn't
17265         belong to us.
17266         (libnm_glib_dbus): strdup result, so it doesn't get
17267         lost when message is unref'd.
17268
17269         * panel-applet/NMWirelessAppletDbus.c:
17270         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17271
17272         * src/NetworkManager.c:
17273         (nm_monitor_wired_link_state): request initial status 
17274         dump of all cards when we start up, instead of relying
17275         on /sys/.../carrier.
17276         (nm_info_handler), (nm_set_up_log_handlers): 
17277         log handlers to specify what syslog priorites 
17278         the logging macros default to.
17279
17280         * src/NetworkManagerAPList.c: 
17281         (nm_ap_list_populate_from_nmi):
17282         s/dbus_free_string_array/g_strfreev/
17283
17284         * src/NetworkManagerDbus.c:
17285         (nm_dbus_get_network_object):
17286         validate d-bus message argument types.
17287         Advance message iterator after reading argument,
17288         prepend instead of append to GSList.
17289
17290         * src/NetworkManagerDevice.c:
17291         (nm_device_probe_wired_link_status):
17292         remove redundant /sys in /sys path. remove wrong
17293         contents == NULL means has carrier assumption.
17294
17295         * src/nm-netlink-monitor.c 
17296         (nm_netlink_monitor_request_status): implement
17297         function to ask kernel to dump interface link
17298         status over netlink socket.
17299
17300         * test/*.c: s/dbus_free/g_free/
17301
17302         * utils/nm-utils.h:
17303         (nm_print_backtrace): new macro to print backtrace.
17304         (nm_get_timestamp): new macro to get sub-second precise
17305         unix timestamp.
17306         (nm_info), (nm_debug), (nm_warning), (nm_error):
17307         new logging functions. nm_info just prints,
17308         nm_debug includes timestamp and function,
17309         nm_warning includes function, nm_error includes
17310         backtrace and sigtrap.
17311
17312 2005-03-11  Ray Strode  <rstrode@redhat.com>
17313
17314         Third (unfinished, partially working) cut at porting to 
17315         dbus 0.30 api and new hal.
17316
17317         * info-daemon/NetworkManagerInfoDbus.c:
17318                 don't free null arrays.
17319
17320         * panel-applet/NMWirelessAppletDbus.c: 
17321         * src/nm-dbus-device.c:
17322         * src/nm-dbus-net.c: 
17323         * src/NetworkManagerDbus.c: more 
17324         STRING -> OBJECT_PATH fun
17325         * src/NetworkManagerDevice.c:
17326         * src/NetworkManagerDevice.h:
17327         (rename nm_device_get_link_active): rename to 
17328         nm_device_has_active_link
17329         (nm_device_wireless_link_active): rename to
17330         nm_device_probe_wireless_link_state
17331         (nm_device_wired_link_active): rename to
17332         nm_device_probe_wired_link_state.  Rewrite to
17333         use carrier file since hal doesn't maintain
17334         link state anymore.
17335         (nm_device_update_link_active): rename to
17336         nm_device_update_link_state
17337         * src/NetworkManagerPolicy.c 
17338           (nm_policy_activation_finish): check for NULL
17339           MAC address.
17340
17341         * src/Makefile.am:
17342         * src/NetworkManagerMain.h: 
17343         * src/NetworkManager.c:
17344         * src/nm-netlink-monitor.c:
17345         * src/nm-netlink-monitor.h: New class to support
17346         monitoring wired ethernet link status, since HAL
17347         doesn't export that information anymore.
17348
17349 2005-03-09  Ray Strode  <rstrode@redhat.com>
17350
17351         Second (unfinished, unworking) cut at porting to 
17352         dbus 0.30 api.
17353
17354         * dispatcher-daemon/NetworkManagerDispatcher.c:
17355         * info-daemon/NetworkManagerInfoDbus.c:
17356         * panel-applet/NMWirelessAppletDbus.c:
17357         * src/NetworkManagerDbusUtils.c:
17358         * src/NetworkManagerDbusUtils.h:
17359         * src/nm-dbus-device.c:
17360         * src/nm-dbus-nm.c:
17361         * test/nmtest.c: support dbus "object path" type
17362
17363         * configure.in: 
17364         * Makefile.am:
17365         * info-daemon/Makefile.am:
17366         * libnm_glib/Makefile.am:
17367         * panel-applet/Makefile.am:
17368         * dispatcher-daemon/Makefile.am
17369         * src/Makefile.am:
17370         * test/Makefile.am:
17371         * utils/Makefile.am: 
17372         * utils/nm-utils.c: 
17373         * utils/nm-utils.h: new utils static lib
17374
17375 2005-03-07  Ray Strode  <rstrode@redhat.com>
17376
17377         * info-daemon/NetworkManagerInfoDbus.c:
17378         * libnm_glib/libnm_glib.c:
17379         * panel-applet/NMWirelessAppletDbus.c:
17380         * src/NetworkManager.c:
17381         * src/NetworkManagerDbus.c:
17382         * src/NetworkManagerDevice.c:
17383         * src/NetworkManagerUtils.c:
17384         * src/nm-dbus-device.c:
17385         * src/nm-dbus-dhcp.c:
17386         * src/nm-dbus-net.c:
17387         * src/nm-dbus-nm.c:
17388         * test/nminfotest.c:
17389         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17390
17391 2005-03-04  Dan Williams  <dcbw@redhat.com>
17392
17393         * configure.in
17394                 - Mark HEAD as 0.4
17395
17396 2005-03-04  Dan Williams  <dcbw@redhat.com>
17397
17398         Patch from Peter Jones:
17399         - Make stuff work with gcc 4.0
17400
17401 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17402
17403         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17404
17405 2005-02-27  Jim Huang  <jserv@kaffe.org>
17406
17407         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17408
17409 2005-02-27  Dan Williams  <dcbw@redhat.com>
17410
17411         Patch from Bill Moss:
17412         * panel-applet/NMWirelessAppletDbus.c
17413                 - Make sure strength for current access point is up-to-date when we
17414                         update the gui data model
17415
17416 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17417
17418         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17419
17420 2005-02-27  Dan Williams  <dcbw@redhat.com>
17421
17422         * src/backends/NetworkManagerRedHat.c
17423                 - (nm_system_init): Kill any dhclient processes lying around as well
17424                         as stopping 'nifd' if its already been started.  NetworkManager
17425                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17426
17427 2005-02-27  Dan Williams  <dcbw@redhat.com>
17428
17429         * panel-applet/NMWirelessApplet.c
17430                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17431                         dbus data model, not the GUI data model twice.
17432
17433 2005-02-27  Dan Williams  <dcbw@redhat.com>
17434
17435         * panel-applet/NMWirelessApplet.[ch]
17436           panel-applet/NMWirelessAppletDbus.[ch]
17437                 - Move to incremental network updates.  Instead of blowing away our list
17438                         of devices every time we get a signal from NetworkManager, we now
17439                         incrementally add/remove networks when NetworkManager notifies us that
17440                         a new network has appeared or disappered.  Strength updates now happen
17441                         on-the-fly for each access point as well.  There are now two copies of
17442                         data from NetworkManager: one for the dbus side, and one for the gui side.
17443                         When the dbus side data is modified, it is copied over to the gui side
17444                         so we don't have to hold the data_mutex for long periods of time (and
17445                         therefore block animation of the applet's icon).
17446                 - Clean up some memleaks too
17447
17448         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17449                 - Minor code beautification
17450
17451         * src/NetworkManagerAPList.c
17452                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17453                         completely new and whether or not an existing one's strength was updated.
17454                         Try to fix multiple access points and signal strength by using the highest
17455                         signal strength in each scan for any given ESSID.
17456
17457         * src/NetworkManagerDbus.[ch]
17458                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17459                         wireless networks; now we have only WirelessNetworkUpdate which includes
17460                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17461                 - Kill usage of DbusMessageIter
17462
17463         * src/NetworkManagerDevice.c
17464                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17465                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17466                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17467                         currently associated with from the network list.
17468                 - Update for new signals during scan, send out Appeared, Disappeared, or
17469                         StrengthChanged when necessary.
17470
17471 2005-02-25  Dan Williams  <dcbw@redhat.com>
17472
17473         * README
17474                 - Line break the README
17475
17476 2005-02-25  Dan Williams  <dcbw@redhat.com>
17477
17478         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17479                 - Remove usage of gtk_window_set_default_size()
17480
17481         * panel-applet/essid.glade
17482                 - Stick default size here
17483                 - Add in random crap that current glade wants to add in now
17484
17485 2005-02-25  Dan Williams  <dcbw@redhat.com>
17486
17487         * src/backends/NetworkManagerRedHat.c
17488                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17489                         and that we actually tell nscd to reload the hosts cache when it changes
17490
17491 2005-02-25  Dan Williams  <dcbw@redhat.com>
17492
17493         * info-daemon/NetworkManagerInfoDbus.c
17494                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17495
17496         * test/nminfotest.c
17497                 - Whack usage of DbusMessageIter
17498                 - Clean up DbusError and DbusMessage handling and freeing
17499                 - Remove unused unregister handler
17500
17501         * test/nmtest.c
17502                 - Whack usage of DbusMessageIter
17503
17504         * test/nmtestdevices.c
17505                 - Whack usage of DbusMessageIter
17506
17507 2005-02-25  Dan Williams  <dcbw@redhat.com>
17508
17509         * NetworkManager.h
17510                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17511                         signal
17512
17513 2005-02-25  Dan Williams  <dcbw@redhat.com>
17514
17515         * named/nm-named-manager.c
17516                 - Ensure that pid and watch variables for child named process get cleared out
17517                         when the child goes away.
17518
17519 2005-02-22  Dan Williams  <dcbw@redhat.com>
17520
17521         * src/NetworkManagerPolicy.c
17522                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17523                         and NULL out data->active_device so that we have to choose another one.
17524                         This may make NetworkManager keep attempting to connect to a wired network
17525                         if it fails, but if it keeps failing the wired network has more problems than
17526                         just NetworkManager.
17527
17528         * src/backends/NetworkManagerRedHat.c
17529                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17530                         is already running
17531
17532         * named/nm-named-manager.c
17533                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17534                         named so that the distro can flush whatever name service caching
17535                         daemon it uses
17536
17537 2005-02-21  Dan Williams  <dcbw@redhat.com>
17538
17539         * src/NetworkManagerDHCP.[ch]
17540                 - (nm_device_dhcp_remove_timeouts): new function
17541
17542         * src/NetworkManagerDevice.c
17543                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17544                         remove the DHCP timeouts.
17545
17546 2005-02-21  Dan Williams  <dcbw@redhat.com>
17547
17548         * panel-applet/NMWirelessApplet.[ch]
17549           panel-applet/menu-info.[ch]
17550                 - Give the panel applet some major love: menu items are no longer
17551                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17552                         This allows the applet to actually reflect theme changes correctly,
17553                         since themeing of subclassed items in GTK _sucks_.
17554
17555 2005-02-18  Dan Williams  <dcbw@redhat.com>
17556
17557         * libnm_glib/libnm_glib.[ch]
17558           test/libnm_glib_test.c
17559                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17560                         and its data, and doesn't have to free the callback data anymore
17561
17562 2005-02-18  Dan Williams  <dcbw@redhat.com>
17563
17564         * panel-applet/NMWirelessApplet.c
17565                 - Revert 2005-02-18 William Jon McCann fix for standard
17566                         copyright string until it passes 'make distcheck'.
17567                         With standard copyright string, xgettext complains
17568                         about "Non-ASCII string at ...".
17569
17570 2005-02-18  Dan Williams  <dcbw@redhat.com>
17571
17572         * panel-applet/essid.glade
17573           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17574                 - Correct spelling of "adaptor"->"adapter"
17575
17576 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17577
17578         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17579         (nmwa_about_cb): Use standard copyright string.  Update comment
17580         text to reflect that it is a notification area applet.  Remove
17581         leading newline in authors list.
17582         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17583         instead of on parent menu item activation.  Fixes #167550.
17584
17585 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17586
17587         * panel-applet/essid.glade: Capitalize items as per HIG.
17588           Fixes #167632
17589
17590 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17591
17592         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17593         files for GTK 2.4 or lower, since now public in GTK 2.6.
17594
17595         * panel-applet/essid.glade: Don't specify window size.
17596         
17597 2005-02-17  Dan Williams  <dcbw@redhat.com>
17598
17599         Caught by Bill Moss:
17600         * dhcpcd/client.c
17601                 - Time remaining for DHCP transaction calculation was incorrectly
17602                         inside a #ifdef DEBUG
17603
17604 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17605
17606         * configure.in: Added fr (French) to ALL_LINGUAS.
17607
17608 2005-02-14  Dan Williams  <dcbw@redhat.com>
17609
17610         * src/NetworkManagerDHCP.c
17611                 - (set_domain_searches): Fix free of invalid pointer
17612
17613 2005-02-14  Dan Williams  <dcbw@redhat.com>
17614
17615         Patch from Peter Jones:
17616         * dhcpcd/client.c
17617                 - Ensure we return RET_DHCP_CEASED everywhere we should
17618         * dhcpcd/udpipgen.c
17619                 - Use faster TOS for IP packets
17620                 - Don't set ip_id since we're UDP
17621
17622         Patch from Tomislav Vujec:
17623         * src/nm-dbus-dhcp.c
17624           test/nm-dhcp-opt-test.c
17625                 - Clean up warnings to enable cvs tree compilation.
17626
17627 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17628
17629         * configure.in
17630           po/hr.po
17631                 - Add the Croatian locale.
17632
17633 2005-02-14  Colin Walters  <walters@verbum.org>
17634
17635         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17636         list of domains to search.
17637         
17638         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17639
17640 2005-02-13  Dan Williams  <dcbw@redhat.com>
17641
17642         * dhcpcd/client.c
17643                 - Debug output cleanups of DHCP option printing and parsing.
17644
17645 2005-02-13  Dan Williams  <dcbw@redhat.com>
17646
17647         Patch from Dan Reed:  DHCP options D-BUS API
17648                 Exposes the DHCP options that a device receives to clients over D-BUS.
17649
17650         * configure.in
17651                 - A few cleanups
17652
17653         * dhcpcd/client.h
17654                 - Correct names, option length, and types for DHCP options
17655
17656         * dhcpcd/dhcpcd.[ch]
17657                 - Clarify function names that access DHCP options & data
17658
17659         * src/NetworkManagerDHCP.c
17660                 - Use new DHCP data access functions
17661
17662         * src/NetworkManagerDbus.c
17663                 - Message handler for DHCP functions
17664
17665         * src/nm-dbus-dhcp.[ch] (new)
17666                 - DHCP dbus methods
17667
17668         * test/nm-dhcp-opt-test.c
17669                 - Test DHCP D-BUS API and return all present DHCP options
17670
17671 2005-02-12  Dan Williams  <dcbw@redhat.com>
17672
17673         * test/Makefile.am
17674           test/nmclienttest.c
17675           test/nmtest.c
17676                 - Move nmclienttest.c -> nmtest.c
17677
17678 2005-02-12  Dan Williams  <dcbw@redhat.com>
17679
17680         * dhcpcd/buildmsg.c
17681                 - Pad DHCP packets until they are at least 300 bytes in size.
17682
17683 2005-02-11  Dan Williams  <dcbw@redhat.com>
17684
17685         * dhcpcd/client.c
17686                 - (dhcp_init): only print out client ID and class ID if they are specified
17687
17688         * src/NetworkManagerDbus.[ch]
17689           src/nm-dbus-nm.[ch]
17690           src/nm-dbus-device.[ch]
17691           src/nm-dbus-net.[ch]
17692                 - Move NM, Device, and Net functions to separate files and use the
17693                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17694                         method dispatching
17695
17696         * src/NetworkManagerDbusUtils.c
17697                 - Add new validate_method called before each dispatch (if present)
17698                         that can validate the method call
17699
17700         * src/NetworkManagerWireless.c
17701                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17702                         levels never to be evaluated
17703
17704         Patch from j@bootlab.org
17705         * src/NetworkManagerDevice.c
17706                 - Add typedef for "u64"
17707
17708         * src/backends/NetworkManagerDebian.c
17709                 - Copy in Dave Woodhouse's fixes for IPv6
17710
17711 2005-02-11  Dan Williams  <dcbw@redhat.com>
17712
17713         Patch from Dave Woodhouse for IPv6:
17714         * src/NetworkManagerUtils.c
17715                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17716                         and multicast addresses
17717
17718         * src/NetworkManagerDevice.c
17719                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17720                         after bringing up a card.
17721
17722 2005-02-10  Dan Williams  <dcbw@redhat.com>
17723
17724         Patch from Dave Woodhouse:
17725         * src/NetworkManagerSystem.h
17726           src/backends/NetworkManagerDebian.c
17727           src/backends/NetworkManagerGentoo.c
17728           src/backends/NetworkManagerSlackware.c
17729                 - New nm_system_device_add_ip6_link_address() function to add link-local
17730                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17731
17732         * src/backends/NetworkManagerRedHat.c
17733                 - (nm_system_device_add_ip6_link_address): implement
17734                 - (nm_system_device_flush_addresses): revert to previous behavior of
17735                         flushing all addresses
17736
17737 2005-02-10  Dan Williams  <dcbw@redhat.com>
17738
17739         Patch from Tom Parker:
17740         * src/NetworkManagerDevice.c
17741                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17742                         mii.h headers are broken, and instead use our own typedefs
17743
17744 2005-02-10  Dan Williams  <dcbw@redhat.com>
17745
17746         * dhcpcd/buildmsg.c
17747                 - (fill_host_and_class_id): only fill in client and class IDs if
17748                         they are set by callers.
17749
17750         * dhcpcd/client.c
17751                 - (class_id_setup): don't autogenerate a class ID, only use one
17752                         we're given, if any.
17753                 - (client_id_setup): don't autogenerate a client ID, only use one
17754                         we're given, if any.
17755
17756         * dhcpcd/dhcpcd.c
17757                 - (dhcp_interface_init): ensure that client options are correctly
17758                         NULL terminated
17759
17760         * src/NetworkManagerDHCP.c
17761                 - (nm_device_dhcp_request): pass hostname to dhcp library
17762
17763 2005-02-10  Dan Williams  <dcbw@redhat.com>
17764
17765         * dhcpcd/client.c
17766                 - #rh147661# Don't send kernel version in DHCP requests
17767
17768         * src/NetworkManagerSystem.h
17769           src/backends/NetworkManagerDebian.c
17770           src/backends/NetworkManagerGentoo.c
17771           src/backends/NetworkManagerRedHat.c
17772           src/backends/NetworkManagerSlackware.c
17773                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17774                         functions, they are no longer used anyway
17775
17776         * src/backends/NetworkManagerRedHat.c
17777                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17778                         addresses in an attempt to keep IPv6 local-scope addresses around
17779
17780 2005-02-10  Dan Williams  <dcbw@redhat.com>
17781
17782         * src/NetworkManager.c
17783                 - (nm_create_device_and_add_to_list): change the add message slightly
17784
17785         * src/NetworkManagerUtils.c
17786                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17787                         Return driver name to calling function
17788                 - (nm_get_driver_support_level): print out the driver a device is using
17789                         during the support check
17790
17791         Patch from Dave Woodhouse:
17792         * dhcpcd/udpipgen.c
17793                 - (in_cksum): copy last byte of odd-sized packets into a
17794                         'u_short' rather than a 'u_char', should fix wrong checksums
17795                         on big-endian platforms
17796
17797 2005-02-09  Dan Williams  <dcbw@redhat.com>
17798
17799         * Clean up usage of GSList objects and looping through their members
17800         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17801                 now.
17802         * Fix problem where even if scanning was turned off, card would still
17803                 cycle through frequencies.
17804
17805 2005-02-08  Dan Williams  <dcbw@redhat.com>
17806
17807         * panel-applet/NMWirelessApplet.c
17808                 - Fix for gtk 2.4
17809
17810 2005-02-08  Dan Williams  <dcbw@redhat.com>
17811
17812         Patch from Bill Moss
17813         * panel-applet/NMWirelessApplet.c
17814                 - Restore correct ESSID in tooltips
17815
17816 2005-02-07  Dan Williams  <dcbw@redhat.com>
17817
17818         * panel-applet/NMWirelessApplet.[ch]
17819                 - Add a context menu that contains:
17820                         Pause/Resume Wireless Scanning
17821                         Stop/Start All Wireless Devices
17822                         About...
17823                 - Grab active device strength off active device,
17824                         not its network
17825
17826         * panel-applet/NMWirelessAppletDbus.[ch]
17827                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17828                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17829                 - Update active device strength every 2 seconds, not every 1 second
17830
17831         * panel-applet/menu-info.c
17832                 - Only disable wired devices in the menu when they support carrier detection,
17833                         and don't currently have a link.  Non-carrier-detect devices will always
17834                         remain choosable
17835
17836         * src/Makefile.am
17837           src/NetworkManagerDbusUtils.[ch]
17838                 - Add new new dbus utils sources
17839
17840         * src/NetworkManager.c
17841                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17842                         with the boolean parameter
17843                 - Set scanning_enabled & wireless_enabled to TRUE
17844
17845         * src/NetworkManagerDbus.c
17846                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17847                 - Implement scanning & wireless enable/disable calls
17848                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17849
17850         * src/NetworkManagerDevice.c
17851                 - New link detection stuff again...
17852                         o  Create device's mainloop earlier (but don't run it earlier)
17853                         o  Hook up new carrier-detect support stuff
17854                         o  Add in the ethtool & mii support detection code
17855                 - Don't scan if scanning is disabled
17856
17857         * src/NetworkManagerPolicy.c
17858                 - Never automatically choose a device that doesn't support carrier detection
17859                 - Don't automatically choose a wireless device if wireless is disabled
17860
17861 2005-02-07  Dan Williams  <dcbw@redhat.com>
17862
17863         * libnm_glib/libnm_glib.c
17864                 - Small cleanup in element list iteration
17865
17866 2005-02-07  Dan Williams  <dcbw@redhat.com>
17867
17868         * src/NetworkManagerWireless.c
17869                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17870                         to be in line with the WEXT quality specification
17871
17872 2005-02-02  Dan Williams  <dcbw@redhat.com>
17873
17874         Patch from Nathan Fredrickson <nathan@silverorange.com>
17875         * Fix up compile for deprecation of libgnomeui
17876                 - Switch to <glib/gi18n.h> from <libintl.h>
17877                 - Remove <libgnomeui/libgnomeui.h> includes
17878                 - Use gtk_window_set_default_icon_from_file() rather than
17879                         gnome_window_set_default_icon_from_file()
17880
17881         * named/nm-named-manager.c
17882                 - (generate_named_conf): Fix return-nothing in non-void
17883                         function
17884
17885 2005-02-02  Dan Williams  <dcbw@redhat.com>
17886
17887         * Clean up unused variables and the like
17888
17889 2005-02-02  Dan Williams  <dcbw@redhat.com>
17890
17891         * src/NetworkManagerAPList.c
17892                 - (nm_ap_list_merge_scanned_ap): merge strength too
17893
17894         * src/NetworkManagerUtils.c
17895                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17896                         of locking issues by printing out prettier information than g_mutex_lock
17897                 - Print out names of mutexes registered with nm_register_mutex_desc()
17898                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17899                         us to seemingly block here for too long
17900
17901         * src/NetworkManager.c
17902           src/NetworkManagerAPList.c
17903           src/NetworkManagerDevice.c
17904                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17905                         so we get better debug information printed
17906
17907         * src/NetworkManagerDbus.c
17908                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17909                         since it sometimes has locking side effects
17910                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17911                         from 10s
17912                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17913                         we don't need a switch.  This gets called often enough that we can't block
17914                         until the scan mutex is acquired, because we'll block on device activation
17915                         and a few other things, which hangs main thread for too long.
17916
17917         * src/NetworkManagerPolicy.c
17918                 - (nm_policy_auto_get_best_device): reduce the possiblity that
17919                         nm_device_need_ap_switch() will be called               
17920
17921 2005-02-02  Dan Williams  <dcbw@redhat.com>
17922
17923         * panel-applet/NMWirelessApplet.c
17924                 - Display name of wireless network we are connecting to or connected to
17925                         in the tooltip of the applet
17926
17927 2005-02-02  Dan Williams  <dcbw@redhat.com>
17928
17929         * src/NetworkManagerDHCP.c
17930                 - Hopefully fix double-default-route problem by cleaning up the default
17931                         route added by DHCP code right before the DHCP transaction begins
17932
17933 2005-02-02  Dan Williams  <dcbw@redhat.com>
17934
17935         * named/nm-named-manager.c
17936                 - Write out valid resolv.conf when we exit
17937
17938 2005-02-01  Dan Williams  <dcbw@redhat.com>
17939
17940         Patch from Colin Walters:
17941         * named/nm-named-manager.c
17942                 - Make multi-domain search options work
17943
17944 2005-01-31  Dan Williams  <dcbw@redhat.com>
17945
17946         * info-daemon/NetworkManagerInfoDbus.c
17947                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
17948
17949         * src/NetworkManagerDevice.c
17950                 - (nm_device_new): Don't store the entire range struct, use only what we need
17951                         (which is currently avg_quality, max_quality, and frequencies).  Also
17952                         zero device structure when we've free'd it to maybe expose errors down
17953                         the line.
17954                 - (nm_device_update_signal_strength): grab the scan mutex before getting
17955                         quality data from the card since quality will be useless during a scan.
17956                         Call updated wireless qual-to-percent function with values stored in
17957                         nm_device_new() earlier.
17958                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
17959                         nm_device_get_bad_crypt_packets())
17960                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
17961                         nm_device_new()
17962                 - (get_initial_auth_method): always use the Auth method that's in the allowed
17963                         list if available.  Problem was this: when the WEP key is wrong, NM will
17964                         try OS then SK modes, and then get stuck in SK mode after that.  This
17965                         should reset it.
17966                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
17967                         function
17968
17969         * src/NetworkManagerWireless.c
17970                 - (nm_wireless_qual_to_percent): try to make this function actually work and
17971                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
17972                         if that's all present, otherwise fall back to signal-to-noise ratios.
17973
17974 2005-01-29  Dan Williams  <dcbw@redhat.com>
17975
17976         * initscript/RedHat/NetworkManager
17977                 - Don't spit out sysctl stuff to console
17978
17979         * libnm_glib/libnm_glib.c
17980                 - (libnm_glib_init): call dbus_g_thread_init()
17981
17982         * panel-applet/NMWirelessAppletDbus.c
17983                 - (nmwa_dbus_worker): call dbus_g_thread_init()
17984
17985         * src/NetworkManager.c
17986                 - (main): call dbus_g_thread_init()
17987
17988         * src/NetworkManagerAPList.c
17989                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
17990                         so we can actually see what's there in a normal syslog
17991
17992         * src/NetworkManagerDevice.c
17993                 - (nm_device_activate_wireless): print out the "waiting for access point"
17994                         message only once, then say what access point we actually got after
17995                         the wait.
17996                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
17997                         function, wait until the scan is done.  Scans may change the ESSID of
17998                         the card, making this function think we need to switch access points
17999                 - (nm_device_wireless_process_scan_results): for artificial access points
18000                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18001                         prevents collisions with the scanning code, which may change the card's
18002                         ESSID and cause the access point to get dropped from the device's AP
18003                         list.  Also increase the keep-around time to 2m from 60s since the max
18004                         scan interval could be 60s in some cases.
18005
18006         * src/NetworkManagerPolicy.c
18007                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18008                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18009                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18010                         between NM and NMI.
18011
18012 2005-01-27  Dan Williams  <dcbw@redhat.com>
18013
18014         * info-daemon/NetworkManagerInfoDbus.c
18015                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18016                         GConf, make a minimal entry for it (essid & timestamp)
18017
18018         * src/NetworkManagerAPList.c
18019                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18020                         NetworkManagerInfo isn't running
18021
18022         * src/NetworkManagerDbus.[ch]
18023                 - (nm_dbus_nmi_is_running): new function
18024
18025         * src/NetworkManagerDevice.c
18026                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18027                         address to garbage.
18028
18029         * src/NetworkManagerPolicy.c
18030                 - (nm_policy_activation_finish): On successful activation, make sure
18031                         the "best" AP has a MAC address, and don't tell NMI to add the
18032                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18033                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18034                         access point after refreshing our allowed list if it doesn't already
18035                         have a "best" access point.
18036
18037 2005-01-25  Dan Williams  <dcbw@redhat.com>
18038
18039         * panel-applet/NMWirelessAppletDbus.c
18040                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18041                         so we check for NM_DBUS_SERVICE rather than not for it
18042
18043         * libnm_glib/libnm_glib.c
18044                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18045                         ServiceOwnerChanged signal
18046
18047 2005-01-25  Dan Williams  <dcbw@redhat.com>
18048
18049         * configure.in
18050                 - Check DBUS version in configure, and set the C macros
18051                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18052
18053         * info-daemon/NetworkManagerInfoDbus.c
18054                 - Remove #if 0-d section of code that quit NMI if NM went away.
18055
18056         * panel-applet/NMWirelessAppletDbus.c
18057                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18058
18059         * src/NetworkManager.c
18060           src/NetworkManagerMain.h
18061           src/NetworkManagerDbus.c
18062                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18063                 - Make updating of our Allowed Wireless Network lists from NMI
18064                         an idle function in the main thread now, with a high priority.
18065
18066 2005-01-24  Dan Williams  <dcbw@redhat.com>
18067
18068         * panel-applet/gtkcellview.[ch]
18069           panel-applet/menu-info.c
18070                 - Fix GTK version checks to be <= rather than <
18071
18072         * test/Makefile.am
18073                 - Include the libtool archive of libnm_glib rather than
18074                         trying to pull in the .so
18075
18076 2005-01-24  Dan Williams  <dcbw@redhat.com>
18077
18078         * src/NetworkManagerDevice.c
18079           src/NetworkManagerDevicePrivate.h
18080                 - Block nm_device_new() until our device's worker thread has had a
18081                         chance to start up.  Fixes a race between main thread and worker
18082                         thread starting that caused activation requests to get lost.
18083
18084 2005-01-24  Dan Williams  <dcbw@redhat.com>
18085
18086         * initscript/RedHat/NetworkManager
18087                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18088                         to add the NM startup script at priority 50, which was
18089                         way too early
18090
18091 2005-01-24  Colin Walters  <walters@redhat.com>
18092
18093         * named/named.conf: Use any port for query source instead of
18094         restricting to port 53.
18095
18096 2005-01-24  Dan Williams  <dcbw@redhat.com>
18097
18098         * initscript/RedHat/NetworkManager
18099                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18100                         to add the NM startup script at priority 50, which was
18101                         way too early
18102
18103 2005-01-24  Dan Williams  <dcbw@redhat.com>
18104
18105         Patch from Tom Parker <palfrey@tevp.net>
18106         * Fix up compile warnings & errors in the wireless applet
18107
18108 2005-01-24  Dan Williams  <dcbw@redhat.com>
18109
18110         * panel-applet/NMWirelessApplet.c
18111                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18112
18113 2005-01-24  Dan Williams  <dcbw@redhat.com>
18114
18115         * panel-applet/gtkcellview.[ch]
18116                 - Only compile these files for GTK 2.4 or lower, since 
18117                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18118                         when choosing "Other Wireless Networks" from the panel
18119                         applet menu
18120
18121 2005-01-21  Dan Williams  <dcbw@redhat.com>
18122
18123         * src/NetworkManager.c
18124                 - Daemonize earlier so that glib doesn't get confused (?)
18125
18126 2005-01-21  Dan Williams  <dcbw@redhat.com>
18127
18128         * panel-applet/NMWirelessApplet.[ch]
18129           panel-applet/NMWirelessAppletDbus.c
18130           panel-applet/menu-info.c
18131           src/NetworkManagerDevice.c
18132                 - Disable wired devices in the menu when they have no link.
18133
18134 2005-01-21  Dan Williams  <dcbw@redhat.com>
18135
18136         * Cache last-known-good wireless authentication method in
18137                 NetworkManagerInfo, and use that method first during
18138                 wireless device activation.  Should speed up devices that
18139                 need Shared Key authentication method since Open System is
18140                 now the default.
18141
18142         * Remove the hack to not do full activation on wired connections
18143                 that are active when we launch, it causes too many problems
18144                 with name resolution and was a hack in the first place.
18145
18146         * Re-work wireless device activation again somewhat to have a
18147                 clearer chain of events and to use last-known-good
18148                 authentication method of the access point.  Also provide
18149                 better status throughout activation to ensure the applet
18150                 can tell the user exactly what's going on.
18151
18152         * Remove the "find wireless network" code and now simply attempt
18153                 to activate with that access point.  This reduces the delay
18154                 between selecting "Other wireless Network" and actually
18155                 connecting to that network.
18156
18157         * Correctly stop the device's worker thread when its removed.
18158
18159 2005-01-21  Dan Williams  <dcbw@redhat.com>
18160
18161         * dhcpcd/client.c
18162                 - Clean up some of the debug messages
18163
18164 2005-01-21  Dan Williams  <dcbw@redhat.com>
18165
18166         * Add new icons, more frames of animation
18167         * Remove some hacks to get the panel applet to display correct
18168                 status, an NM update will soon follow that will fix the
18169                 real issue.
18170
18171 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18172
18173         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18174         the first include for working i18n. Also, don't include it in .h files
18175         * panel-applet/NMWirelessApplet.h: Same
18176         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18177         * panel-applet/menu-info.c: Same
18178
18179 2005-01-18  Dan Williams <dcbw@redhat.com>
18180
18181         * dhcpcd/client.c
18182                 - Remove some debug messages
18183                 - Wrap others in #ifdef DEBUG/#endif
18184
18185         * src/NetworkManager.c
18186                 - Remove some debug messages
18187                 - Clarify some debug messages
18188                 - Remove code related to old single-thread wireless scanning
18189
18190         * src/NetworkManagerAP.[ch]
18191                 - New AP property "last_seen" to track how recently an AP was
18192                         found in a scan
18193                 - Start using 'const' more in function arguments
18194
18195         * src/NetworkManagerAPList.[ch]
18196                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18197                         of an AP found in an AP list from a source AP, or if not found
18198                         in the list add the source AP
18199                 - (nm_ap_list_combine): remove, no longer needed
18200
18201         * src/NetworkManagerDevice.c
18202                 - Each device now has a "worker" thread from start to end of its life.
18203                         Scanning for wireless devices now happens in that thread,
18204                         not in a single "wireless scanning thread" for all devices as
18205                         previously.  Activation consists of adding an idle handler to the
18206                         thread's main loop/context, which gets run at the next available
18207                         opportunity.
18208                 - Wireless scanning is also simplified, there is now only one list of
18209                         access points per wireless device, and APs older than 60s are
18210                         removed from the list.  Previously, we kept results for the last
18211                         3 scans and merged whole lists, which was complicated.
18212                 - Cleaned up activation debug messages.
18213                 - Wireless activation and access-point search routines now use Open System
18214                         authentication before trying Shared Key.
18215                 - Removed some code in nm_device_update_best_ap() that could cause cards
18216                         to loose their link to the access point.
18217                 - Scanning now uses a backoff algorithm, where the inverval becomes
18218                         progressively longer between scans when the list of scanned access
18219                         points doesn't change.  A change will revert to the shortest scan
18220                         interval (20s).
18221
18222         * src/NetworkManagerWireless.[ch]
18223                 - Remove code related to old single-thread wireless scanning
18224
18225 2005-01-18  Colin Walters  <walters@redhat.com>
18226
18227         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18228         of older nameservers.
18229
18230 2005-01-18  Colin Walters  <walters@redhat.com>
18231
18232         * named/nm-named-manager.c (generate_named_conf): Many fixes
18233         to config file generation.
18234         (safer_kill): Remove, was too much trouble for little gain.
18235         (nm_named_manager_start): Run named as NM_NAMED_USER.
18236
18237         * configure.in: Add option --with-named-user.
18238
18239 2005-01-14  Colin Walters  <walters@redhat.com>
18240
18241         Patch from ed@catmur.co.uk (Ed Catmur)
18242
18243         * named/nm-named-manager.c: Add "context" property.
18244         Use it to add child watch source in specific GMainContext.
18245
18246         * src/NetworkManager.c (nm_data_new): Initialize
18247         named with correct main context.  Start named only
18248         after forking.
18249
18250 2005-01-14  Colin Walters  <walters@redhat.com>
18251
18252         * named/nm-named-manager.c (generate_named_conf): Write config
18253         and pid files into NM_NAMED_DATA_DIR; this allows things to
18254         work better with FC3 named SELinux policy.  Also fix up silly
18255         format error.
18256
18257         * configure.in: Add --with-named-dir option.
18258
18259 2005-01-14  Colin Walters  <walters@redhat.com>
18260
18261         * configure.in: Make named support require passing --with-named.
18262
18263         * named/nm-named-manager.c: Support writing resolv.conf directly
18264         without running named.
18265
18266 2005-01-13  Dan Williams <dcbw@redhat.com>
18267
18268         * named/nm-named-manager.c
18269                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18270
18271         * src/NetworkManagerDevice.c
18272                 - Rework wireless link detection code to be more reliable
18273
18274 2005-01-12  Dan Williams <dcbw@redhat.com>
18275
18276         * initscripts/RedHat/NetworkManager
18277                 - Change initial level to "-" rather than "345" so that
18278                         we don't activate ourselves by default on install
18279
18280 2005-01-12  Dan Williams <dcbw@redhat.com>
18281
18282         * libnm_glib/
18283                 - Client library for applications using glib
18284
18285         * configure.in
18286           various Makefiles
18287                 - Split NM_CFLAGS and NM_LIBS into separate variables
18288                         like DBUS_*, HAL_* and GLIB_*
18289
18290         * src/NetworkManager.c
18291           src/NetworkManagerMain.h
18292                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18293                         broadcast a status changed signal over DBUS from the main thread.
18294                         Still unused anywhere for the moment.
18295
18296         Patch from j@bootlab.org
18297         * panel_applet/NMWirelessAppletDbus.c
18298           src/NetworkManagerDbus.c
18299                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18300                         for the "getMode" method call
18301
18302 2005-01-10  Dan Williams <dcbw@redhat.com>
18303
18304         * src/NetworkManagerDevice.c
18305                 - Minor fixups & corrections to "auto" frequency mode, make it
18306                         less chatty with syslog
18307
18308 2005-01-10  Dan Williams <dcbw@redhat.com>
18309
18310         * src/NetworkManagerDevice.c
18311                 - Implement "auto" frequency/channel support, since cards like Atheros
18312                         can't use other frequencies at all when you've told it to use a
18313                         specific one, even for scanning.
18314                 - Grab the scan mutex around places where we can't tolerate wireless
18315                         settings changing underneath us, like nm_device_wireless_network_exists()
18316                         and nm_device_activate_wireless()
18317
18318         * src/NetworkManagerWireless.c
18319                 - Back scan interval off to 20s instead of 14s
18320
18321 2005-01-09  Dan Williams <dcbw@redhat.com>
18322
18323         * src/NetworkManagerDevice.c
18324                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18325                         already set.  Stops some drivers like Atmel from continually
18326                         reloading the firmware, which they do upon every configuration
18327                         change.
18328
18329 2005-01-09  Dan Williams <dcbw@redhat.com>
18330
18331         * dhcpcd/client.c
18332                 - Use correct timeout value
18333
18334         * info-daemon/NetworkManagerInfoDbus.c
18335           src/NetworkManagerDbus.c
18336                 - Consolidate communication between NM and NMI by doing only 1 dbus
18337                         method call to get Wireless Network info from NMI instead of 6
18338
18339         * src/NetworkManager.c
18340                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18341                         when we didn't have an AP to use, we'd wait for one forever without
18342                         quitting
18343
18344         * src/NetworkManagerDevice.c
18345                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18346                         activation, dhcp might not have started yet but we don't quit activation
18347                         before starting it, so the quit signal gets lost
18348
18349 2005-01-07  Dan Williams <dcbw@redhat.com>
18350
18351         * dhcpcd/client.c
18352                 - Rework the DHCP client code to be much less chatty when
18353                         it receives non-DHCP UDP packets during the DHCP run
18354                         (reported by and preliminary patches from Bill Moss)
18355
18356         * Move wireless scanning to a separate thread.  This thread forwards the
18357                 results to the main thread when done where they are integrated into
18358                 the device's access point lists.  This keeps the main thread (which
18359                 does all the DBUS communication) from being blocked for long periods
18360                 of time by wireless scanning.
18361
18362         * Make state modification an idle routine in the main loop, and trigger
18363                 state changes rather than polling for them.
18364
18365         * src/backends/NetworkManagerGentoo.c
18366                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18367
18368         * src/NetworkManagerDevice.c
18369                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18370                         router advertisements, causing problems and infinite loop
18371                         during "best" device determination due to link going up/down
18372                         (reported by Bill Moss)
18373
18374         Apply patch from Peter Jones
18375         * src/NetworkManagerDevice.c
18376                 - Shortcut for link-checking for ipw2x00 cards
18377                 - Split out association check into separate routine
18378
18379 2004-01-05  Colin Walters  <walters@redhat.com>
18380
18381         * named/named.conf: Add PID_FILE.
18382
18383         * named/nm-named-manager.c: Always generate a pid
18384         file, since older BIND versions don't support
18385         "pid-file none".
18386
18387 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18388
18389         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18390
18391 2004-12-22  Dan Williams <dcbw@redhat.com>
18392
18393         * src/NetworkManagerDevice.c
18394                 - Silently fail when setting bitrate doesn't work
18395
18396
18397         Patches from j@bootlab.org:
18398         * src/backends/NetworkManagerDebian
18399                 - Update backend to match functionality in RedHat backend
18400         * src/NetworkManagerDevice.c
18401                 - Take down then bring up wired devices after connection so
18402                 they send out ipv6 router advertisements
18403
18404 2004-12-21  Colin Walters  <walters@verbum.org>
18405
18406         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18407         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18408
18409 2004-12-21  Colin Walters  <walters@redhat.com>
18410
18411         * configure.in: Correct named detection.
18412
18413 2004-12-21  Colin Walters  <walters@redhat.com>
18414
18415         * src/NetworkManager.c (nm_data_new): Initialize named.
18416         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18417         the mainloop when these signals are received.
18418         (nm_data_free): Unref named.
18419         (sigterm_handler, sigterm_pipe_handler): New functions for
18420         exiting mainloop.
18421         
18422         * src/NetworkManagerMain.h (NMData): Add signal handling and
18423         nameserver bits.
18424
18425         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18426         unref.
18427
18428         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18429         set nameservers from DHCP response data.
18430         (set_domain_search): Set domain search from DHCP response.
18431         (nm_device_dhcp_configure): Invoke them.
18432
18433         * src/NetworkManagerSystem.c
18434         (nm_system_device_update_resolv_conf): Delete.  Deleting
18435         code is totally sweet.
18436
18437         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18438
18439         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18440         implements an object which controls a nameserver.  Currently
18441         uses bind 9.
18442
18443         * configure.in: Check for named.
18444
18445         * Makefile.am (SUBDIRS): Add named dir.
18446
18447         * named/named.conf: New template config file.
18448
18449 2004-12-20  Colin Walters  <walters@redhat.com>
18450
18451         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18452         instead of '='.
18453
18454 2004-12-17  Dan Williams  <dcbw@redhat.com>
18455
18456         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18457                 link-local addresses instead of doing DHCP.
18458
18459         * In the panel applet, there's a new "Create new Wireless Network..." item
18460
18461         * The panel applet also sticks around now even if NetworkManager dies, but
18462                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18463                 a bug, I'll fix that later.
18464
18465         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18466                 lookups after a switch rather than actually doing them.
18467
18468         * Clean up some of those warnings in nm_ap_list_* functions
18469
18470         * Delay between scans changed to 15s instead of 10s
18471
18472 2004-12-15  Dan Williams  <dcbw@redhat.com>
18473
18474         Patch from Tom Parker
18475         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18476                 address
18477
18478         * Longer pause after setting ESSID on cards that support a larger number
18479                 of channels to give the card time to find the right channel
18480
18481         * Add system hook to restart mDNSResponder (or whatever the local implementation
18482                 of Multicast DNS is) when we activate interfaces
18483
18484 2004-12-15  Dan Williams  <dcbw@redhat.com>
18485
18486         * Rework the DHCP code again to revert to sending full ethernet frames
18487                 rather then relying on the kernel to do the right thing with our
18488                 packets.
18489
18490 2004-12-06  Dan Williams  <dcbw@redhat.com>
18491
18492         * dhcpcd/client.c
18493                 - Fix some minor errors in dhcp_handle_transaction() that caused
18494                         unexpected early timeouts of DHCP transactions
18495
18496         * dhcpcd/client.h
18497                 - DHCP retransmit time from 4s -> 5s
18498
18499 2004-12-05  Dan Williams  <dcbw@redhat.com>
18500
18501         * Major rework of the DHCP code, taking some cues from pump.  We don't
18502                 write raw Ethernet packets anymore, which simplifies the code quite
18503                 a bit.  The new code should be more robust, not hang in recvfrom()
18504                 as much, and generally work better.  This also means that we need
18505                 to force HAL/dbus to use a created GMainContext rather than the
18506                 default context, since having the DHCP renew/rebind thread using
18507                 its own GMainContext seemed to give dbus a fit.  There is also more
18508                 debugging information printed from the DHCP loop to help with future
18509                 problems.
18510
18511         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18512                 assume that the default gateway should be the DHCP server.
18513
18514         Patch from Matthew Schick <matt oss-institute org>
18515         * src/backends/NetworkManagerGentoo.c
18516                 - Fix compilation error due to missing "ip4_broadcast"
18517
18518 2004-12-03  Dan Williams  <dcbw@redhat.com>
18519
18520         * initscript/Makefile.am
18521         * initscript/Debian/NetworkManager
18522         * initscript/Gentoo/NetworkManager
18523         * initscript/RedHat/NetworkManager
18524         * initscript/NMLaunchHelper.c
18525                 - Remove NMLaunchHelper, if you need to wait until the network
18526                         comes up, use the dead code from CVS.
18527
18528 2004-12-01  Colin Walters  <walters@redhat.com>
18529         
18530         * configure.in: Suck in gcc warnings code from Rhythmbox,
18531         but use fewer default flags, and in particular add -Wno-unused,
18532         since the codebase has a lot of unused variables.
18533
18534         * test/nmtestdevices.c (create_device): 
18535         * test/nminfotest.c (get_network_string_property) 
18536         (get_networks_of_type): 
18537         * test/nmclienttest.c (main): 
18538         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18539         * initscript/NMLaunchHelper.c (get_nm_status): 
18540         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18541         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18542         Fix declarations after statements.
18543
18544 2004-12-01  Colin Walters  <walters@redhat.com>
18545
18546         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18547         (nmi_dbus_get_vpn_userpass): New method.
18548         (nmi_dbus_nmi_message_handler): Invoke it.
18549
18550         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18551
18552         * info-daemon/NetworkManagerInfoVPN.h,
18553         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18554         to requests for VPN passwords.
18555
18556         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18557
18558 2004-12-01  Colin Walters  <walters@redhat.com>
18559
18560         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18561         includes.
18562
18563 2004-12-01  Colin Walters  <walters@redhat.com>
18564
18565         * panel-applet/NMWirelessAppletDbus.c
18566         (nmwa_dbus_update_active_device_strength): Fix missing
18567         return value.
18568
18569 2004-12-01  Colin Walters  <walters@redhat.com>
18570
18571         * panel-applet/NMWirelessApplet.c: Add missing include.
18572
18573 2004-12-01  Colin Walters  <walters@redhat.com>
18574
18575         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18576         Remove useless CLAMP (); the value is unsigned, and the case tests
18577         qual->qual < 100, so the value must always be between 0 and 100.
18578
18579 2004-12-01  Colin Walters  <walters@redhat.com>
18580
18581         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18582
18583 2004-11-22  Colin Walters  <walters@verbum.org>
18584
18585         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18586         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18587         which is essentially a noop since nscd caches hosts on disk too.
18588         
18589 2004-11-22  Colin Walters  <walters@redhat.com>
18590
18591         * src/Makefile.am (NetworkManager_SOURCES): Add
18592         NetworkManagerDevicePrivate.h.
18593
18594 2004-11-22  Dan Williams <dcbw@redhat.com>
18595
18596         * src/NetworkManagerDevicePrivate.h
18597                 - Split out the NMDevice struct to a different file so that stuff like
18598                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18599
18600         * dhcpcd/client.c
18601                 - fprintf->syslog
18602                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18603                         need to cancel the dhcp request during the send and recv
18604
18605         * dhcpcd/client.h
18606                 - Move the DHCP option enum to dhcpcd.h
18607
18608         * src/NetworkManagerDHCP.c
18609                 - Split out the actual IP/netmask/etc setting code
18610                 - New Renew/Rebind functions
18611                 - New timer setup function for renew/rebind operations
18612
18613         * src/NetworkManagerDevice.c
18614                 - For device activation, if we are using DHCP then keep the activation thread
18615                         alive until device deactivation.  We need to renew/rebind the DHCP address
18616                         after the T1 (renew) and T2 (rebind) times have expired.
18617                 - Increase some timeouts after bringing wireless cards up/down
18618
18619 2004-11-17  Dan Williams <dcbw@redhat.com>
18620
18621         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18622                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18623                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18624                 show known access points that don't broadcast their ESSID in the menus without
18625                 any user intervention whatsoever.
18626
18627         * info-daemon/NetworkManagerInfoDbus.c
18628                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18629                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18630
18631         * src/NetworkManagerAP.[ch]
18632                 - Add a "user_addresses" data member to the NMAccessPoint structure
18633                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18634                         the user_addresses data member
18635
18636         * src/NetworkManagerAPList.c
18637                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18638                         the AP's reported address
18639                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18640
18641         * src/NetworkManagerDHCP.c
18642                 - Increase DHCP timeout from 25s -> 30s
18643
18644         * src/NetworkManagerDbus.[ch]
18645                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18646                         user addresses
18647
18648         * src/NetworkManagerDevice.c
18649                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18650                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18651                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18652                         So, we take the card down to clear it out.
18653                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18654                         too, since that's where the user_addresses are
18655
18656         * src/NetworkManagerPolicy.c
18657                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18658                         that wireless networks' user_addresses list upon successful activation
18659
18660 2004-11-16  Dan Williams <dcbw@redhat.com>
18661
18662         * src/NetworkManagerDevice.[ch]
18663                 - (nm_device_clear_activation_fail): new function
18664
18665         * src/NetworkManagerPolicy.c
18666                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18667                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18668
18669 2004-11-16  Dan Williams <dcbw@redhat.com>
18670
18671         * src/NetworkManagerDevice.c
18672                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18673                         leak the structure, better updating of now_scanning status
18674                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18675
18676 2004-11-15  Dan Williams <dcbw@redhat.com>
18677
18678         Major rework of link detection code.  We now use DHCP
18679         as part of the link detection which proves to be much more robust,
18680         and also supports Open System authentication for wireless networks.
18681
18682         We no longer use external DHCP client programs.  Instead, we use 
18683         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18684         which was written by:
18685                 Yoichi Hariguchi <yoichi@fore.com>
18686                 Sergei Viznyuk <sv@phystech.com>
18687                 http://www.phystech.com/download/
18688         It resides in the "dhcpcd" directory and was refactored into a general
18689         purpose DHCP client library by me.
18690
18691         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18692         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18693
18694 2004-11-15  Dan Williams <dcbw@redhat.com>
18695
18696         Patch from Tom Parker <palfrey@tevp.net>:
18697
18698         * src/NetworkManagerDevice.c
18699                 - Less output to console when no access
18700                         points are found during a scan
18701
18702 2004-11-15  Dan Williams <dcbw@redhat.com>
18703
18704         Patch from Tom Parker <palfrey@tevp.net>:
18705
18706         * src/backends/interface_parser.c
18707                 - Use g_strdup ()
18708                 - Check for inp == NULL
18709                 - use syslog ()
18710
18711 2004-11-13  Colin Walters  <walters@redhat.com>
18712
18713         Patch from Tom Parker <palfrey@tevp.net>:
18714
18715         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18716         
18717         * src/backends/NetworkManagerRedHat.c: Switch to
18718         including shvar.h instead of shvar.c.
18719
18720         * src/backends/NetworkManagerDebian.c: Don't include
18721         interface_parser.c in source file.
18722
18723         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18724         and interface_parser.[ch].
18725         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18726         Include shvar.c and shvar.h here.
18727         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18728         interface_parser.c and interface_parser.h here.
18729
18730 2004-11-12  Colin Walters  <walters@redhat.com>
18731
18732         * configure.in: Strip out TARGET_DISTRO and
18733         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18734         conditionals.
18735
18736         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18737         (libnmbackend_la_SOURCES): Use Automake conditionals
18738         to add distro-specific files.
18739
18740         * initscript/Makefile.am (SUBDIRS): Update to
18741         use conditionals.
18742
18743 2004-11-12  Colin Walters  <walters@redhat.com>
18744
18745         Patches from j bootlab org
18746
18747         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18748         Add interface_parser.[ch].
18749
18750         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18751         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18752
18753 2004-11-12  Colin Walters  <walters@redhat.com>
18754
18755         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18756         call to nmi_dbus_is_running too, not necessary anymore.
18757         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18758         pick up exit().
18759
18760 2004-11-11  Colin Walters  <walters@verbum.org>
18761
18762         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18763         Delete.
18764         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18765         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18766         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18767         This avoids a race condition that made it pretty easily
18768         possible to get two NetworkManagerInfo daemons running.
18769
18770 2004-11-11  Colin Walters  <walters@verbum.org>
18771         
18772         * src/NetworkManager.c (main): Use daemon(3).
18773
18774         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18775
18776         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18777
18778 2004-11-10 Dan Williams <dcbw@redhat.com>
18779
18780         Patches from j bootlab org
18781         * src/NetworkManagerDevice.c
18782                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18783                         whether the card has a link or not, some cards are slow
18784                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18785
18786         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18787                 - Disable the "Login" button on the passphrase dialog until the user
18788                         enters a valid passphrase or key
18789
18790         Patches from Tom Parker <palfrey tevp net>
18791         * src/backends/NetworkManagerDebian.c
18792                 - Add static IP support to the debian backend
18793
18794         * src/backends/interface_parser.[ch]
18795                 - Parse debian interface config files
18796
18797 2004-11-08 Dan Williams <dcbw@redhat.com>
18798
18799         * src/NetworkManagerDevice.c
18800                 - Some random fprintf->syslog conversions
18801                 - (nm_device_wireless_network_exists): double-check for network
18802                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18803
18804         * src/NetworkManagerWireless.[ch]
18805                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18806                         so that the binary->ascii conversion works (if unsigned, the bitshift
18807                         will fill with zeros, which is what's required).  Also mask bitshift
18808                         result with 0xF for futher assurance.
18809
18810 2004-11-06 Dan Williams <dcbw@redhat.com>
18811
18812         * src/NetworkManagerUtils.c
18813                 - (nm_get_wireless_driver_support_level): default to
18814                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18815                         flip this when changing from whitelist->blacklist of
18816                         wireless drivers
18817
18818 2004-11-05 Dan Williams <dcbw@redhat.com>
18819
18820         Patch from Robert Paskowitz:
18821         * src/backends/NetworkManagerGentoo.c
18822                 - Update static IP config code
18823
18824 2004-11-05 Dan Williams <dcbw@redhat.com>
18825
18826         * info-daemon/NetworkManagerInfoDbus.c
18827           src/NetworkManagerDbus.[ch]
18828           src/NetworkManagerDevice.c
18829                 - Keep track of the # of attempts to get the WEP key
18830                         from the user and pass that along to the info daemon
18831
18832 2004-11-05 Dan Williams <dcbw@redhat.com>
18833
18834         * src/NetworkManagerUtils.c
18835                 - Blacklist wireless cards rather than whitelisting them.
18836                 - Grab driver name from HAL rather than trying to find it
18837                         ourselves.
18838
18839 2004-11-03 Dan Williams <dcbw@redhat.com>
18840
18841         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18842                 - Disable OK button until valid data is entered
18843                         for encryption stuff too
18844
18845         * panel-applet/NMWirelessApplet.c
18846                 - Report card strength for current AP if the card
18847                         doesn't report strength data for scanned access
18848                         points
18849
18850         * src/NetworkManagerDevice.c
18851                 - Smooth out cards reported quality, Atmel card was
18852                         intermittently reporting no quality data but soon
18853                         recovers
18854
18855         * src/NetworkManagerWireless.c
18856                 - Better quality data percentage calculation.  Atmel
18857                         cards (mine at least) seem to report the quality
18858                         in percentage format already, so honor that
18859
18860         Patch from <j@bootlab.org>
18861         * NetworkManager.h
18862           info-daemon/NetworkManagerInfoPassphraseDialog.c
18863           info-daemon/passphrase.glade
18864           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18865           panel-applet/essid.glade
18866           src/NetworkManagerAP.c
18867           src/NetworkManagerDevice.c
18868           src/NetworkManagerWireless.[ch]
18869                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18870
18871 2004-11-03 Dan Williams <dcbw@redhat.com>
18872
18873         * src/NetworkManagerDevice.[ch]
18874                 - (nm_device_set_enc_key): Add parameter to set Authentication
18875                         Mode (Open System, Shared Key, or None).  We're still using
18876                         Shared Key for now though.
18877
18878 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18879
18880         * panel-applet/menu-info.c: change from bold text to light
18881         colored, may cause problems with some themes, i've tested a lot
18882         and they seem fine. 
18883
18884         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18885
18886 2004-11-01  Colin Walters  <walters@verbum.org>
18887
18888         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18889         (nm_wireless_128bit_key_from_passphrase): Add const.
18890
18891         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18892         (nm_ap_set_enc_key_source): Add const.
18893         
18894 2004-11-01  Colin Walters  <walters@verbum.org>
18895
18896         * .cvsignore: Update.
18897
18898 2004-10-29 Dan Williams <dcbw@redhat.com>
18899
18900         * src/NetworkManagerDevice.c
18901                 - (nm_device_wireless_network_exists): Actually use the encryption
18902                         key we got from the applet when attempting to find a wireless network
18903                 - Don't bring devices down so much since on some cards it triggers
18904                         firmware hotplugs each time
18905
18906         * src/NetworkManagerDbus.c
18907                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18908                         from the caller
18909
18910 2004-10-29 Dan Williams <dcbw@redhat.com>
18911
18912         * src/NetworkManager.c
18913                 - (nm_hal_device_property_modified): unlock a locked active
18914                         wireless device when a wired connection gets a link.
18915                         (Means you'll switch to wired whenever you plug in no
18916                         matter what).
18917
18918 2004-10-29 Dan Williams <dcbw@redhat.com>
18919
18920         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
18921                 - New files, implement the "Other wireless network" dialog
18922
18923         * panel-applet/NMWirelessApplet.c
18924                 - Move "other wireless network" dialog to separate file
18925
18926         * panel-applet/NMWirelessAppletDbus.[ch]
18927                 - Take key and key_type paramaters for the set_device function
18928
18929         * panel-applet/essid.glade
18930                 - Add UI bits for encryption settings
18931
18932         * src/NetworkManagerDbus.c
18933                 - Retrieve key and key_type params for "setActiveDevice" method call
18934                         and pass them on
18935                 - unref AP returned from nm_device_get_best_ap() when needed
18936
18937         * src/NetworkManagerDevice.c
18938                 - (nm_device_get_best_ap): ref the ap before returning it
18939                 - unref AP returned from nm_device_get_best_ap() when needed
18940                 - (nm_device_activate_wireless): add "ap" parameter so we don't
18941                         need to call nm_device_get_best_ap() here, it was pretty much
18942                         redundant anyway
18943                 - (AP_NEED_KEY): break second link check condition out into separate
18944                         function, and fix segfault when ap->enc_key_source was NULL
18945                 - (nm_device_find_and_use_essid): take key and key_type parameters and
18946                         pass them along to nm_device_wireless_network_exists().  If the
18947                         network does exist, set the passed-in key+key_type on the AP
18948
18949         * src/NetworkManagerPolicy.c
18950                 - unref AP returned from nm_device_get_best_ap() when needed
18951
18952 2004-10-28 Dan Williams <dcbw@redhat.com>
18953
18954         * src/NetworkManagerUtils.c
18955                 - (nm_spawn_process): Fix a potential dereference of NULL
18956
18957         Patches from Peter Jones:
18958
18959         * src/NetworkManagerDevice.c
18960                 - (nm_device_test_wireless_extensions): Better check for
18961                         wireless devices
18962
18963         * src/NetworkManagerUtils.c
18964                 - (nm_spawn_process): Pass in valid stdout and stderr so
18965                         executed programs don't randomly SIGPIPE and fail
18966                 - (nm_get_wired_driver_support_level): quash hal warning
18967                         when checking for USB ethernet device
18968
18969 2004-10-27 Dan Williams <dcbw@redhat.com>
18970
18971         * info-daemon/NetworkManagerInfo.c
18972           info-daemon/NetworkManagerInfoDbus.c
18973           info-daemon/NetworkManagerInfoPassphraseDialog.c
18974           panel-applet/NMWirelessApplet.c
18975                 - Properly escape gconf keys
18976
18977         * src/NetworkManager.c
18978                 - remove unused variables
18979
18980         * src/NetworkManagerAP.c
18981                 - (nm_ap_new_from_ap): Don't redundantly set new APs
18982                         refcount since it got set in nm_ap_new()
18983
18984         * src/NetworkManagerAPList.c
18985                 - (nm_ap_list_combine): Give up ownership of newly created
18986                         access points to the ap list, fixes memleak
18987
18988         * src/NetworkManagerDevice.c
18989                 - Remove cached_ap_list4 member since its not really needed
18990                 - (nm_device_wireless_network_exists): Try to get correct
18991                         encryption status of a found AP if its already in our
18992                         device list
18993                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
18994                         memory allocs/deallocs a bit clearer and shorter-lived
18995
18996 2004-10-26 Ray Strode <rstrode@redhat.com>
18997
18998         * panel-applet/NMWirelessApplet.c:
18999           (custom_essid_item_selected):  kill some compiler
19000         warnings 
19001
19002 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19003
19004         * info-daemon/NetworkManagerInfoDbus.c
19005                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19006                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19007
19008 2004-10-23 Dan Williams <dcbw@redhat.com>
19009
19010         * info-daemon/NetworkManagerInfoDbus.c
19011                 - Trap the "DeviceActivationFailed" signal
19012
19013         * docs/NetworkManager DBUS API.txt
19014                 - Add "DeviceActivationFailed" signal
19015
19016         * panel-applet/NMWirelessAppletDbus.c
19017                 - Quash the "NetworkManager service not available" message
19018
19019         * src/NetworkManagerDbus.[ch]
19020                 - Add the "DeviceActivationFailed" signal
19021
19022         * src/NetworkManagerDevice.c
19023                 - Add support for activation_failed flag
19024                 - Fix deadlock where activation thread didn't clean itself up, making
19025                         main thread still believe it was alive forever (didn't reset activation
19026                         flags like activating, just_activated, etc when IP configuration
19027                         failed)
19028
19029         * src/NetworkManagerPolicy.c
19030                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19031                         for wireless networks, try to fall back to some other access point
19032
19033 2004-10-23 Dan Williams <dcbw@redhat.com>
19034
19035         * panel-applet/NMWirelessApplet.[ch]
19036                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19037                         to the applet object, so we can get tooltips
19038                 - Add tooltips (RH #136866)
19039
19040         * src/NetworkManagerDevice.c
19041                 - When trying to find a wireless network, try to connect with encryption
19042                         turned on first, so that we can more accurately detect whether or not
19043                         we need to use encryption for the actual association later on
19044
19045 2004-10-21 Dan Williams <dcbw@redhat.com>
19046
19047         * Add some support for telling NetworkManagerInfo to tell the user
19048                 that they are using a device that's not fully supported
19049
19050         * Fix some assertions in debug messages due to null access point args
19051
19052 2004-10-21 Dan Williams <dcbw@redhat.com>
19053
19054         * src/NetworkManagerDevice.c
19055                 - Don't try to activate/bring up/down unsupported
19056                         devices
19057
19058         * src/NetworkManagerUtils.c
19059                 - Fix case of PCI ID checks for driver support levels
19060
19061 2004-10-21 Dan Williams <dcbw@redhat.com>
19062
19063         * NetworkManager.h
19064                 - New file, now contains commonly used structures and bits
19065                         for the dbus API of NetworkManager
19066
19067         * Makefile.am
19068                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19069
19070         * src/NetworkManager.h
19071                 - Rename -> src/NetworkManagerMain.c
19072
19073         * Various fixups all around to use NetworkManager.h and new
19074                 src/NetworkManagerMain.h, remove redundant bits that got
19075                 moved into NetworkManager.h
19076
19077         * src/NetworkManagerDevice.[ch]
19078           src/NetworkManagerUtils.[ch]
19079           src/NetworkManagerPolicy.c
19080           src/NetworkManagerDbus.c
19081                 - Whitelist wireless drivers, and blacklist some wired
19082                         drivers.  Also blacklist cipsec and ethernet-over-usb
19083                         devices at this time (RH #135722, RH #135648)
19084                 - Don't leak unsupported devices out over dbus, or allow
19085                         them to be set as the active device.  Skip over them
19086                         during automatic device picking
19087
19088         * test/nmclienttest.c
19089                 - Clean up the dbus code a lot
19090
19091 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19092
19093         * configure.in: post release bump.
19094
19095 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19096
19097         * configure.in:
19098         * NEWS: Released NetworkManager-0.3.1
19099
19100 2004-10-18 Dan Williams <dcbw@redhat.com>
19101
19102         Patches from Thom May:
19103         * test/nmtestdevices.c
19104                 - Include <string.h>
19105         * src/backends/NetworkManagerDebian.c:
19106                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19107                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19108                         Move to using g_strdup_printf rather than arbitrary buffers
19109                 - (nm_system_device_setup_static_ip4_config) Implement function.
19110                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19111
19112 2004-10-17 Dan Williams <dcbw@redhat.com>
19113
19114         * info-daemon/NetworkManagerInfoDbus.c
19115                 - Display name of network in the "network not found" dialog
19116
19117         * panel-applet/NMWirelessAppletDbus.c
19118                 - (nmwa_dbus_call_nm_method): new function replaces all other
19119                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19120                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19121                         consolidated into nmwa_dbus_get_object_name()
19122
19123 2004-10-15 Dan Williams <dcbw@redhat.com>
19124
19125         * src/NetworkManagerDbus.c
19126           info-daemon/NetworkManagerInfoDbus.c
19127                 - Display an error dialog when the user tries to use an
19128                         "Other wireless network" that's not found.
19129
19130 2004-10-15 Dan Williams <dcbw@redhat.com>
19131
19132         * panel-applet/NMWirelessApplet.[ch]
19133                 - Fix up corner cases in applet state, making it
19134                         look more responsive.  Change state to "connecting" when
19135                         the user is forcing a device too.
19136
19137 2004-10-15 Dan Williams <dcbw@redhat.com>
19138
19139         * src/NetworkManagerAPList.c
19140                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19141
19142         * src/NetworkManagerDbus.c
19143                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19144
19145         * src/NetworkManagerDevice.c
19146                 - Disown APs after the device's AP list takes ownership
19147
19148 2004-10-15 Dan Williams <dcbw@redhat.com>
19149
19150         * panel-applet/NMWirelessApplet.c
19151                 - Update our applet state from the GUI thread
19152
19153         * panel-applet/NMWirelessAppletDbus.c
19154                 - Greatly simplify the locking to make the GUI thread
19155                         smoother.  Update a private copy of the device list
19156                         and active device and only when done talking to
19157                         NetworkManager turn it over to the GUI thread.
19158
19159 2004-10-15 Dan Williams <dcbw@redhat.com>
19160
19161         * src/NetworkManagerAP.[ch]
19162                 - Add "artificial" get/set functions, set for APs that
19163                         aren't discovered as part of a scan but instead
19164                         discovered by force-setting the ESSID
19165
19166         * src/NetworkManagerDevice.[ch]
19167                 - (nm_device_wireless_network_exists): pass back whether
19168                         or not the discovered AP was encrypted.  Also, try
19169                         falling back to encrypted mode on the card if unencrypted
19170                         association doesn't work
19171                 - (nm_device_find_and_use_essid): If the network requested
19172                         did in fact exists, but it wasn't in our scan list, add
19173                         an "artificial" entry for it.  Some Cisco cards don't
19174                         see non-ESSID-broadcasting APs in their scan but can still
19175                         associate with them if you know the ESSID, this works around
19176                         that behavior
19177                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19178                         to scan if the card is currently associated with that AP
19179
19180 2004-10-15 Dan Williams <dcbw@redhat.com>
19181
19182         ---- We have a website ----
19183         http://people.redhat.com/dcbw/NetworkManager
19184
19185         Patch from Robert Paskowitz:
19186         * src/NetworkManager.c
19187                 - (main): Make sure we are run as root
19188         * src/NetworkManagerDevice.c
19189                 - Fix type in ad-hoc setting function
19190
19191         Patch from Thom May:
19192         * src/backends/NetworkManagerDebian.c
19193                 - Make Debian backend compile again
19194
19195 2004-10-14 Dan Williams <dcbw@redhat.com>
19196
19197         * Tagged NetworkManager-0_3
19198
19199 2004-10-14 Dan Williams <dcbw@redhat.com>
19200
19201         Patch from Robert Paskowitz:
19202         * NEWS
19203           src/NetworkManagerDevice.[ch]
19204           src/backends/NetworkManagerDebian.c
19205           src/backends/NetworkManagerGentoo.c
19206           src/backends/NetworkManagerRedHat.c
19207           src/backends/NetworkManagerSlackware.c
19208                 - Add support for grabbing and using a broadcast address
19209                         from system config files
19210                 - Some Gentoo backend fixes for grabbing network config
19211                 - Fix LOG_WARN->LOG_WARNING
19212
19213 2004-10-14 Dan Williams <dcbw@redhat.com>
19214
19215         * NEWS: a few small fixes in the credits
19216
19217 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19218
19219         * NEWS: prep for release.
19220
19221 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19222
19223         * panel-applet/NMWirelessAppletDbus.c
19224         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19225
19226 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19227
19228         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19229         applet->state == APPLET_STATE_NO_NM animation.
19230
19231         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19232         set the text correctly.
19233
19234 2004-10-14 Dan Williams <dcbw@redhat.com>
19235
19236         * src/NetworkManager.c
19237                 - Only accept and manager 802.3 and 802.11 devices
19238
19239         * src/NetworkManagerDbus.[ch]
19240                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19241                         logic into NetworkManagerDevice.c
19242                 - (nm_dbus_network_status_from_data): new function
19243                 - (nm_dbus_signal_network_status_change): new function, unused for now
19244                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19245
19246         * src/NetworkManagerDevice.[ch]
19247                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19248                         a random ESSID.
19249
19250 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19251
19252         * info-daemon/NetworkManagerInfo.c 
19253                 - (main): Added session management
19254
19255 2004-10-14 Dan Williams <dcbw@redhat.com>
19256
19257         * panel-applet/NMWirelessAppletDbus.[ch]
19258                 - Expose network_device_[un]ref()
19259                 - Expose wireless_network_[un]ref()
19260                 - (wireless_network_new_with_essid): new function, create and return
19261                         a wireless network with a particular essid
19262
19263         * panel-applet/NMWirelessApplet.c
19264                 - Hook up the "other network" dialog to do something
19265
19266 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19267
19268         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19269         doesn't work yet, but it looks okay.
19270
19271         * panel-applet/icons/*png: Resize to 22x22 and install in the
19272         right place.
19273
19274 2004-10-13 Dan Williams <dcbw@redhat.com>
19275
19276         * panel-applet/NMWirelessApplet.c
19277                 - Add function to print out applet_state in a readable
19278                         manner
19279
19280         * src/NetworkManager.c
19281                 - (main): Don't segfault when nm_dbus_init() fails, we had
19282                         a left-over call to hal_shutdown() into which we passed NULL
19283
19284         * src/NetworkManagerAP.c
19285                 - (nm_ap_set_essid): Allow NULL essids
19286
19287         * src/NetworkManagerAPList.[ch]
19288                 - More use of nm_ap_list_[un]lock ()
19289                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19290                         network/essid, just return nothing.  Also skip over NULL
19291                         essid access points in the list when searching
19292                 - (nm_ap_list_get_ap_by_address): new function
19293                 - (nm_ap_list_update_network): set the access point's key source to
19294                         NULL when the key returned from NetworkManagerInfo is NULL or
19295                         of 0 length
19296                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19297                         copy timestamp over too
19298                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19299                         find the correct ESSID for a blank-essid access point by searching
19300                         through another list and matching access point MAC addresses
19301                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19302
19303         * src/NetworkManagerDbus.c
19304                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19305                         may specify.  This is mainly for access points that don't
19306                         broadcast their essid.  So if the user tells us to associate with
19307                         some random ESSID that's not in our access point list, we find
19308                         out if the access point does in fact exist (by attempting association
19309                         and then matching that access point's MAC address with the essid the
19310                         user gave us) and then we switch to it.
19311                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19312                         to the returned list of networks for the "getNetworks" method
19313
19314         * src/NetworkManagerDevice.[ch]
19315                 - Extra debugging info for link detection
19316                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19317                         based on MAC address
19318                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19319                 - (nm_device_wireless_network_exists): new function, find out whether
19320                         a random ESSID exists by attempting to associate with it
19321                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19322                         device list as long as they have an AP MAC address we can use.
19323                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19324                         devices too.  Lets the applet update more frequently.
19325
19326         * src/backends/NetworkManagerGentoo.c
19327                 - Patch from: Robert Paskowitz
19328                         - Update backend code for Gentoo
19329                         - Implement nm_system_device_update_config_info ()
19330
19331         * test/nmclienttest.c
19332                 - (set_network_device): new function, takes a command-line argument
19333                         and tells NetworkManager to use that wireless network
19334
19335 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19336
19337         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19338         if the notification icon crashes 5 times within 5 seconds of each respawn 
19339
19340 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19341
19342         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19343         g_print.
19344
19345 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19346
19347         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19348
19349         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19350         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19351         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19352         Change the name of the icons.
19353
19354         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19355         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19356         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19357         (nm_menu_wireless_expose_event): Really bad hack to get the style
19358         to draw in the right color.
19359
19360 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19361
19362         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19363         Notification if it crashes
19364
19365 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19366
19367         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19368         (nmwa_dbus_get_string): remove unused functions
19369
19370         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19371         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19372         remove unused functions
19373
19374         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19375
19376 2004-10-12 Dan Williams <dcbw@redhat.com>
19377
19378         * panel-applet/NMWirelessAppletDbus.c
19379                 - New functions:
19380                         wireless_network_new
19381                         wireless_network_copy
19382                         network_device_new
19383                         network_device_copy
19384
19385         * src/NetworkManagerDevice.[ch]
19386                 - New functions:
19387                         nm_device_set_mode_managed
19388                         nm_device_set_mode_adhoc
19389                 - Use these functions where appropriate
19390                 - When creating a new wireless device, force the card
19391                         to managed/Infrastructure mode as soon as possible
19392
19393 2004-10-12 Dan Williams <dcbw@redhat.com>
19394
19395         * src/NetworkManagerDevice.c
19396                 - Force wireless cards into Infrastructure mode before we use them
19397
19398 2004-10-12 Dan Williams <dcbw@redhat.com>
19399
19400         * TODO
19401                 - Remove bit about static IP address support
19402
19403         * src/NetworkManagerUtils.c
19404                 - (nm_spawn_process): Add some error reporting
19405
19406         * src/NetworkManagerDevice.c
19407                 - (nm_device_activation_configure_ip): hook up to the static config
19408                         routines in the backends
19409
19410         * src/backends/NetworkManagerRedHat.c
19411                 - (nm_system_device_update_config_info): use shvar.c routines to
19412                         parse the config file iformation, not our own
19413                 - (nm_system_device_setup_static_ip4_config): new function, based
19414                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19415                         with a static IP address and gateway
19416
19417         * src/backends/shvar.[ch]
19418                 - Parser (filched from initscripts package) for ifcfg-* files
19419
19420         * src/backends/NetworkManagerSystem.h
19421           src/backends/NetworkManagerGentoo.c
19422           src/backends/NetworkManagerDebian.c
19423           src/backends/NetworkManagerSlackware.c
19424                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19425
19426 2004-10-11 Dan Williams <dcbw@redhat.com>
19427
19428         * TODO
19429                 - Remove bit about more robust AP diffing since I just implemented it
19430
19431 2004-10-11 Dan Williams <dcbw@redhat.com>
19432
19433         * src/NetworkManagerAP.c
19434                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19435                         enough RAM to allocate new AP structures, but return NULL instead
19436
19437         * src/NetworkManagerAPList.[ch]
19438                 - (nm_ap_list_is_empty): new function
19439                 - (nm_ap_list_combine): new function, combine two access point lists
19440                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19441                         into another
19442
19443         * src/NetworkManagerDevice.[ch]
19444                 - Rename some functions to be clearer:
19445                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19446                         nm_device_just_activated     -> nm_device_is_just_activated
19447                         nm_device_activating         -> nm_device_is_activating
19448                         nm_device_now_scanning       -> nm_device_is_scanning
19449                 - Cache the last 4 scans so that the access point list is more stable.
19450                         We combine the lastest two scans and use that as the AP list,
19451                         and diff that combined list against the combination of the earliest
19452                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19453
19454 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19455
19456         * info-daemon/NWManagerInfo.h
19457                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19458
19459         * info-daemon/NWManagerInfoDbus.c
19460                 - (shutdown_callback): new function
19461                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19462                         if NetworkManager goes away.  Kill the timeout
19463                         if NetworkManager restarts before the 30 seconds
19464                         are up.
19465                 - (nmi_dbus_service_init): 
19466                         - call gtk_main_quit if NetworkManager is not running
19467                         - add filters to monitor dbus service creations and
19468                                 deletions
19469         
19470 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19471
19472         * panel-applet/NMWirelessApplet.c
19473                 - (nmwa_update_state): Hide notification icon if we are only
19474                         showing one wired card and no wireless interfaces 
19475                         (Red Hat Bug #134895)
19476
19477         * panel-applet/NMWirelessAppletDbus.c
19478                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19479
19480         * info-daemon/NWManagerInfo.c
19481                 - (main): Terminated the notification_icon_cmd array with a NULL
19482
19483 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19484
19485         * configure.in (ALL_LINGUAS): Added de (German).
19486
19487 2004-10-08 Dan Williams <dcbw@redaht.com>
19488
19489         * src/NetworkManagerDevice.c
19490                 - Be a bit more robust about link checking, ie make sure that
19491                         the WEP key we were given actually has some data in it
19492
19493 2004-10-08 Dan Williams <dcbw@redhat.com>
19494
19495         * info-daemon/NetworkManagerInfo.c (main):
19496                 - Initialize GError object to NULL
19497
19498 2004-10-08 Dan Williams <dcbw@redhat.com>
19499
19500         * panel-applet/NMWirelessAppletDbus.c
19501                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19502
19503 2004-10-08 Dan Williams <dcbw@redhat.com>
19504
19505         * info-daemon/NetworkManagerInfo.[ch]
19506           info-dameon/NetworkManagerInfoDbus.[ch]
19507           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19508                 - Preserve original label text in the passphrase dialog so that
19509                         it actually gets updated with the new network name the next
19510                         time around.  Previously, we were overwriting it so you'd get
19511                         the wrong network name to enter a key for
19512                 - Add a "Key Type" combo to the passphrase dialog, user selects
19513                         encryption key type now, type is stored in GConf too
19514                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19515
19516         * src/NetworkManagerAP.[ch]
19517                 - Remove all the encyption method magic.  It's now set by the user
19518                         and NetworkManager retrieves the type of encryption key from
19519                         NetworkManagerInfo
19520
19521         * src/NetworkManagerAPList.[ch]
19522           src/NetworkManagerDbus.[ch]
19523                 - Adjust to new way of setting encryption key and method
19524                 - Pull encryption method down from NMI along with key
19525
19526         * src/NetworkManagerDevice.[ch]
19527                 - Removed encryption method fallback magic as the method is now
19528                         determined by the user.  This greatly simplifies the connection
19529                         logic.
19530                 - More robust connection/link logic.  Besides removing the encryption
19531                         method fallback magic, check whether or not the card is receiving
19532                         invalidly encrypted packets, which usually indicates that we have
19533                         a bad WEP key set.
19534                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19535
19536         * test/nminfotest.c
19537                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19538
19539 2004-10-07 Dan Williams <dcbw@redhat.com>
19540
19541         * info-daemon/NetworkManagerInfo.conf
19542                 - Allow root user to run NMI too
19543
19544 2004-10-06 Dan Williams <dcbw@redhat.com>
19545
19546         * src/NetworkManagerDevice.[ch]
19547           src/NetworkManagerDbus.c
19548           doc/NetworkManager DBUS API.txt
19549                 - Add a new status tag "scanning", which is set when there
19550                         is no active network connection, but NetworkManager is
19551                         looking for an access point to associate with
19552
19553         * panel-applet/main.c
19554                 - Cast the applet appropriately for gtk_widget_show_all ()
19555
19556 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19557
19558         * panel-applet/eggtrayicon.[ch]:
19559         * panel-applet/main.c: Add missing file
19560
19561 2004-10-04 Dan Williams <dcbw@redhat.com>
19562
19563         * src/NetworkManagerDevice.[ch]
19564                 - Add a slightly more robust method of determining if the WEP key
19565                         is correct or not, by checking the WEP-discarded packet count
19566                         on the card
19567
19568         * info-daemon/NetworkManagerInfo.c
19569                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19570                         un-escape values we pull out rather than escaping them
19571
19572 2004-10-03  Marcel Telka  <marcel@telka.sk>
19573
19574         * configure.in (ALL_LINGUAS): Added sk.
19575
19576 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19577
19578         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19579         and feel.  We should be back to working, and have a good, clean
19580         look.
19581
19582 2004-09-30 Dan Williams <dcbw@redhat.com>
19583
19584         * info-daemon/NetworkManagerInfo.c
19585           info-daemon/NetworkManagerInfoDbus.c
19586           test/nminfotest.c
19587                 - Escape ESSIDs in gconf
19588
19589         * src/NetworkManagerDevice.c
19590                 - Fix pseudo-scanning to use netowrk list from info daemon
19591
19592 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19593
19594         * configure.in: Add a temporary --enable-notification-icon.  This
19595         will prolly go away.
19596
19597         * info-daemon/Makefile.am:
19598         * info-daemon/NetworkManagerInfo.c:
19599         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19600
19601         * panel-applet/Makefile.am:
19602         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19603         * panel-applet/NMWirelessApplet.h:
19604
19605 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19606
19607         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19608         before 'select custom ESSID'.
19609
19610         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19611         fully complete, but syncing in prep for merge.
19612
19613         * panel-applet/icons/*png: New images
19614
19615 2004-09-28 Dan Williams <dcbw@redhat.com>
19616
19617         * src/NetworkManager.c
19618           src/NetworkManagerDevice.c
19619           src/NetworkManagerPolicy.c
19620                 - Don't blow away an active wired connection on startup
19621
19622 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19623
19624         Changes from J5
19625         
19626         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19627
19628         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19629         syslog output
19630
19631 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19632
19633         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19634         have a wireless card.
19635
19636 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19637
19638         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19639         Also, get the right device strings.
19640
19641 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19642
19643         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19644         the logic to make this right.
19645
19646         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19647         devices so that wired networks are always first.
19648
19649 2004-09-22    <clarkbw@cvs.gnome.org>
19650
19651         * initscript/Debian/.cvsignore:
19652         * initscript/Slackware/.cvsignore:
19653         Added new cvsignores for Makefile, Makefile.in
19654         
19655         * test/.cvsignore:
19656         Added nmtestdevices
19657         
19658         * src/NetworkManagerDevice.c: 
19659         * src/NetworkManager.c: 
19660         Updated the wireless/wired HAL device strings from net.ethernet to
19661         net.80203 or net.80211 depending on wired or wireless respectively
19662         
19663         * examples/python/NetworkManager.py: 
19664         s/Quality/Strength/
19665
19666         * examples/python/systray/network_tray.py:
19667         Lots of little changes and fixes.  been rotting for a while so I
19668         figured I'd finally sync them all with CVS
19669
19670 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19671
19672         * configure.in: Add graphics
19673
19674         * panel-applet/Makefile.am: Add graphics
19675
19676         * panel-applet/icons/*: Add graphics
19677
19678         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19679         the icons fully lined up.
19680
19681         * panel-applet/menu-info.c: 
19682         * panel-applet/menu-info.h: Add another menu type.
19683
19684 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19685
19686         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19687
19688         * panel-applet/menu-item.[ch]: Wireless menu item.
19689
19690 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19691
19692         * info-daemon/NetworkManagerInfo.conf
19693                 - Created a more robust security policy for the DBus service
19694                         - everything is denied by default
19695                         - root can own and send to the service
19696                         - users logged in at the console can send to the service
19697
19698 2004-09-13  Dan Williams <dcbw@redhat.com>
19699
19700         * src/NetworkManagerDevice.c
19701                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19702                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19703                         the latter
19704
19705 2004-09-13  Dan Williams <dcbw@redhat.com>
19706
19707         * TODO: fix typo
19708
19709         * docs/NetworkManager DBUS API.txt
19710                 - Update for new signal strength changes
19711
19712         * panel-applet/NMWirelessApplet.c
19713                 - Make panel icon show strength of the current connection
19714                 - Cleanups and memleak fixes
19715
19716         * panel-applet/NMWirelessApplet.h
19717                 - Add data members for signal strength on devices and networks
19718
19719         * panel-applet/NMWirelessAppletDbus.c
19720                 - Free more DBusErrors
19721                 - Update for new signal strength changes
19722                 - Make devices and networks more like real objects, use ref/unref methods
19723                 - Actually unlock the mutex when updating the active device
19724
19725         * src/NetworkManagerAP.c
19726                 - Change AP functions and data members from "quality"->"strength"
19727
19728         * src/NetworkManagerDbus.c
19729                 - Kill "getMaxQuality" and "getQuality" methods
19730                 - Add "getStrength" methods for Networks and Devices
19731
19732         * src/NetworkManagerDevice.[ch]
19733                 - Add accessors for device strength
19734                 - Add functions to update strength for a device.  Note that not all drivers
19735                         actually support signal strength for scanned access points (Atmel drivers
19736                         being one)
19737                 - Calculate signal strength for each AP during scan
19738
19739         * src/NetworkManagerWireless.[ch]
19740                 - Add function to return signal strength % from a device and a raw quality struct
19741
19742         * test/nmclienttest.c
19743                 - Update for new signal strength changes
19744
19745 2004-09-11  Dan Williams <dcbw@redhat.com>
19746
19747         * src/NetworkManager.c
19748                 - Fix race condition between initscripts and NM on card insertion
19749                         which could cause a card to keep an IP address and routes around
19750                         even when it was not the active device
19751
19752         * src/NetworkManagerDbus.c
19753                 - Fix compile errors, free more DBusErrors
19754
19755 2004-09-11  Dan Williams <dcbw@redhat.com>
19756
19757         * docs/NetworkManager DBUS API.txt
19758                 - Add an explanation of NM's API
19759
19760         * src/NetworkManagerDbus.c
19761                 - Free some more DBusErrors if needed
19762
19763 2004-09-11  Dan Williams <dcbw@redhat.com>
19764
19765         * panel-applet/NMWirelessApplet.c
19766           panel-applet/NMWirelessAppletDbus.c
19767                 - Start using NetworkDevice/WirelessNetwork structures in more places
19768                 - Update for unified device/network forcing in NetworkManager
19769
19770         * src/NetworkManager.c
19771                 - some code consolidation
19772
19773         * src/NetworkManagerDbus.c
19774                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19775                         or two arguments:  the first is the NM ID of the device to switch to,
19776                         and the second (optional) argument is the ESSID of a wireless network
19777                         to use as well.
19778                 - Get rid of "setNetwork" method due to above change
19779
19780         * src/NetworkManagerDevice.c
19781                 - (nm_device_new): perform scan and update best AP on device creation
19782                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19783                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19784                         spin waiting for cancellation to finish before returning
19785
19786         * src/NetworkManagerPolicy.c
19787                 - Changes here clarify the situations in which a device switch occurs, and 
19788                         make sure to keep using a forced device and network if the user gives
19789                         us one
19790                 - Remove old unused code
19791
19792 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19793
19794         * configure.in: Added Danish (da) to ALL_LINGUAS.
19795
19796 2004-09-09  Dan Williams <dcbw@redhat.com>
19797
19798         * panel-applet/NMWirelessAppletDbus.c
19799                 - Pull fresh devices and networks from NM when wireless networks
19800                         change.  Provides faster feedback of a forced wireless network
19801
19802         * src/NetworkManagerDbus.c
19803                 - Return error when "getMaxQuality" is called on a wired device
19804                 - Make best_ap freezing actually work again, and signal cancellation
19805                         of activation if there's already a device activation when the user
19806                         freezes the best_ap
19807
19808         * src/NetworkManagerDevice.c
19809                 - Don't clear out the best_ap for wireless devices when the link goes
19810                         down, that's done elsewhere
19811                 - Kill any dhcp daemons when cancelling device activation since they
19812                         may be stuck waiting for a DHCP address, and since we're cancelling
19813                         activation we don't care about that anymore
19814
19815         * src/NetworkManagerPolicy.c
19816                 - Make sure to unref the device we ref earlier (we refed it to make sure
19817                         it stuck around during device activation and such)
19818                 - If we were going to change the best device, but its activating currently
19819                         (and therefore the change didn't occur due to the check earlier)
19820                         we mark the state changed to we come back to it later when device
19821                         activation has canceled and its no longer activating
19822
19823         * src/backends/NetworkManagerRedHat.c
19824                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19825
19826 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19827
19828         * info-daemon/passphrase.glade: 
19829         set passphrase input to activates_default : True
19830
19831         * examples/python/systray/network_tray.py
19832         (network_tray.sort_networks):
19833
19834         Added support for having wireless always scanning
19835
19836 2004-09-09  Dan Williams <dcbw@redhat.com>
19837
19838         NOTE: this commit changes the behavior of wireless devices in
19839         NetworkManager.  They are now up all the time, scanning all
19840         the time.  Only the active device has an IP address and routing
19841         information set up however.  Also, NetworkManager will no longer
19842         opportunistically switch wireless networks when a better one
19843         comes in range, it will remain associated with one wireless network
19844         until that one drops out.
19845
19846         * panel-applet/NMWirelessApplet.c
19847           panel-applet/NMWirelessAppletDbus.c
19848                 - List all wireless cards and their respective networks
19849
19850         * src/NMLoadModules
19851                 - Use full path to /sbin/ip
19852
19853         * src/NetworkManager.c
19854                 - Keep wireless devices up all the time so they can scan
19855
19856         * src/NetworkManagerDbus.c
19857                 - On a WirelessNetworkUpdate signal from NMI, don't update
19858                         the "best" AP
19859
19860         * src/NetworkManagerDevice.c
19861                 - (nm_device_set_link_active): clear out the best ap for
19862                         wireless devices when the link is set to FALSE
19863                 - Scan on all wireless cards, all the time
19864                 - (nm_device_activation_worker): split out the wireless card
19865                         link-waiting code to a separate function
19866                 - Keep wireless cards up even if device activation fails
19867                 - Don't update the "best" ap as much
19868
19869         * src/NetworkManagerPolicy.c
19870                 - Don't update the best ap when checking if its frozen,
19871                         let link checking clear out a frozen best ap for us
19872
19873         * src/NetworkManagerWireless.c
19874                 - Scan on all wireless cards, all the time
19875
19876 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19877
19878         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19879
19880 2004-09-09  Ankit Patel <ankit@redhat.com>
19881
19882         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19883
19884 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19885
19886         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19887
19888 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19889
19890         * examples/python/NetworkManager.py: 
19891         added CONNECTED, CONNECTING, and DISCONNECTED states
19892         added methods to return number of devices of a single type
19893
19894         * examples/python/systray/network_tray.py: 
19895         did some tweaks to get the menu looking near what it is supposed
19896         to look like.  Also did a Airo card hack to make it show the
19897         correct AP quality
19898
19899 2004-09-08  Dan Williams <dcbw@redhat.com>
19900
19901         * panel-applet/no-networkmanager.png
19902           panel-applet/Makefile.am
19903           panel-applet/NMWirelessApplet.c
19904                 - Add a "NetworkManager not running" icon and use it
19905                 - Use new consolidated GConf keys rather than Preferred/Trusted
19906
19907         * TODO: update
19908
19909         * info-daemon/NetworkManagerInfo.c
19910           info-daemon/NetworkManagerInfoDbus.[ch]
19911           info-daemon/NetworkManagerInfoPassphraseDialog.c
19912                 - There are now no longer two separate lists of wireless networks,
19913                         but one list where each network is "trusted" or not trusted
19914                 - Add a "getNetworkTrusted" dbus method
19915                 - "WirelessNetworkUpdate" signal now sent rather than
19916                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19917                 - Start freeing some dbus errors (not completed yet)
19918
19919         * info-daemon/passphrase.glade
19920                 - Remove the "don't show" hints for pager and taskbar
19921                 - Add a title since its going to be in the taskbar
19922
19923         * src/NetworkManager.[ch]
19924           src/NetworkManagerAPList.[ch]
19925                 - There are now no longer two separate lists of wireless networks,
19926                         but one list where each network is "trusted" or not trusted
19927
19928         * src/NetworkManagerAP.[ch]
19929                 - Add get/set "trusted" accessors and data bit
19930
19931         * src/NetworkManagerDbus.[ch]
19932                 - Add function to get "trusted" status of a network from NetworkManagerInfo
19933                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
19934
19935         * src/NetworkManagerDevice.[ch]
19936                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
19937                 - (nm_device_new): Get device config from backend when initializing devices
19938                 - (nm_device_activation_worker): Split out device configuration on
19939                         activation to deal with static/dynamic IP differences, and try encryption
19940                         fallbacks on a device if the encryption method for the best AP is not good
19941                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
19942                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
19943
19944         * src/NetworkManagerWireless.c
19945                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
19946
19947         * src/backends/NetworkManagerRedHat.c
19948           src/backends/NetworkManagerSystem.h
19949                 - (nm_system_device_update_config_info): Add function to get device configuration
19950                         from system data in ifcfg-* files
19951
19952         * src/backends/NetworkManagerDebian.c
19953           src/backends/NetworkManagerGentoo.c
19954           src/backends/NetworkManagerSlackware.c
19955                 - Add stub functions for getting device configuration
19956
19957 2004-09-07  Dan Williams <dcbw@redhat.com>
19958
19959         * src/backends/NetworkManagerRedhat.c
19960           src/backends/NetworkManagerSlackware.c
19961                 - Use full path to /sbin/ip everywhere
19962
19963 2004-09-07  Dan Williams <dcbw@redhat.com>
19964
19965         Patch from: Narayan Newton <narayan_newton@yahoo.com>
19966
19967         * configure.in
19968           initscript/Makefile.am
19969           initscript/Slackware/Makfile.am
19970           initscript/Slackware/rc.networkmanager
19971           src/Makefile.am
19972           src/backends/NetworkManagerSlackware.c
19973                 - Add Slackware support
19974
19975 2004-09-07  Dan Williams <dcbw@redhat.com>
19976
19977         Patches below from:
19978                 <j@bootlab.org>
19979                 Mark Roach <mrroach@okmaybe.com>
19980                 Thom May <thom@debian.org>
19981
19982         * configure.in
19983           initscript/Debian/NetworkManager
19984           initscript/Debian/Makefile.am
19985                 - Initscript for Debian
19986
19987         * src/backends/NetworkManagerDebian.c
19988                 - Add missing system init function to allow compilation
19989                         on Debian
19990
19991 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
19992
19993         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
19994
19995 2004-09-03  Akagic Amila <bono@linux.org.ba>
19996
19997         * configure.in: Added 'bs' to ALL_LINGUAS.
19998
19999 2004-09-02  Colin Walters  <walters@verbum.org>
20000
20001         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20002         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20003         g_strdup_printf instead of arbitrarily sized buffers.
20004
20005 2004-09-01  Colin Walters  <walters@verbum.org>
20006
20007         * NetworkManager.pc.in: New file.
20008
20009         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20010
20011 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20012         
20013         * configure.in: Punjabi(pa) is added to po/.
20014
20015 2004-08-31  Dan Williams <dcbw@redhat.com>
20016
20017         * Remove 'debug' extern global from all files since we now
20018                 use syslog()
20019
20020         * src/NetworkManager.[ch]
20021                 - Break out routine that get the net.interface property from HAL,
20022                         removing that logic from nm_create_device_and_add_to_list()
20023                 - (nm_create_device_and_add_to_list): make this a bit more general so
20024                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20025                         the create of test devices.
20026                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20027                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20028                         which makes NetworkManager listen for dbus commands to create test
20029                         devices, which have no backing hardware.  Use when you're on a plane
20030                         for example, and/or forgot your wireless card at home.  Test devices
20031                         _cannot_ be created unless NM is started with --enable-test-devices.
20032
20033         * src/NetworkManagerDbus.[ch]
20034                 - New "getLinkActive" method for devices
20035                 - New "setLinkActive" method for devices (only works on test devices)
20036                 - New "createTestDevice" method on NetworkManager object to create a test
20037                         device of a specified type (ie wired, wireless).  UDI is created from
20038                         scratch, as is the interface name.  Only works when NM is started with
20039                         --enable-test-devices switch.
20040                 - New "removeTestDevice" method on NetworkManager object which removes a
20041                         test device.  Only works when NM is started with --enable-test-devices
20042
20043         * src/NetworkManagerDevice.[ch]
20044                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20045                         whether a device is a test device or not, and what its link status is.
20046                 - Deal with test devices in most functions.  For those that work directly on hardware
20047                         special-case test devices.
20048                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20049                         command-line.
20050                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20051                         checking to separate functions to facilitate test device link checking.
20052                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20053                         don't make a distinction between System Authentication and Encryption
20054                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20055                         on the card.  We don't deal with Shared Key auth yet.
20056                 - (nm_device_activation_worker): split the activation cancel check logic out into
20057                         a separate routine nm_device_activation_cancel_if_needed()
20058                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20059                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20060                         a list of fake access points that they can "see"
20061                 - (nm_device_is_test_device): return whether or not a device is a test device
20062
20063         * src/NetworkManagerPolicy.c
20064                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20065                         previously if you "locked"/forced NM to use a wireless device but then
20066                         selected a wireless network for NM to use, it would switch to a wired device.
20067                         So, if the active device is wireless and it has a "forced" best AP, use it
20068                         if the "forced" best AP is still valid
20069                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20070                         there were no usable network devices, or the last one was removed
20071
20072         * src/backends/NetworkManager*.c
20073                 - Deal with test devices, mostly just return success for operations like getting
20074                         a DHCP address
20075
20076         * test/nmtestdevices.c
20077                 - Test tool to create/remove/link-switch test devices
20078
20079 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20080
20081         * examples/python/NetworkManager.py: 
20082         added convience functions has_wired_device and has_wireless_device
20083
20084         * examples/python/systray/network_tray.py: 
20085         cleaned up a bunch of cruft, added support for listing wireless
20086         networks just like the real applet.  This is probably all I'm
20087         going to work on this applet from now on.
20088         TODO: add support for actually changing networks and devices
20089
20090         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20091         changed "nm.networks" into a dict from a list so I can store all
20092         the cool information about networks in there
20093
20094         * examples/python/systray/network_tray.py: 
20095         Added nice message when you try to run without running make first
20096
20097         * examples/python/NetworkManager.py: 
20098         Bug fixes to the code so we get all the device information
20099         that we need in get_device()
20100         
20101         * examples/python/NMTester.py: 
20102         Fixed _print_device_list to print_device_list
20103
20104 2004-08-29  Seth Nickell  <seth@gnome.org>
20105
20106         * configure.in:
20107
20108         Actually properly setup the Debian backend in configure.
20109         
20110 2004-08-29  Colin Walters  <walters@verbum.org>
20111
20112         * test/nminfotest.c: Include string.h and stdlib.h.
20113         (get_network_string_property, get_networks_of_type): Return NULL.
20114
20115         * test/nmclienttest.c (get_device_name, get_active_device): Return
20116         NULL.
20117
20118         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20119         use strlen, fgets always NULL-terminates the string.
20120
20121         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20122         dbus_message_get_member): Remove /* in comment.
20123
20124         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20125
20126         * src/NetworkManager.c (quit): Unused, delete.
20127         (nm_data_free): Cast arg to GFunc.
20128
20129         * panel-applet/NMWirelessAppletDbus.c: Need to include
20130         string.h, and dbus-glib-lowlevel.h (the latter is needed
20131         for dbus_connection_setup_with_g_main at present).
20132         (nmwa_dbus_update_wireless_network_list): Parenthesize
20133         assignment in conditional.
20134         (nmwa_dbus_worker): Return NULL.
20135
20136         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20137         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20138         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20139         (nmwa_populate_menu): Return NULL on failure, instead of just
20140         return;
20141
20142         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20143
20144         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20145         variables.
20146
20147         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20148         delete.
20149         
20150 2004-08-29  Colin Walters  <walters@verbum.org>
20151
20152         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20153         a GTimeVal instead of time_t.  This is easier to work with,
20154         since time_t may be a long or double, we don't know.
20155
20156         * src/NetworkManagerDbus.h: Update prototype.
20157         
20158         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20159         instead of time_t.
20160         (nm_ap_get_timestamp): Update to return GTimeVal.
20161         (nm_ap_set_timestamp): Update to take GTimeVal.
20162         
20163         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20164         to handle GTimeVal.
20165
20166         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20167         GTimeVal change.
20168         (nm_ap_list_print_members): Fix warnings in printf format.
20169
20170 2004-08-29  Colin Walters  <walters@verbum.org>
20171         
20172         * panel-applet/NMWirelessApplet.c: Include config.h.
20173
20174 2004-08-29  Colin Walters  <walters@verbum.org>
20175
20176         * configure.in: Generate config.h.
20177
20178         * configure.in: Dump dependency on OpenSSL; we can't
20179         use it since this package is GPL:
20180         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20181         Instead, check for libgcrypt, use it if available,
20182         otherwise use included MD5 code.
20183
20184         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20185         Suck in from gnome-keyring, munge a bit.
20186         
20187         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20188         gnome-keyring-md5.h gnome-keyring-md5.c.
20189         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20190
20191         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20192         libgcrypt or included gnome-keyring md5 bits.
20193         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20194
20195 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20196
20197         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20198
20199 2004-08-27  Bryan Clark  <bclark@redhat.com>
20200
20201         * examples/python/systray/Makefile: 
20202
20203         Updated the clean section
20204         
20205         * examples/python/systray/trayiconmodule.c: 
20206         * examples/python/systray/trayicon.override: 
20207         * examples/python/systray/network_tray.py: 
20208         * examples/python/systray/eggtrayicon.h: 
20209         * examples/python/systray/eggtrayicon.c: 
20210         * examples/python/systray/Makefile: 
20211         * examples/python/README: 
20212         * examples/python/NetworkManager.py: 
20213         * examples/python/NMTester.py: 
20214
20215         Initial commit of these python example files
20216
20217 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20218
20219         * panel-applet/NMWirelessApplet.c
20220                 - Make current device bold
20221                 - Show more user-friendly device name if we got one from hal
20222
20223         * panel-applet/NMWirelessAppletDbus.c
20224                 - Grab "info.product" key from hal for network devices
20225                 - Cache the current active device
20226
20227 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20228
20229         * configure.in: Added en_CA to ALL_LINGUAS.
20230
20231 2004-08-27  Christian Rose  <menthos@menthos.com>
20232
20233         * configure.in: Added "sv" to ALL_LINGUAS.
20234
20235 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20236
20237         * Tag NetworkManager-0.2
20238
20239 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20240
20241         * initscripts/Makefile.am
20242         * configure.in: Make pass distcheck
20243
20244         * po/ChangeLog: added
20245
20246 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20247
20248         * panel-applet/NMWirelessApplet.c
20249                 - Remove debugging code
20250                 - Enable device switching from menus
20251
20252         * panel-applet/NMWirelessAppletDbus.[ch]
20253                 - Method for asking NM to switch devices
20254
20255         * src/NetworkManagerDevice.c
20256                 - Set dev->activating earlier, avoids race between
20257                         the dbus signal of "DeviceActivating" and setting
20258                         dev->activating (which is what NM's "status" method call
20259                         looks at)
20260
20261 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20262
20263         * panel-applet/NMWirelessApplet.[ch]
20264                 - Rework menu code to add devices to menu, and to show
20265                         signal strength for each access point.  Code cleanups
20266                         too.
20267
20268         * panel-applet/NMWirelessAppletDbus.c
20269                 - Grab network devices from NetworkManager too
20270                 - Grab quality information from NM for wireless networks
20271
20272         * src/NetworkManagerDbus.[ch]
20273                 - Add dbus methods for getting the HAL UDI from a device and
20274                         for getting its base quality, if its wireless
20275                 - Consolidate some functions (wireless network notifications,
20276                         device notifications)
20277                 - Add method for requesting NM to use a particular device
20278
20279         * src/NetworkManager.c
20280                 - Change for function consolidations from NetworkManagerDbus.c
20281                 - Implement active device locking and user-requested devices
20282                         (ie, tell NM to use a particular device instead of the one
20283                         it autochose)
20284
20285         * src/NetworkManagerDevice.c
20286                 - Add method for getting the base quality of a device, if its
20287                         wireless
20288                 - Grab device base quailty info from iwlib during scans
20289
20290         * src/NetworkManagerPolicy.c
20291                 - Use a user-requested device rather than the auto-chosen device
20292                         if we are told to
20293
20294 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20295
20296         * Makefile.am: add po as a supdir
20297
20298         * autogen.sh: use gnome-autogen.sh
20299
20300         * initscript/Gentoo/.cvsignore:
20301         * initscript/RedHat/.cvsignore: Shut up cvs
20302
20303         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20304
20305         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20306         (nmwa_fill): Use gettext.
20307
20308         * configure.in: add gettext support
20309         * po/.cvsignore:
20310         * po/NetworkManager.pot:
20311         * po/POTFILES.in:
20312
20313 2004-08-26  Seth Nickell  <seth@gnome.org>
20314
20315         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20316         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20317         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20318         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20319         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20320         * panel-applet/NMWirelessApplet.h:
20321
20322         Use a menu bar instead of a button for the main clickable
20323         thingy.
20324         
20325 2004-08-25  Dan Williams <dcbw@redhat.com>
20326
20327         * src/NetworkManagerDevice.c
20328                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20329                         turning encryption off, because the Cisco driver doesn't associate
20330                         with WEP-enabled access points unless we are in "open"
20331
20332 2004-08-25  Dan Williams <dcbw@redhat.com>
20333
20334         * src/NetworkManagerWireless.c
20335                 - Don't try to defererence blank passphrases
20336
20337 2004-08-25  Dan Williams <dcbw@redhat.com>
20338
20339         * panel-applet/NMWirelessApplet.c
20340                 - Rebuild the menu whenever a user clicks
20341
20342 2004-08-25  Dan Williams <dcbw@redhat.com>
20343
20344         * panel-applet/NMWirelessApplet.c
20345                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20346                         when NM isn't around or when its not connected
20347
20348         * src/NetworkManagerDevice.c
20349                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20350                         canceled.
20351
20352 2004-08-25  Dan Williams <dcbw@redhat.com>
20353
20354         * panel-applet/NMWirelessAppletDbus.c
20355                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20356                         for getting encryption, and don't stop on "val" once we've gotten it
20357                         from NetworkManager.  Short form:  encryption should now show up.
20358
20359 2004-08-25  Dan Williams <dcbw@redhat.com>
20360
20361         * panel-applet/NMWirelessApplet.c
20362                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20363                         network to associate with
20364
20365 2004-08-25  Dan Williams <dcbw@redhat.com>
20366
20367         * panel-applet/*
20368                 - Rework the panel applet to do all DBUS communication in a separate
20369                         thread
20370
20371 2004-08-25  Dan Williams <dcbw@redhat.com>
20372
20373         * info-daemon/NetworkManagerInfo.[ch]
20374                 - Remove "get_next_priority" function
20375
20376         * info-daemon/NetworkManagerInfoDbus.[ch]
20377                 - Convert "priority" functions to "timestamp"
20378
20379 2004-08-25  Dan Williams <dcbw@redhat.com>
20380
20381         * src/NetworkManagerAP.[ch]
20382                 - Add a "enc_method_good" member and accessors to an Access Point
20383                         to signal when we've found the correct encryption method
20384                         for an access point
20385                 - Add a "timestamp" member and accessors, remove "priority" member
20386                         and accessors (use timestamps instead)
20387                 - Rename "wep_key"->"enc_key"
20388                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20389                         for a specified encryption method using the access points
20390                         source encryption key/passphrase
20391
20392         * src/NetworkManagerAPList.c
20393                 - When updating a network with dbus, grab timestamp now instead of
20394                         priority
20395
20396         * src/NetworkManagerDBus.[ch]
20397                 - Add signal for "DeviceActivating"
20398                 - Switch priority->timestamp
20399
20400         * src/NetworkManagerDevice.c
20401                 - Change references of "wep_key" -> "enc_key" or "key"
20402                 - Signal DeviceActivating when starting activation
20403                 - When activating a wireless device, if the access point we are connecting
20404                         to is encrypted, and we have a source key, try to generate a mangled
20405                         key and use that (ie, generate real WEP key from a passphrase)
20406                 - Rework device activation to fallback to other encryption methods if
20407                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20408                         first, then if that doesn't work fall back to direct hex key).
20409                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20410                         priority.  We now prefer the latest access point used, rather than using
20411                         a priority scheme
20412                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20413                         points we've just discovered, and merge in correct info from the global
20414                         access point lists
20415
20416 2004-08-25  Seth Nickell  <seth@gnome.org>
20417
20418         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20419         Debian support.
20420         
20421         * src/Makefile.am:
20422         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20423         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20424         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20425         (nm_system_delete_default_route),
20426         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20427         (nm_system_load_device_modules):
20428
20429 2004-08-24  Dan Willemsen <dan@willemsen.us>
20430
20431         * src/NetworkManager.c
20432           src/backends/NetworkManagerGentoo.c
20433           src/backends/NetworkManagerRedHat.c
20434           src/backends/NetworkManagerSystem.h
20435                 - Implement preliminary Gentoo support, adding a
20436                         nm_system_init function to the backend specification
20437
20438         * configure.in
20439                 - Distribution auto-detection, lowercase any user-fed
20440                         distribution names
20441
20442         * initscript/.cvsignore
20443           initscript/Makefile.am
20444           initscript/RedHat/Makefile.am
20445           initscript/RedHat/NetworkManager
20446           initscript/Gentoo/Makefile.am
20447           initscript/Gentoo/NetworkManager
20448                 - Refactored initscript code separately for each
20449                         distribution
20450
20451 2004-08-23  Dan Williams <dcbw@redhat.com>
20452
20453         * configure.in
20454           src/Makefile.am
20455           src/NetworkManagerDevice.c
20456           src/NetworkManager.c
20457           src/NetworkManagerUtils.[ch]
20458           src/backends/NetworkManagerSystem.h
20459           src/backends/NetworkManagerRedHat.c
20460           src/backends/NetworkManagerGentoo.c
20461                 - Refactor system-specific code into separate backends for
20462                         each distribution
20463
20464 2004-08-23  Dan Willemsen <dan@willemsen.us>
20465
20466         * dispatcher-daemon/NetworkManagerDispatcher.c
20467           info-daemon/NetworkManagerInfo.[ch]
20468           info-daemon/NetworkManagerInfoDbus.c
20469           info-daemon/NetworkManagerInfoPassphraseDialog.c
20470           src/NetworkManager.c
20471           src/NetworkManagerAP.c
20472           src/NetworkManagerAPList.c
20473           src/NetworkManagerDbus.c
20474           src/NetworkManagerDevice.c
20475           src/NetworkManagerPolicy.c
20476           src/NetworkManagerUtils.[ch]
20477           src/NetworkManagerWireless.c
20478                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20479
20480         * src/NetworkManager.c
20481                 - Fixed usage wording for --no-daemon
20482
20483 2004-08-23  Dan Williams <dcbw@redhat.com>
20484
20485         * panel-applet/NMWirelessApplet.c
20486                 - Update our state every second to get more responsive panel icon
20487                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20488                         was causing our marching ants status blips to never move when
20489                         looking for a wireless network
20490
20491         * src/NetworkManagerDevice.c
20492                 - (nm_device_activation_begin): return if activation has already begun
20493                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20494                         trusted/preferred network into the device's access point when the
20495                         scan list is processed
20496
20497 2004-08-23  Dan Williams <dcbw@redhat.com>
20498
20499         * initscript/NetworkManager
20500                 - Use NMLaunchHelper rather than sleeping
20501
20502         * initscript/NMLaunchHelper.c
20503           Makefile.am
20504                 - Add helper program that exits only when NM activates a device,
20505                         or 10 seconds have passed, whichever happens first.  This
20506                         stops the boot processes until we have a network connection,
20507                         which NM can't do because it daemonizes and brings the connection
20508                         up in the background.  Allows stuff like NFS to not die.
20509
20510 2004-08-20  Dan Williams <dcbw@redhat.com>
20511
20512         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20513                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20514                         for a network, set the essid as well since it may not exist yet
20515                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20516                         since WEP keys/passphrases are long and prone to entry-error
20517
20518         * panel-applet/Makefile.am
20519           panel-applet/wired.png
20520                 - Add (pulled from system-config-network temporarily)
20521
20522         * panel-applet/NMWirelessApplet.[ch]
20523                 - Show wired picture when a wired connection is used
20524                 - Rename wireless icon enums, adding WIRELESS
20525
20526         * src/NetworkManagerDevice.c
20527                 - (nm_device_activate_wireless): unset encryption before bringing
20528                         down the card and setting the essid
20529                 - (nm_device_activatin_worker): request a key from the user if the
20530                         AP we are connecting to is encrypted but we don't have a key
20531                         for it yet
20532                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20533                         strcmp() that prevented a user-entered key from actually getting
20534                         used
20535
20536 2004-08-16  Dan Williams <dcbw@redhat.com>
20537
20538         * initscript/NetworkManager
20539                 - Check for /sbin/ip
20540                 - Do sysctl magic that network service does
20541                 - sleep 4s after start to allow network time to come up [hack]
20542
20543         * src/Makefile.am
20544           src/NMLoadModules
20545                 - Load all network device kernel modules (hal doesn't know devices
20546                         are ethernet until the module is loaded, and therefore we don't know)
20547
20548         * src/NetworkManager.c
20549                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20550                         network devices, and bring up the loopback device explicitly
20551
20552         * src/NetworkManagerUtils.[ch]
20553                 - (nm_enable_loopback): new function
20554
20555 2004-08-13  Dan Williams <dcbw@redhat.com>
20556
20557         * configure.in
20558           panel-applet/Makefile.am
20559                 - Fix up cleanfiles and server_DATA/server_in_files
20560
20561         * README
20562                 - Update with some comments on theory of operation
20563
20564         * CONTRIBUTING
20565           Makefile.am
20566                 - Add CONTRIBUTING
20567
20568 2004-08-12  Dan Williams <dcbw@redhat.com>
20569
20570         * info-daemon/passphrase.glade
20571                 - Set window title to " "
20572
20573         * panel-applet/Makefile.am
20574           panel-applet/keyring.png
20575                 - Deliver to correct place
20576
20577         * panel-applet/NMWirelessApplet.[ch]
20578                 - Add comments
20579                 - Remove applet->have_active_device as its no longer used
20580                 - (nmwa_load_theme): load keyring.png too
20581                 - (error_dialog): remove
20582                 - (show_warning_dialog): subsume functionality of error dialog too
20583                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20584                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20585                         the networks menu
20586                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20587                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20588                         and when we get broadcasts of changed wireless access points only, not when the
20589                         user clicks on the button to display the menu (too long of a wait)
20590                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20591                         networks that are encrypted
20592                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20593                         menu item with g_object_set_data()
20594
20595         * panel-applet/NMWirelessAppletDbus.[ch]
20596                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20597                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20598                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20599                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20600                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20601                         activation/deactivation signals and rebuild the menu when they happen
20602
20603         * src/NetworkManager.c
20604                 - (main): use new nm_spawn_process() rather than system()
20605
20606         * src/NetworkManagerDbus.c
20607                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20608                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20609                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20610                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20611                         to freeze the best_ap.
20612
20613         * src/NetworkManagerDevice.[ch]
20614                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20615                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20616                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20617                         ap list
20618
20619         * src/NetworkManagerUtils.[ch]
20620                 - (nm_spawn_process): add replacement for system() usage
20621
20622 2004-08-11  Dan Williams <dcbw@redhat.com>
20623
20624         * panel-applet/NMWirelessApplet.[ch]
20625                 - Fix up copyright and credits to include Bastien and Eskil,
20626                         who created the gnome-applets wireless applet, from whose
20627                         skeleton this one was created
20628                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20629                         pixmap to draw is computed during nmwa_update_state()
20630                 - Applet now shows itself all the time due to panel packing issues
20631                         which caused the applet to previously never come back after hiding.
20632                         When a wired device is the active device, the applet shows "not connected"
20633
20634         * panel-applet/NMWirelessAppletDbus.[ch]
20635                 - Clean up error messages and show what function they are from
20636                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20637                 - Add new device type getters, and a status getter
20638
20639         * src/NetworkManagerDbus.c
20640                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20641                         network is actually in the device's ap list
20642                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20643
20644         * src/NetworkManagerDevice.c
20645                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20646                         card
20647
20648         * test/nmclienttest.c
20649                 - Report status of NetworkManager too
20650
20651 2004-08-11  Dan Williams <dcbw@redhat.com>
20652
20653         * info-daemon/NetworkManagerInfo.c:
20654                 - (main): clean up Seth's code style
20655
20656         * info-daemon/NetworkManagerInfoDbus.c:
20657                 - Use the more aptly-named path/service/interface constants from NetworkManager
20658                 - Don't return empty strings ("") as object paths ever, instead return errors
20659
20660         * panel-applet/NMWirelessApplet.c:
20661                 - Clean up Seth's code style
20662
20663         * src/NetworkManager.[ch]
20664                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20665                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20666
20667         * src/NetworkManagerAPList.[ch]
20668                 - Move Iter struct right above the iter functions to preserve opacity
20669                 - (nm_ap_list_remove_ap): implement
20670                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20671                         remove AP if NetworkManagerInfo doesn't know anything about it
20672                 - (nm_ap_list_diff): user NMAPList iterators
20673                 - (nm_ap_list_print_members): implement debugging function
20674
20675         * src/NetworkManagerDbus.[ch]
20676                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20677                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20678                         and move the actual key setting stuff into NetworkManagerDevice.c
20679                 - (nm_dbus_get_network_priority): return -1 now on errors
20680                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20681                         get lost, and force the active device to update its "best" ap when AP lists change
20682                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20683                         method call due to pending_device member removal
20684
20685         * src/NetworkManagerDevice.[ch]
20686                 - Move NMDevice structure to the top
20687                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20688                 - Remove Pending Action stuff from everywhere
20689                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20690                         activation for us.  This thread blocks until all conditions for activation have
20691                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20692                         then setup up the interface and runs dhclient.  We have to do this because there
20693                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20694                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20695                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20696                         can tell nm_device_activation_worker() that we've got a key
20697                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20698                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20699                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20700                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20701
20702         * src/NetworkManagerPolicy.c
20703                 - Remove anything to do with pending_device
20704                 - Adjust device activation to deal with activation-in-worker-thread
20705
20706         * src/NetworkManagerUtils.c
20707                 - Clean up locking debugging a bit
20708
20709         * src/NetworkManagerWireless.[ch]
20710                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20711                         was badly named and is better as a device function
20712
20713         * panel-applet/.cvsignore: add
20714
20715 2004-08-09  Seth Nickell  <seth@gnome.org>
20716
20717         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20718         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20719         (nmwa_new):
20720         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20721
20722         Don't load the menus until clicked on (also removes a call outside
20723         normal code paths at first load).
20724
20725         Hide applet when NM is not present.
20726         
20727         Improve printf debugging stuff.
20728         
20729 2004-08-09  Dan Williams <dcbw@redhat.com>
20730
20731         * dispatcher-daemon/NetworkManagerDispatcher.c:
20732                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20733                 - Use constants for NetworkManager interface, service, and path
20734
20735 2004-08-09  Dan Williams <dcbw@redhat.com>
20736
20737         * src/NetworkManagerDbus.c:
20738                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20739                         instead return an error message
20740                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20741                         on a wired device.  Also never return an empty object path, instead return an error message
20742
20743 2004-08-06  Seth Nickell  <seth@gnome.org>
20744
20745         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20746
20747         Check the error code when getting a connection.
20748         
20749         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20750
20751         Check if the NM service exists when initializing (rather than
20752         assuming it does not).
20753         
20754         * src/NetworkManagerDbus.c: (nm_dbus_init):
20755
20756         Don't acquire the well-known service name until we have
20757         registered object/path handlers and can actually receive
20758         calls.
20759         
20760 2004-08-06  Dan Williams <dcbw@redhat.com>
20761
20762         * panel-applet/*
20763                 - Add panel applet
20764
20765         * src/NetworkManagerPolicy.c
20766           src/NetworkManager.c
20767                 - Get access point lists from NetworkManagerInfo on-demand,
20768                         and look for ServiceCreate/ServiceDeleted signals to see when
20769                         we should query NMI for lists
20770         * src/NetworkManagerAPList.c
20771                 - Make sure to init the list's mutex
20772                 - Convert traversals of the list over to the list iter functions
20773
20774         * src/NetworkManagerDbus.[ch]
20775                 - Use more aptly-named path/service/interface constants
20776                 - Treat both active and pending devices the same for "getActiveDevice"
20777                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20778
20779         * src/NetworkManagerDevice.c
20780                 - Honor "ignored" network list when picking best ap to use
20781
20782 2004-08-06  Seth Nickell  <seth@gnome.org>
20783
20784         * aclocal.m4:
20785
20786         Autogenerated, remove from CVS.
20787         
20788         * autogen.sh:
20789
20790         Don't hardcode automake version.
20791         
20792         * configure.in:
20793         * info-daemon/Makefile.am:
20794         * info-daemon/NetworkManagerInfo.c: (main):
20795
20796         Use GnomeProgram et al. for doing session management.
20797         Use popt stuff for argument parsing rather than doing
20798         it manugally.
20799         
20800 2004-08-05  Dan Williams <dcbw@redhat.com>
20801
20802         * test/nminfotest.c
20803                 - Update to new NMI dbus API, check different network types
20804
20805         * info-daemon/NetworkManagerInfoDbus.c
20806                 - Update to new NM dbus API, ie network type sent in query message
20807
20808 2004-08-05  Dan Williams <dcbw@redhat.com>
20809
20810         * An assload of changes
20811
20812 2004-08-02  Dan Williams <dcbw@redhat.com>
20813
20814         * TODO
20815                 - new task: proper logging support
20816
20817         * info-daemon/NetworkManagerInfo.c
20818                 - Correct spelling of "canceled"
20819                 - Correct casting of objects for g_signal_connect()
20820
20821         * info-daemon/NetworkManagerInfoDbus.c
20822                 - Add defines for NetworkManager namespace and object path, and use them
20823                 - Add filter function to trap new signals from NetworkManager:
20824                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20825
20826         * info-daemon/passphrase.glade
20827                 - Change name of "ok" button to "Login to Network..."
20828                 - Mark invisible
20829
20830         * src/NetworkManager.c
20831                 - Code and debug message cleanups
20832                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20833                 - (nm_add_initial_devices) Check returned string array of devices
20834                         and don't try to add devices if array is NULL
20835                 - (main) Initialize libhal a bit later, make code a bit clearer
20836
20837         * src/NetworkManagerAP.[ch]
20838                 - New accessor and data member "matched": used to speed up AP list
20839                         diffing
20840                 - New accessor and data member "enc_method": will be used during key
20841                         fallback to cache which passphrase->key conversion actually works
20842                         so we don't have to do it every time
20843
20844         * src/NetworkManagerAPList.[ch]
20845                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20846                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20847                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20848                         dbus in response to those differences
20849
20850         * src/NetworkManagerDbus.[ch]
20851                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20852                         make an object path for that access point (NOTE that we don't yet check to
20853                         make sure that access point is actually in the device's AP list yet)
20854                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20855                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20856                         New: signal appearance/disappearance of wireless networks
20857                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20858                         key entry
20859
20860         * src/NetworkManagerDevice.[ch]
20861                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20862                 - (nm_device_ap_list_get) New: return the AP list (static function)
20863                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20864                         new one resulting from the scan with the old one
20865
20866         * src/NetworkManagerWireless.c
20867                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20868
20869         * test/nminfotest.c
20870                 - #define object paths and namespaces and use the #defines rather than static strings
20871                 - Test out user-key functionality of NetworkManagerInfo too
20872
20873 2004-07-29  Dan Williams <dcbw@redhat.com>
20874
20875         * info-daemon/NetworkManagerInfoDbus.c
20876           src/NetworkManagerDbus.c
20877                 - Update to current DBus (ie don't use decomposed paths when registering
20878                         object paths/fallbacks)
20879
20880 2004-07-27  Dan Williams <dcbw@redhat.com>
20881
20882         * Remove various Makefile.in files
20883
20884         * TODO
20885                 - Add some more items
20886
20887         * configure.in
20888                 - Add checks for OpenSSL/md5 headers and libs
20889
20890         * src/Makefile.am
20891                 - Use OpenSSL CFLAGS
20892
20893         * src/NetworkManagerAP.[ch]
20894                 - Remove 'stamp' functions, replace with 'invalid' functions
20895                         to support user cancelling WEP key entry
20896
20897         * src/NetworkManagerDbus.c
20898                 - Remove 'stamp' return functions
20899                 - Treat returned user key as a passphrase and convert to a WEP key,
20900                         but don't actually use the WEP key yet.  We use the returned user
20901                         key as a hexadecimal WEP key until we can figure out a UI for
20902                         passphrase-vs-hex key
20903
20904         * src/NetworkManagerWireless.[ch]
20905                 - Add passphrase-to-128bit-key function
20906
20907 2004-07-27  Dan Williams <dcbw@redhat.com>
20908
20909         * TODO
20910                 - Add a couple of items
20911
20912 2004-07-27  Dan Williams <dcbw@redhat.com>
20913
20914         * info-daemon/NetworkManagerInfo.c
20915                 - Update allowed network's GConf key when user enters a WEP key explicitly
20916
20917         * info-daemon/NetworkManagerDbus.c
20918                 - Fix some comments
20919                 - nmi_dbus_get_allowed_networks(): kill warning
20920
20921 2004-07-27  Dan Williams <dcbw@redhat.com>
20922
20923         * initscript/Makefile.in
20924                 - Remove
20925
20926         * initscript/Makefile.am
20927                 - Add correct rules to install the init.d initscript
20928
20929         * info-daemon/NetworkManagerInfoDbus.c
20930                 - Remove debug fprintf
20931
20932         * src/NetworkManagerDbus.[ch]
20933                 - Remove debug fprintfs
20934                 - Add macros for NetworkManagerInfo object path/namespace
20935                 - Use said macros instead of constant strings
20936
20937 2004-07-27  Dan Williams <dcbw@redhat.com>
20938
20939         * initscript/.cvsignore
20940                 - Add
20941
20942         * info-daemon/Makefile.am
20943                 - Install .glade files and keyring.png
20944                 - Fix stupid omission of a \ that caused half the flags not to be
20945                         passed to gcc
20946
20947         * info-daemon/NetworkManagerInfo.c
20948                 - gtk_signal_connect->g_signal_connect
20949                 - Alert NetworkManagerInfo to new glade file location
20950
20951 2004-07-27  Dan Williams <dcbw@redhat.com>
20952
20953         * test/nmclienttest.c
20954           test/nminfotest.c
20955                 - Add missing <dbus/dbus.h> headers
20956                 - Add GPL message at top
20957
20958 2004-07-27  Dan Williams <dcbw@redhat.com>
20959
20960         * src/NetworkManagerAPList.[ch]
20961           src/Makefile.am
20962                 - Add.  Deal with allowed network list additions, deletions, and updates
20963
20964         * dispatcher-daemon/NetworkManagerDispatcher.c
20965                 - Add missing <dbus/dbus.h> header
20966
20967         * info-daemon/NetworkManagerInfo.[ch]
20968                 - Add missing <dbus/dbus.h> header
20969                 - Implement the GConf notify callback to signal NetworkManager of an allowed
20970                         network change
20971                 - Better error checking
20972
20973         * info-daemon/NetworkManagerInfoDbus.[ch]
20974                 - Add missing <dbus/dbus.h> header
20975                 - Convert to using dbus_message_append_args/dbus_message_get_args
20976                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
20977                         that an allowed network changed.  We don't want to signal on individual
20978                         keys _inside_ an allowed network really, just want NM to query the info
20979                         daemon for updated info on all keys.
20980                 - Better error checking
20981
20982         * src/NetworkManager.[ch]
20983                 - Add missing <dbus/dbus.h> header
20984                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
20985                 - Zero out NMData structure on free
20986                 - No longer use a thread for allowed_ap_list updating, instead its now done
20987                         through dbus queries against NetworkManagerInfo
20988                 - Populate allowed_ap_list initially before adding existing network devices
20989                         to the device list, so wireless devices can get their "best" AP
20990
20991         * src/NetworkManagerDbus.[ch]
20992                 - Convert to using dbus_message_append_args/dbus_message_get_args
20993                 - Better error checking
20994                 - Implement Allowed Network info functions to request allowed network
20995                         info from NetworkManagerInfo
20996                 - Implement the filter function to process signals from NetworkManagerInfo
20997                         about changing allowed networks
20998
20999         * src/NetworkManagerDevice.c
21000                 - Fix file descriptor leak in nm_device_update_ip4_address()
21001
21002 2004-07-27  Dan Williams <dcbw@redhat.com>
21003
21004         * .cvsignore
21005           src/.cvsignore
21006           test/.cvsignore
21007           dispatcher-daemon/.cvsignore
21008           info-daemon/.cvsignore
21009                 - Add .cvsignore files to reduce noise when diffing
21010
21011 2004-07-24  Dan Williams <dcbw@redhat.com>
21012
21013         * src/NetworkManager.[ch]
21014           src/NetworkManagerDbus.[ch]
21015           src/NetworkManagerDevice.[ch]
21016           src/NetworkManagerPolicy.c
21017           src/NetworkManagerWireless.[ch]
21018                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21019                 - Pass the NMData application data structure through all calls
21020                         that need it so we can get rid of nm_get_global_data()
21021                 - Change deallocation of the allowed_ap_list GSList in preparation
21022                         for not completely clearing it every time we get an update,
21023                         but instead getting incremental updates via GConf/dbus
21024
21025 2004-07-22  Dan Williams <dcbw@redhat.com>
21026
21027         * configure.in
21028                 - Add checks for GConf libs & headers & flags
21029
21030         * info-daemon/Makefile.am
21031                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21032
21033         * info-daemon/NetworkManagerInfo.[ch]
21034                 - Don't use gquarks for data storage, just use normal data storage
21035                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21036
21037         * info-daemon/NetworkManagerDbus.[ch]
21038                 - Add method call for getting allowed networks
21039                 - Add method calls for getting an allowed network's essid, priority, and key
21040                 - Hook the method calls up to GConf
21041                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21042                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21043                 
21044         * src/NetworkManagerDbus.[ch]
21045                 - Switch for enumeration of networks to using essid instead
21046
21047         * test/Makefile.am
21048           test/nminfotest.c
21049                 - Add test program for NetworkManagerInfo
21050
21051 2004-07-19  Dan Williams <dcbw@redhat.com>
21052
21053         * src/NetworkManagerDbus.c
21054                 - Switch from indexed device paths to names.  Less code, more efficient.
21055                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21056
21057 2004-07-19  Dan Williams <dcbw@redhat.com>
21058
21059         * dispatcher-daemon/NetworkManagerDispatcher.c
21060                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21061
21062 2004-07-19  Dan Williams <dcbw@redhat.com>
21063
21064         * Makefile.am
21065                 - Add info-daemon directory
21066
21067         * configure.in
21068                 - Check for glade libs and headers
21069                 - Add info-daemon directory
21070
21071         * src/NetworkManagerAP.c
21072                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21073                         copied over to the new AP.
21074
21075         * src/NetworkManagerDbus.c
21076           src/NetworkManagerDbus.h
21077                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21078                 - Remove nm_dbus_signal_need_key_for_network()
21079                 - Add disabled code for asynchronous user wep key callbacks
21080                 - Add functions for getting, setting, and cancelling user key operations
21081                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21082                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21083
21084         * src/NetworkManagerDevice.c
21085           src/NetworkManagerDevice.h
21086                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21087                         logic is in device activation now
21088                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21089                         key is wrong) trigger get-user-key pending action
21090                 - Implement get-user-key pending action stuff, tie to dbus messages
21091                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21092                 - Add nm_device_ap_list_get_ap_by_essid()
21093                 - Instead of copying "best" access points, ref them instead so that the key we set
21094                         sticks around
21095
21096         * src/NetworkManagerPolicy.c
21097                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21098                 - Don't cancel pending actions on a device if its the same device as last iteration
21099                 - Only promote pending_device->active_device if activation was successfull
21100
21101         * src/Makefile.am
21102                 - Rename nmclienttest->nmtest
21103
21104         * info-daemon/Makefile.am
21105           info-daemon/NetworkManagerInfo.c
21106           info-daemon/NetworkManagerInfo.h
21107           info-daemon/NetworkManagerInfoDbus.c
21108           info-daemon/NetworkManagerInfoDbus.h
21109           info-daemon/passphrase.glade
21110           info-daemon/NetworkManagerInfo.conf
21111           info-daemon/keyring.png
21112                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21113                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21114                         lists to NetworkManager by proxying user's GConf
21115           
21116
21117 2004-07-15  Dan Williams <dcbw@redhat.com>
21118
21119         * src/Makefile.am
21120                 - Turn on warnings
21121
21122         * src/NetworkManager.c
21123                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21124                         that doing the deactivation ourselves
21125                 - Cancel an pending actions on a device if its being removed
21126                 - Break up link state checking a bit, make non-active wireless cards
21127                         deactivated to save power
21128                 - Remove unused variables
21129
21130         * src/NetworkManager.h
21131                 - Add support for "pending" device
21132
21133         * src/NetworkManagerAP.h
21134           src/NetworkManagerAP.c
21135                 - Add support for determining whether and AP has encryption enabled or not
21136                 - AP address is now "struct ether_addr" rather than a string
21137
21138         * src/NetworkManagerDbus.h
21139           src/NetworkManagerDbus.c
21140                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21141                 - Changes for AP address from struct ether_addr->string
21142
21143         * src/NetworkManagerDevice.h
21144           src/NetworkManagerDevice.c
21145                 - Remove unused variables, fix warnings
21146                 - Add support for Pending Actions (things that block a device from being "active"
21147                         until they are completed).
21148                 - First pending action:  Get a WEP key from the user
21149                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21150                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21151                 - Update wireless link checking to try to determine if the AP we are associated
21152                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21153                         trigger the GetUserKey pending action on the device
21154                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21155                         up in that case, otherwise we can't scan or link-check on it
21156                 - Add IP address change notifications at appropriate points (still needs some work)
21157                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21158
21159         * src/NetworkManagerPolicy.h
21160           src/NetworkManagerPolicy.c
21161                 - Split out "best" access point determiniation into separate function
21162                 - Make device activation 2-stage:  first the device is pending, then
21163                         in the next iteration through it becomes "active" unless it has
21164                         pending actions
21165
21166         * src/NetworkManagerUtils.h
21167           src/NetworkManagerUtils.c
21168                 - Clean up unused variables and warnings
21169                 - Wrap our debug macros in {} to prevent possible confusion
21170
21171         * src/NetworkManagerWireless.c
21172                 - Forgot to return current best priority, which lead to last available AP always
21173                         being chosen no matter what its priority was.  Corrected.
21174
21175 2004-07-15  Dan Williams <dcbw@redhat.com>
21176
21177         * dispatcher-daemon/Makefile.am
21178                 - Turn on warnings
21179
21180         * dispatcher-daemon/NetworkManagerDispatcher.c
21181                 - Remove unused variables due to warnings
21182                 - Fix some comments
21183                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21184
21185 2004-07-06  Dan Williams <dcbw@redhat.com>
21186
21187         * src/NetworkManager.c
21188                 - Add IPv4 address update for active device during link state check
21189                 - Don't allow wireless cards to be powered up when they are not the
21190                         active device
21191
21192         * src/NetworkManagerDbus.c
21193           src/NetworkManagerDbus.h
21194                 - Add DBUS IPv4 address change signal
21195                 - Add DBUS IPv4 address get method for devices
21196
21197         * src/NetworkManagerDevice.c
21198                 - Make setting the WEP key actually work
21199                 - Move IP address get/set/update stuff here, per-device
21200                 - Power down/bring down wireless device when deactivated
21201                 - For scanning wireless devices, if first scan returned ENODATA, try again
21202
21203         * src/NetworkManagerPolicy.c
21204                 - Only set the WEP key for an allowed access point if there is one.
21205                         We were setting it to be blank if one wasn't specified.
21206
21207         * src/NetworkManagerUtils.h
21208           src/NetworkManagerUtils.c
21209                 - Move the IP address stuff to NetworkManagerDevice.c
21210
21211         * dispatcher-daemon/NetworkManagerDispatcher.c
21212                 - Add device IPv4 address change notification stuff
21213
21214 2004-07-05  Dan Williams <dcbw@redhat.com>
21215
21216         * dispatcher-daemon/NetworkManagerDispatcher.c
21217                 - A bit more descriptive state message
21218                 - Don't segfault when reading directory
21219
21220         * src/NetworkManager.h
21221                 - Remove NMData desired_ap member, its now
21222                         per-device rather than global
21223
21224         * src/NetworkManager.c
21225                 - Remove references to desired_ap
21226                 - Move the allowed AP list refresh stuff into a thread
21227
21228         * src/NetworkManagerDevice.c
21229           src/NetworkManagerDevice.h
21230                 - Each wireless device now has a "best ap"
21231                 - Make device activate/deactivate functions per-device
21232                 - Make wireless scanning per-device
21233                 - Add IPv4 address discover functions, stub IPv6 ones
21234                 - Move ethernet address validation functions to NetworkManagerUtils.c
21235                 - Add wireless access point accessor function
21236                 - Get/Set functions for "best ap"
21237
21238         * src/NetworkManagerPolicy.c
21239                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21240                 - Deal with per-device "best ap" rather than data->desired_apa
21241                 - Implement allowed access point worker thread
21242                 - Add nm_policy_essid_is_allowed() function
21243
21244         * src/NetworkManagerUtils.c
21245           src/NetworkManagerUtils.h
21246                 - Add nm_ethernet_address_is_valid() function
21247                 - Add IPv4/IPv6 address get functions
21248
21249         * src/NetworkManagerWireless.c
21250           src/NetworkManagerWireless.h
21251                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21252
21253 2004-06-29  Dan Williams <dcbw@redhat.com>
21254
21255         * dispatcher-daemon/NetworkManagerDispatcher.c
21256                 - Implement script callout functionality
21257
21258 2004-06-24  Dan Williams <dcbw@redhat.com>
21259
21260         * NetworkManager.c
21261             - Spacing cleanups
21262             - Flush device routes and ip addresses when added to the device list
21263
21264         * NetworkManagerDbus.c
21265             - Spacing cleanups
21266             - Add missing returns in the two signal functions
21267         
21268         * NetworkManagerPolicy.c
21269             - Spacing and variable cleanups
21270
21271 2004-06-24  Dan Williams <dcbw@redhat.com>
21272
21273         * Makefile.am
21274           Makefile.in
21275           configure.in
21276           dispatcher-daemon/Makefile.am
21277           dispatcher-daemon/Makefile.in
21278           dispatcher-daemon/NetworkManagerDispatcher.c
21279             - Add a daemon that receives signals from NetworkManager
21280                         and will (eventually) call scripts in /etc/somewhere
21281                         when devices go up or down.
21282         
21283         * NetworkManager.c
21284             - Spacing cleanups
21285             - Flush device routes and ip addresses when added to the device list
21286
21287         * NetworkManagerDbus.c
21288             - Spacing cleanups
21289             - Add missing returns in the two signal functions
21290         
21291         * NetworkManagerPolicy.c
21292             - Spacing and variable cleanups
21293             - Rename nm_policy_switch_interface->nm_policy_switch_device
21294             - nm_policy_switch_device():
21295                                 Use kill (pid) instead of system ("kill <pid>")
21296             - nm_state_modification_monitor():
21297                                 Add wireless essid to output of debug statements
21298                                 Correct typo in device compare to switch or not (should be !=)
21299                                 Don't sleep after sending "no longer active" signal, was useless
21300
21301 2004-06-24  Dan Williams <dcbw@redhat.com>
21302
21303         * Initial import