2008-10-22 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-22  Dan Williams  <dcbw@redhat.com>
2
3         * src/NetworkManagerSystem.c
4           src/nm-device.c
5                 - Use the device's IP interface where appropriate (Per Hallsmark)
6
7 2008-10-22  Dan Williams  <dcbw@redhat.com>
8
9         * src/nm-gsm-device.c
10                 - (schedule_automatic_registration_again): use a short timeout here
11                         instead of an idle handler to avoid using too much CPU polling for
12                         something we should be waiting a bit for anyway
13
14 2008-10-22  Dan Williams  <dcbw@redhat.com>
15
16         * include/NetworkManager.h
17           introspection/nm-device.xml
18                 - Add device state change reason for carrier changes
19
20         * src/nm-device-ethernet.c
21                 - (set_carrier): use the carrier change reason when changing device
22                         state in response to carrier changes
23
24 2008-10-21  Dan Williams  <dcbw@redhat.com>
25
26         * src/NetworkManagerPolicy.c
27                 - (update_etc_hosts): don't leak errors, and ensure that
28                         g_file_set_contents() gets a valid error placeholder (rh #461933)
29
30 2008-10-21  Dan Williams  <dcbw@redhat.com>
31
32         * src/nm-manager.c
33                 - (free_get_settings_info): don't use the DBusGProxy which could be
34                         disposed of by the time the function is called
35                 - (internal_new_connection_cb): save connection scope
36                 - (connection_get_settings_cb): don't replace a connection unless it's
37                         actually different from the existing one; fixes an issue where
38                         killing the settings service wouldn't deactivate an active connection
39                         provided by that settings service, because it was using a connection
40                         that had already been replaced in the system or user hash
41
42 2008-10-21  Dan Williams  <dcbw@redhat.com>
43
44         * src/NetworkManager.c
45                 - (main): keep the DHCP manager around since it's a singleton; fixes
46                         a use-after-free exposed by r4196 since the DHCP manager singleton
47                         variable isn't cleared when the DHCP manager object is finalized
48
49 2008-10-20  Dan Williams  <dcbw@redhat.com>
50
51         * libnm-util/nm-setting-wireless-security.c
52                 - (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections
53
54 2008-10-20  Dan Williams  <dcbw@redhat.com>
55
56         * src/supplicant-manager/nm-supplicant-config.c
57                 - (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config
58
59 2008-10-20  Dan Williams  <dcbw@redhat.com>
60
61         * src/dhcp-manager/nm-dhcp-manager.c
62                 - (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
63                         manager object already refs it once
64                 - (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
65                         also get cleaned up by nm_dhcp_device_destroy() to prevent
66                         double-frees
67
68 2008-10-20  Dan Williams  <dcbw@redhat.com>
69
70         * src/nm-manager.c
71                 - (initial_get_connections): use private dbus manager, don't keep
72                         ref-ing the singleton.  Fixes mismatched refcounts of the dbus
73                         manager object.
74
75 2008-10-18  Dan Williams  <dcbw@redhat.com>
76
77         * libnm-glib/nm-settings.c
78           libnm-glib/nm-settings.h
79                 - Rename the "get_secrets" virtual function "service_get_secrets" to
80                         clarify when it's used; NMExportedConnetion is a base-class for both
81                         the client and service side, which is sort of confusing, and
82                         get_secrets only makes sense on the service side.
83
84         * libnm-glib/nm-dbus-connection.c
85                 - (get_secrets): remove, unused, and clients need to do extra work to
86                         get secrets anyway since the call can block on the remote side
87
88         * system-settings/plugins/ifupdown/nm-ifupdown-connection.c
89           system-settings/plugins/keyfile/nm-keyfile-connection.c
90                 - Fix up for get_secrets -> service_get_secrets
91
92 2008-10-16  Dan Williams  <dcbw@redhat.com>
93
94         * src/nm-device-wifi.c
95                 - (constructor): correctly determine encryption capabilities
96
97 2008-10-15  Dan Williams  <dcbw@redhat.com>
98
99         * src/nm-device-wifi.c
100                 - (wireless_qual_to_percent): fix quality calculation in a fallback case
101                         (Johannes Berg)
102
103 2008-10-15  Dan Williams  <dcbw@redhat.com>
104
105         * src/NetworkManagerSystem.c
106                 - (ip4_dest_in_same_subnet): tighter checks on subnet matching,
107                         if the ip4_dest is in a smaller subnet contained within a subnet
108                         the machine is currently on, the destination is in the same subnet
109                 - (nm_system_device_set_ip4_route): move subnet checks to callers
110                 - (add_vpn_gateway_route): check if the VPN gateway is in the same
111                         subnet as the parent device, and if so, don't add the direct
112                         host route via the parent device's gateway (bgo #481620)
113                 - (nm_system_apply_ip4_config): check whether the route to be added
114                         is contained within a subnet the device is already on
115
116 2008-10-11  Dan Williams  <dcbw@redhat.com>
117
118         * include/NetworkManager.h
119           introspection/nm-device.xml
120           include/NetworkManagerVPN.h
121                 - Add a few more state reasons for the device deactivated state
122
123         * src/nm-device-interface.c
124           src/nm-device-interface.h
125                 - (nm_device_interface_deactivate): add a 'reason' argument
126
127         * src/nm-device.c
128           src/nm-device.h
129                 - (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
130                 - (nm_device_state_changed): pass the state change reason to
131                         nm_device_take_down()
132                 - (nm_device_set_managed): take a 'reason' argument, and pass it along
133                         to the state change function
134
135         * src/nm-manager.c
136           src/nm-manager.h
137                 - (remove_one_device, handle_unmanaged_devices, sync_devices,
138                    impl_manager_sleep): pass a reason code to nm_device_set_managed()
139                 - (nm_manager_deactivate_connection): add a 'reason' argument and pass
140                         something reasonable along to VPN deactivation
141
142         * src/vpn-manager/nm-vpn-manager.c
143           src/vpn-manager/nm-vpn-manager.h
144                 - (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
145                         pass that along to nm_vpn_connection_disconnect()
146
147 2008-10-11  Dan Williams  <dcbw@redhat.com>
148
149         * src/nm-device-wifi.c
150                 - (can_scan): remove old madwifi hack for not scanning while connected
151
152 2008-10-11  Dan Williams  <dcbw@redhat.com>
153
154         Add support for VPN subnet gateways (bgo #549196)
155
156         * include/NetworkManager.h
157                 - Add key for internal VPN subnet gateway
158
159         * src/vpn-manager/nm-vpn-connection.c
160                 - (ip_address_to_string): return a const from a static buffer so we
161                         don't leak a lot of strings
162                 - (print_vpn_config): print internal VPN gateway as well
163                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
164                         VPN service too
165                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
166
167         * src/NetworkManagerSystem.c
168           src/NetworkManagerSystem.h
169                 - (nm_system_device_replace_default_ip4_route): split into two, one for
170                         VPN connections and one for normal devices
171                 - (replace_default_ip4_route): break out route stuff into its own function
172                 - (nm_system_replace_default_ip4_route_vpn,
173                    nm_system_replace_default_ip4_route): simplify by having two cases,
174                         one for VPNs and one for normal devices
175
176         * src/NetworkManagerPolicy.c
177                 - (update_routing_and_dns): simplify, use split default route replacement
178                         functions
179
180 2008-10-10  Dan Williams  <dcbw@redhat.com>
181
182         Rework default route handling to consolidate decisions in the policy,
183         and to take active VPN connections into account when changing the default
184         route (bgo #545912)
185
186         * src/NetworkManager.c
187                 - (main): pass the vpn_manager to the policy so it knows about active
188                         VPN connections; clean up the named manager which wasn't done before
189
190         * src/NetworkManagerPolicy.c
191           src/NetworkManagerPolicy.h
192                 - (nm_policy_new): get a clue about the vpn_manager
193                 - (update_default_route): remove, fold into update_routing_and_dns()
194                 - (update_routing_and_dns): handle active VPN connections too; an
195                         active VPN connection becomes the default route if it does not have
196                         server-specified or user-specified custom routes.  Otherwise, the
197                         best active device gets the default route
198                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
199                    nm_policy_destroy): track VPN connection activation and deactivation
200                         and update the default route when appropriate
201
202         * src/NetworkManagerSystem.c
203           src/NetworkManagerSystem.h
204                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
205                         in the VPN connection itself
206                 - (nm_system_vpn_device_set_from_ip4_config,
207                    nm_system_device_set_from_ip4_config): merge together to make
208                         nm_system_apply_ip4_config()
209                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
210                         via the parent device
211                 - (nm_system_apply_ip4_config): simplify
212                 - (add_ip4_route_to_gateway): new function; add a direct route to the
213                         gateway if needed
214                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
215                         route stuff out into add_ip4_route_to_gateway() for clarity
216
217         * src/nm-device.c
218                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
219
220         * src/vpn-manager/nm-vpn-connection.c
221           src/vpn-manager/nm-vpn-connection.h
222                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
223                    nm_vpn_connection_get_parent_device): add
224                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
225                         device explicit
226                 - (connection_state_changed): update the named manager now that
227                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
228                         useful on errors
229
230         * src/vpn-manager/nm-vpn-manager.c
231           src/vpn-manager/nm-vpn-manager.h
232                 - Add a 'connection-activated' signal
233                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
234                         policy to find out about active VPN connections
235
236 2008-10-10  Tambet Ingo  <tambet@gmail.com>
237
238         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
239         a daemon to prevent NM logging spew on console on startup and shutdown (due
240         to dependency loop between NM and syslog).
241
242 2008-10-10  Alexander Sack  <asac@ubuntu.com>
243
244         Implement managed mode. We bind devices configured in /etc/network/interfaces
245         to their connections by updating wired/wireless setting with the
246         mac address of the device.
247
248         * system-settings/plugins/ifupdown/plugin.c
249                 - (get_net_address_for_udi): implement function to retrieve MAC
250                         address of udi from hal in GByteArray format
251                 - (bind_device_to_connection): bind mac address of device to
252                         wired/wireless system connection
253                 - (hal_device_added_cb): call bind_device_to_connection for
254                         system connections with a matching interface.name
255                 - (hal_device_added_cb): ensure that all code paths
256                         properly free the "iface" string.
257
258 2008-10-10  Alexander Sack  <asac@ubuntu.com>
259
260         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
261         mode of the ifupdown system config plugin.
262
263         * system-settings/plugins/ifupdown/plugin.c
264                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
265                         private unmanage_well_known state field accordingly
266
267 2008-10-10  Alexander Sack  <asac@ubuntu.com>
268
269         Implement unmanaged mode that will prevent all devices in the
270         well_known_udis set from being touched by NetworkManager
271
272         * system-settings/plugins/ifupdown/plugin.c
273                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
274                         unmanage_well_known field used to turn on/off unmanaged
275                         mode
276                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
277                         signal when well_known_udis get added/removed
278                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
279                         if we are in unmanaged mode
280
281 2008-10-10  Alexander Sack  <asac@ubuntu.com>
282
283         Add support to track network devices that have a configuration
284         with a matching interface.name in /etc/network/interfaces
285
286         * system-settings/plugins/ifupdown/plugin.c
287                 - (typedef struct SCPluginIfupdownPrivate): add hash table
288                         to track |well_known_udis|
289                 - (get_iface_for_udi): helper function to get interface.name
290                         for a udi
291                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
292                         that add and remove devices to and from the well_known_udis
293                         set depending on whether their |interface.name| matches
294                         any interface definition in /etc/network/interfaces
295                 - (SCPluginIfupdown_init): connect callbacks from above with
296                         hal_mgr and setup well_known_udis hashtable
297                 - (GObject__dispose): destroy well_known_udis hashtable
298                 - (hal_device_added_cb2): implement wrapper callback with GFunc
299                         signature. user_data is supposed to be a triple (hal_mgr,
300                         config and devtype)
301                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
302                         startup and call hal_device_added_cb2
303
304 2008-10-10  Alexander Sack  <asac@ubuntu.com>
305
306         Remove implementation for not used NMSystemConfigInterface callback functions
307         in ifupdown plugin
308
309         * system-settings/plugins/ifupdown/plugin.c
310                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
311                 - (SCPluginIfupdown_connection_added): removed
312
313 2008-10-08  Dan Williams  <dcbw@redhat.com>
314
315         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
316
317         * src/NetworkManagerUtils.c
318                 - (nm_utils_call_dispatcher): add a 'hostname' action
319
320         * src/NetworkManagerPolicy.c
321                 - (set_system_hostname): dispatch hostname changes
322
323         * callouts/nm-dispatcher-action.c
324                 - (nm_dispatcher_action): handle 'hostname' actions
325
326 2008-10-08  Dan Williams  <dcbw@redhat.com>
327
328         * src/NetworkManagerSystem.c
329                 - (find_route): ref the route so it doesn't get destroyed when the cache
330                         is cleared
331                 - (nm_system_device_set_priority): unref the route here after it's done
332                         being used
333
334 2008-10-08  Dan Williams  <dcbw@redhat.com>
335
336         * src/nm-serial-device.c
337                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
338
339 2008-10-08  Tambet Ingo  <tambet@gmail.com>
340
341         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
342         connection with new settings before saving it.
343
344 2008-10-06  Dan Williams  <dcbw@redhat.com>
345
346         * src/nm-ip4-config.c
347           src/nm-ip4-config.h
348                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
349
350         * src/nm-device-interface.c
351                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
352                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
353                         by using '/' for the object path
354
355         * src/nm-device.c
356                 - (src/nm-device.c): marshal missing/unexported ip4-config through
357                         dbus as '/' since dbus-glib can't handle NULL objects nor can
358                         dbus handle NULL object paths
359
360 2008-10-03  Alexander Sack  <asac@ubuntu.com>
361
362         Implement system hostname support for debian/ubuntu
363
364         * system-settings/plugins/ifupdown/plugin.c
365                 - (GObject__get_property): extend announced capabilities; add
366                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
367                 - (GObject__set_property,write_system_hostname): implement
368                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
369                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
370                    update_system_hostname, get_hostname):
371                         implement hostname property that watches and
372                         parses /etc/hostname
373
374 2008-10-03  Alexander Sack  <asac@ubuntu.com>
375
376         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
377           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
378           system-settings/plugins/ifcfg-fedora/Makefile.am
379           system-settings/src/nm-inotify-helper.c
380           system-settings/src/nm-inotify-helper.h
381           src/Makefile.am
382                 - Move ifcfg-fedora inotify helpers to the system settings service so
383                         they are available to all plugins
384
385 2008-10-03  Alexander Sack  <asac@ubuntu.com>
386
387         Implement support for wep-tx-keyidx in ifupdown system
388         config plugin.
389
390         * system-settings/plugins/ifupdown/parser.c
391                 - (update_wireless_security_setting_from_if_block): introduce
392                         free_type_mapping func table; rename a few local
393                         variables to improve readability; add wpa security mapping
394                         for wep-tx-keyidx property
395                 - (string_to_gpointerint): new function used for the auto_type_mapping
396                         of new wep-tx-keyidx property
397                 - (slist_free_all): free func used for mapped slist types
398
399 2008-10-03  Alexander Sack  <asac@ubuntu.com>
400
401         * system-settings/src/main.c:
402                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
403                         always used as the hash key; fixes a crash when removing wired
404                         devices
405
406 2008-10-02  Dan Williams  <dcbw@redhat.com>
407
408         * src/nm-gsm-device.c
409                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
410                         pass the required GSM secret along via user_data rather than keeping
411                         it around in the private data where it sometimes didn't get cleared
412                 - (real_get_ppp_name): implement using the GSM username
413
414 2008-10-02  Dan Williams  <dcbw@redhat.com>
415
416         * src/ppp-manager/nm-ppp-manager.c
417           src/ppp-manager/nm-ppp-manager.h
418                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
419                         the settings daemon for completely new ones
420                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
421                         local PPP peer name; allow PPP debuging by launching NM with
422                         the environment variable NM_PPP_DEBUG defined
423                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
424                         create_pppd_cmd_line()
425
426         * src/nm-serial-device.c
427           src/nm-serial-device.h
428                 - New 'get_ppp_name' function for subclasses to implement to return the
429                         local PPP peer name
430                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
431                         and pass that name to the PPP manager
432
433         * src/nm-device-ethernet.c
434                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
435                         the local peer name
436
437         * src/nm-cdma-device.c
438                 - (real_get_ppp_name): implement using the CDMA username
439
440 2008-10-02  Dan Williams  <dcbw@redhat.com>
441
442         Patch from Alexander Sack <asac ubuntu com>
443
444         * system-settings/plugins/ifupdown/parser.c
445                 - Implement more graceful ip4 config parsing for cases where
446                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
447                   by using default values
448
449 2008-10-02  Dan Williams  <dcbw@redhat.com>
450
451         * src/NetworkManagerPolicy.c
452                 - (device_state_changed): when marking a connection invalid, clear its
453                         secrets too so that fresh secrets get requested the next time
454
455 2008-10-01  Dan Williams  <dcbw@redhat.com>
456
457         * system-settings/src/dbus-settings.c
458                 - (nm_sysconfig_settings_init): cache system hostname on startup as
459                         a fallback if no plugin provides a hostname
460                 - (get_property): fall back to cached hostname if no plugin provides
461                         a hostname
462
463 2008-10-01  Dan Williams  <dcbw@redhat.com>
464
465         Fix setting value comparison issue that caused some settings to look the
466         same when they were really different (rh #464417)
467
468         * libnm-util/nm-param-spec-specialized.c
469                 - (type_is_fixed_size): return fundamental size of the fixed type too
470                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
471                         in the comparison so that the _entire_ fixed type collection gets
472                         compared rather than just the first 'len1' bytes
473
474 2008-09-30  Dan Williams  <dcbw@redhat.com>
475
476         * src/NetworkManagerPolicy.c
477                 - (lookup_thread_worker): don't store the idle handler ID becuase the
478                         idle handler could have already run and freed the LookupThread
479                         structure
480
481 2008-09-30  Tambet Ingo  <tambet@gmail.com>
482
483         * src/nm-device.c (nm_device_get_priority): Implement.
484         (nm_device_set_ip4_config): Send the device priority to system ip4 
485         config setter.
486
487         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
488         Add priority argument and if it's >= 0, set the priority of the network
489         route added automatically by netlink (or kernel?).
490         (nm_system_device_set_priority): Implement.
491
492         * src/NetworkManagerPolicy.c (get_best_device): Use 
493         nm_device_get_priority() instead of home-grown version. Revert the
494         meaning, best priority is the lowest one.
495
496 2008-09-29  Dan Williams  <dcbw@redhat.com>
497
498         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
499         when it returns EAGAIN (rh #362421)
500
501         * src/nm-device-wifi.c
502                 - (wireless_get_range): try GIWRANGE a few times until the card responds
503                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
504
505 2008-09-28  Dan Williams  <dcbw@redhat.com>
506
507         * src/nm-serial-device.c
508           src/nm-serial-device.h
509                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
510                         cleaned at the right times when subclasses close the serial port too
511                 - (nm_serial_device_send_command): use a default send delay; don't
512                         spin forever on EAGAIN
513                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
514                         remove, no longer used
515                 - (find_response): return the matched response if any
516                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
517                         while doing so
518                 - (wait_for_reply_done): pass the matched response to the callback
519                 - (wait_for_reply_got_data): save the matched response; simplify timeout
520                         handling
521                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
522                         const since they never get modified
523                 - (cleanup_device): split out common cleanup stuff to a new function
524                 - (real_deactivate_quickly, finalize): use cleanup_device()
525
526         * src/nm-gsm-device.c
527                 - (modem_get_reply): remove, unused
528                 - (set_apn): give the card a bit more time to respond
529                 - (manual_registration_again, schedule_manual_registration_again,
530                    manual_registration_response, manual_registration): handle manual
531                         registration timeouts better by retrying registration a few times
532                         because cards are a bit slow after CFUN=1
533                 - (automatic_registration_get_network, get_network_response): use
534                         modem_wait_for_reply() because it interacts better with the serial
535                         buffer and does more intelligent matching; need to wait for 'OK'
536                         rather than just matching terminators
537                 - (schedule_automatic_registration_again,
538                    automatic_registration_response, automatic_registration): retry
539                         registration a few times on timeout or "searching" because cards
540                         take a bit to find a network after being powered up with CFUN=1
541                 - (power_up_response, power_up, init_full_done, enter_pin,
542                    check_pin_done): power up the card with CFUN=1 before trying to
543                         register with the network
544                 - (init_modem_full, init_modem): use more standard 3G init strings
545
546         * src/nm-hso-gsm-device.c
547                 - (modem_get_reply): remove, unused
548                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
549                         modem_wait_for_reply() to match actual responses instead of single
550                         termination characters; it doesn't leave stuff in the serial buffer
551                         that might confuse later calls
552                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
553                         to ensure that the call is really disconnected and not leave extra
554                         stuff in the serial buffer
555
556         * src/nm-cdma-device.c
557                 - (power_up_response, power_up, init_done): try Sierra-style modem
558                         power up before attempting to connect
559
560 2008-09-27  Dan Williams  <dcbw@redhat.com>
561
562         * libnm-util/nm-setting-gsm.c
563                 - (verify): verify GSM network ID
564
565 2008-09-25  Dan Williams  <dcbw@redhat.com>
566
567         * libnm-util/nm-setting-gsm.c
568           libnm-util/nm-setting-gsm.h
569                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
570                         technology terms (bgo #551361)
571
572 2008-09-25  Dan Williams  <dcbw@redhat.com>
573
574         Fix bgo #549401 (inspired by patch from Alexander Sack)
575
576         * src/nm-device-ethernet.c
577                 - (finish_supplicant_task): clean up scheduled tasks and free memory
578                 - (remove_supplicant_interface_error_handler): remove the supplicant
579                         error idle callback too
580                 - (supplicant_interface_release): rename from supplicant_interface_clean
581                         to match nm-device-wifi.c; clean up supplicant interface-related
582                         state tasks when the supplicant interface is disposed of
583                 - (schedule_state_handler): add scheduled tasks to a list so they can
584                         be cleaned up later
585                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
586                    supplicant_iface_connection_state_cb_handler): use
587                         finish_supplicant_task() to clean up each completed task
588                 - (supplicant_iface_connection_error_cb_handler,
589                    supplicant_connection_timeout_cb): clear source id when the task is
590                         complete
591                 - (supplicant_iface_connection_error_cb): save scheduled task id for
592                         later cleanup
593                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
594                         tasks
595
596         * src/nm-device-wifi.c
597                 - (finish_supplicant_task): clean up scheduled tasks and free memory
598                 - (remove_supplicant_interface_error_handler): remove the supplicant
599                         error idle callback too
600                 - (supplicant_interface_release): clean up supplicant interface-related
601                         state tasks when the supplicant interface is disposed of
602                 - (schedule_state_handler): add scheduled tasks to a list so they can
603                         be cleaned up later
604                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
605                    supplicant_iface_connection_state_cb_handler): use
606                         finish_supplicant_task() to clean up each completed task
607                 - (supplicant_iface_connection_error_cb_handler): clear source id when
608                         the task is complete
609                 - (supplicant_iface_connection_error_cb): save scheduled task id for
610                         later cleanup
611                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
612
613 2008-09-24  Tambet Ingo  <tambet@gmail.com>
614
615         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
616         method and get/set hostname property.
617
618 2008-09-24  Tambet Ingo  <tambet@gmail.com>
619
620         * src/supplicant-manager/nm-supplicant-interface.c
621         (nm_supplicant_interface_disconnect): Don't increment the reference 
622         count when disconnecting. The problem is on shutdown, when the replies
623         to these commands do not arrive before NM exits, resulting on never
624         calling supplicant interface's dispose(), which removes the interface
625         from supplicant.
626
627 2008-09-24  Tambet Ingo  <tambet@gmail.com>
628
629         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
630         all the public function arguments.
631
632 2008-09-22  Tambet Ingo  <tambet@gmail.com>
633
634         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
635         "Failure" signal from VPN plugins, store the failure reason, and
636         use it when the state is changed to failure.
637
638         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
639         description.
640
641         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
642         reason to the end of the list to not break the API.
643         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
644         so it can be shared by plugins and daemon.
645
646 2008-09-18  Dan Williams  <dcbw@redhat.com>
647
648         Patch from Alexander Sack <asac@ubuntu.com>
649
650         * configure.in
651           system-settings/plugins/Makefile.am
652           system-settings/plugins/ifupdown/Makefile.am
653           system-settings/plugins/ifupdown/interface_parser.c
654           system-settings/plugins/ifupdown/interface_parser.h
655           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
656           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
657           system-settings/plugins/ifupdown/parser.c
658           system-settings/plugins/ifupdown/parser.h
659           system-settings/plugins/ifupdown/plugin.c
660           system-settings/plugins/ifupdown/plugin.h
661                 - Implement a Debian/Ubuntu legacy network configuration plugin
662                         (gnome.org #551941)
663
664 2008-09-18  Dan Williams  <dcbw@redhat.com>
665
666         Implement support for honoring configured and automatic hostnames, and for
667         setting the configured hostname.
668
669         * introspection/nm-ip4-config.xml
670           src/nm-ip4-config.c
671           src/nm-ip4-config.h
672           src/dhcp-manager/nm-dhcp-manager.c
673                 - Remove useless hostname property; it's not really part of the IPv4
674                         config
675
676         * introspection/nm-settings-system.xml
677           libnm-glib/nm-dbus-settings-system.c
678           libnm-glib/nm-dbus-settings-system.h
679                 - Add SetHostname() call to system settings D-Bus interface
680                 - Add Hostname property to system settings D-Bus interface
681                 - (nm_dbus_settings_system_save_hostname,
682                    nm_dbus_settings_system_get_hostname): implement
683
684         * src/nm-device.c
685           src/nm-device.h
686                 - (nm_device_get_dhcp4_config): implement
687
688         * src/nm-manager.c
689           src/nm-manager.h
690                 - Fetch and track system settings service hostname changes, and proxy
691                         the changes via a GObject property of the manager
692
693         * system-settings/src/nm-system-config-interface.c
694           system-settings/src/nm-system-config-interface.h
695                 - Replace nm_system_config_interface_supports_add() with a capabilities
696                         bitfield
697
698         * system-settings/src/nm-system-config-error.c
699           system-settings/src/nm-system-config-error.h
700                 - Add additional errors
701
702         * system-settings/src/dbus-settings.c
703           system-settings/src/dbus-settings.h
704                 - (get_property, nm_sysconfig_settings_class_init): add hostname
705                         property; first plugin returning a hostname wins
706                 - (impl_settings_add_connection): use plugin capabilities instead of
707                         nm_system_config_interface_supports_add()
708                 - (impl_settings_save_hostname): implement hostname saving
709
710         * src/NetworkManagerPolicy.c
711                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
712                    lookup_thread_die): implement an asynchronous hostname lookup thread
713                         which given an IPv4 address tries to look up the hostname for that
714                         address with reverse DNS
715                 - (get_best_device): split out best device code from
716                         update_routing_and_dns()
717                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
718                         to preserve the 127.0.0.1 reverse mapping that so many things require
719                 - (set_system_hostname): set a given hostname
720                 - (update_system_hostname): implement hostname policy; a configured
721                         hostname (from the system settings service) is used if available,
722                         otherwise an automatically determined hostname from DHCP, VPN, etc.
723                         If there was no automatically determined hostname, reverse DNS of
724                         the best device's IP address will be used, and as a last resort the
725                         hostname 'localhost.localdomain' is set.
726                 - (update_routing_and_dns): use get_best_device(); update the system
727                         hostname when the network config changes
728                 - (hostname_changed): update system hostname if the system settings
729                         service signals a hostname change
730                 - (nm_policy_new): list for system settings service hostname changes
731                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
732                         gets told to die
733
734         * system-settings/plugins/keyfile/plugin.c
735           system-settings/plugins/ifcfg-suse/plugin.c
736                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
737                         capabilities properties
738
739         * system-settings/plugins/ifcfg-fedora/shvar.c
740                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
741                         writes out /etc/sysconfig/network now
742
743         * system-settings/plugins/ifcfg-fedora/plugin.c
744                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
745                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
746                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
747                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
748                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
749                         hostname get/set and capabilities get
750
751 2008-09-18  Dan Williams  <dcbw@redhat.com>
752
753         * libnm-util/nm-setting-wireless.c
754                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
755                         group ciphers if the wireless-security setting explicitly specified
756                         them, effectively making the default be "all ciphers"  (idea from
757                         Alexander Sack)
758
759 2008-09-15  Dan Williams  <dcbw@redhat.com>
760
761         Patch from Alexander Sack <asac@ubuntu.com>
762
763         * src/named-manager/nm-named-manager.c
764                 - (dispatch_resolvconf): respect resolvconf exit code
765
766 2008-09-12  Tambet Ingo  <tambet@gmail.com>
767
768         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
769         again. Add some debugging.
770
771 2008-09-11  Dan Williams  <dcbw@redhat.com>
772
773         * system-settings/plugins/keyfile/plugin.c
774                 - (update_connection_settings): update connection manually, since
775                         nm_exported_connection_update() does authentication
776                 - (dir_changed): update_connection_settings() doesn't need to return
777                         an error
778
779 2008-09-09  Dan Williams  <dcbw@redhat.com>
780
781         * libnm-glib/nm-vpn-plugin-ui-interface.c
782           libnm-glib/nm-vpn-plugin-ui-interface.h
783           libnm-glib/libnm_glib_vpn.ver
784                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
785                         should clean up resources related to the connection (like keyring
786                         secrets)
787                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
788                         should save user-scope secrets (like to the keyring)
789
790 2008-09-08  Dan Williams  <dcbw@redhat.com>
791
792         Patch from Alexander Sack <asac@ubuntu.com>
793
794         * libnm-util/crypto_gnutls.c
795           libnm-util/crypto_nss.c
796                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
797
798         * libnm-util/nm-utils.c
799           libnm-util/nm-utils.h
800           libnm-util/libnm-util.ver
801                 - (nm_utils_init): initialize libnm-util
802                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
803
804         * libnm-util/nm-setting-8021x.c
805                 - (nm_setting_802_1x_class_init): init libnm-util when needed
806
807 2008-09-05  Dan Williams  <dcbw@redhat.com>
808
809         Patch from Roy Marples <roy@marples.name> and others
810
811         * configure.in
812           src/named-manager/nm-named-manager.c
813                 - Add support for resolvconf; use --with-resolvconf at configure time
814                         to enable it
815
816 2008-09-05  Dan Williams  <dcbw@redhat.com>
817
818         * libnm-util/crypto_nss.c
819           libnm-util/crypto_gnutls.c
820           libnm-util/crypto.h
821                 - (crypto_init): return error when init fails
822
823 2008-09-05  Dan Williams  <dcbw@redhat.com>
824
825         * libnm-glib/nm-device-wifi.c
826                 - (access_point_removed_proxy): clean up the active access point too
827                         just in case the active ap changed signal didn't come through yet
828                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
829
830 2008-09-05  Dan Williams  <dcbw@redhat.com>
831
832         * libnm-glib/nm-client.c
833                 - (constructor): get initial state after we know whether NM is running
834                         or not
835
836 2008-09-05  Dan Williams  <dcbw@redhat.com>
837
838         * libnm-glib/nm-ip4-config.c
839           libnm-glib/nm-dhcp4-config.c
840                 - (finalize): clean up the DBusGProxy
841
842 2008-09-04  Dan Williams  <dcbw@redhat.com>
843
844         * src/nm-ip4-config.c
845           src/nm-ip4-config.h
846                 - (nm_ip4_config_new): don't export over D-Bus here
847                 - (nm_ip4_config_export): new function; export the config over D-Bus
848                 - (nm_ip4_config_is_exported): new function
849
850         * src/nm-device.c
851                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
852                         objects by balancing the IP4Config constructor; the device holds
853                         a reference to the IP4Config already
854                 - (nm_device_set_ip4_config): export the IP4Config when needed
855
856 2008-09-04  Dan Williams  <dcbw@redhat.com>
857
858         * src/supplicant-manager/nm-supplicant-settings-verify.c
859                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
860
861 2008-09-04  Dan Williams  <dcbw@redhat.com>
862
863         * libnm-util/nm-setting-vpn.c
864           libnm-util/nm-setting-vpn.h
865                 - Split VPN secrets from VPN data so that settings services can actually
866                         figure out that they are secrets and store them accordingly
867
868         * system-settings/plugins/keyfile/nm-keyfile-connection.c
869           system-settings/plugins/keyfile/reader.c
870           system-settings/plugins/keyfile/reader.h
871           system-settings/plugins/keyfile/writer.c
872                 - Store VPN secrets separately from VPN data so that they can be fetched
873                         on demand
874                 - Implement the get_secrets() call so that (a) secrets don't leak out
875                         to unprivileged callers, and (b) secrets can be sent to privileged
876                         callers when needed
877
878         * vpn-daemons/vpnc/src/nm-vpnc-service.c
879                 - Handle split VPN secrets
880
881 2008-08-27  Dan Williams  <dcbw@redhat.com>
882
883         * system-settings/plugins/ifcfg-fedora/reader.c
884                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
885
886 2008-08-27  Dan Williams  <dcbw@redhat.com>
887
888         Ensure zombie children get cleaned up.  To get notifications when children
889         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
890         that requires calling waitpid() yourself if you've removed the child watch
891         handler before the process has actually died, which NM needs to do in a few
892         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
893         cleans up after the child when required.  Should fix problems trying to
894         activate mobile broadband connections after a previous failure.
895
896         * src/dhcp-manager/nm-dhcp-dhclient.c
897           src/dhcp-manager/nm-dhcp-dhcpcd.c
898                 - Use G_SPAWN_DO_NOT_REAP_CHILD
899
900         * src/dhcp-manager/nm-dhcp-manager.c
901                 - (nm_dhcp_device_destroy): ensure child is cleaned up
902                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
903                         block on child quitting, since the non-blocking functionality was
904                         never actually used
905
906         * src/dnsmasq-manager/nm-dnsmasq-manager.c
907                 - (dm_watch_cb): child is already reaped here
908                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
909
910         * src/nm-device.c
911                 - (aipd_cleanup): block until child is dead
912
913         * src/named-manager/nm-named-manager.c
914                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
915                         event bothering to watch the child
916
917         * src/ppp-manager/nm-ppp-manager.c
918                 - (ppp_watch_cb): child is already reaped here
919                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
920
921         * src/vpn-manager/nm-vpn-service.c
922                 - (vpn_service_watch_cb): child is already reaped here
923                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
924                         status of the child is actually tracked
925                 - (ensure_killed, finalize): block until child is dead
926
927 2008-08-26  Dan Williams  <dcbw@redhat.com>
928
929         * system-settings/plugins/keyfile/nm-keyfile-connection.c
930                 - (update): Update filename of the connection if the connection id
931                         was changed
932
933         * system-settings/plugins/keyfile/plugin.c
934                 - (dir_changed): first pass at handling connection renames correctly
935
936         * system-settings/plugins/keyfile/writer.c
937           system-settings/plugins/keyfile/writer.h
938                 - (write_connection): replace '/' with '*' when writing out the filename
939                         from the connection id
940
941 2008-08-26  Dan Williams  <dcbw@redhat.com>
942
943         Add connection UUIDs, since connection names can be changed, and since
944         old-style connection IDs could change over the life of the connection.  The
945         UUID should be assigned at connection creation time, be stable for a given
946         connection, and should be unique among all connections for a given settings
947         service.
948
949         * configure.in
950           libnm-util/Makefile.am
951                 - Require libuuid
952
953         * introspection/nm-exported-connection.xml
954                 - Remove "GetID" method
955
956         * libnm-glib/nm-dbus-connection.c
957           libnm-glib/nm-settings.c
958           libnm-glib/nm-settings.h
959                 - Remove id-related stuff
960
961         * libnm-util/nm-utils.c
962           libnm-util/nm-utils.h
963           libnm-util/libnm-util.ver
964                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
965                         utility functions to generate UUIDs
966
967         * libnm-util/nm-setting-connection.c
968           libnm-util/nm-setting-connection.h
969                 - Add 'uuid' member to the connection setting
970                 - (verify): require valid 'uuid' for a valid connection
971
972         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
973           system-settings/plugins/ifcfg-fedora/reader.c
974           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
975           system-settings/plugins/ifcfg-suse/parser.c
976           system-settings/plugins/keyfile/nm-keyfile-connection.c
977           system-settings/src/main.c
978                 - Remove id-related stuff
979                 - Give connections UUIDs where needed
980
981 2008-08-25  Dan Williams  <dcbw@redhat.com>
982
983         * libnm-util/crypto_gnutls.c
984           libnm-util/crypto_nss.c
985                 - (crypto_init, crypto_deinit): refcount init/deinit
986                 - (crypto_md5_hash): allow NULL salt
987
988 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
989
990         * libnm-glib/Makefile.am
991           libnm-util/Makefile.am
992           libnm-glib/libnm_glib.ver
993           libnm-glib/libnm_glib_vpn.ver
994           libnm-util/libnm-util.ver
995                 - Use linker version scripts to control the list of exported 
996                 symbols. List each exported symbol explicitely.
997         * libnm-util/Makefile.am
998                 - Fix compilation of the test-crypto binary. The crypto
999                 functions are no longer part of the libnm-util API. Add 
1000                 crypto_*.c to test_crypto_SOURCES and link against the correct
1001                 crypto libraries.
1002
1003 2008-08-19  Dan Williams  <dcbw@redhat.com>
1004
1005         * configure.in
1006           test/Makefile.am
1007                 - Don't build test/test-common
1008                 - Remove unused stuff
1009
1010         * test/nm-set-fallback
1011           test/nmtestdevices.c
1012           test/test-common/.cvsignore
1013           test/test-common/Makefile.am
1014           test/test-common/test-common.c
1015           test/test-common/test-common.h
1016                 - delete
1017
1018 2008-08-18  Dan Williams  <dcbw@redhat.com>
1019
1020         * libnm-util/nm-utils.c
1021           libnm-util/nm-utils.h
1022                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
1023                         export anything that needs to be converted with this function
1024
1025         * src/dhcp-manager/nm-dhcp-manager.c
1026                 - (garray_to_string): convert a byte array to a UTF-8 string with
1027                         minimal validation; the DHCP client sends it in ASCII anyway
1028                 - (get_option, copy_option): use garray_to_string()
1029
1030 2008-08-18  Dan Williams  <dcbw@redhat.com>
1031
1032         * include/NetworkManager.h
1033           introspection/nm-device.xml
1034                 - Add a "missing firmware" device state reason
1035
1036         * src/NetworkManagerSystem.c
1037           src/NetworkManagerSystem.h
1038                 - (nm_system_device_set_up_down): add a no_firmware argument
1039                 - (nm_system_device_set_up_down_with_iface): if the result of setting
1040                         IFF_UP is ENOENT, that almost always means missing firmware
1041
1042         * src/backends/NetworkManagerGeneric.c
1043           src/nm-device-ethernet.c
1044           src/nm-device-private.h
1045           src/nm-device-wifi.c
1046           src/nm-device.c
1047           src/nm-device.h
1048           src/nm-hso-gsm-device.c
1049           src/vpn-manager/nm-vpn-connection.c
1050                 - Pass no_firmware along; check it where appropriate
1051
1052 2008-08-18  Dan Williams  <dcbw@redhat.com>
1053
1054         Patch from Robert Buchholz <rbu@gentoo.org>
1055
1056         * autogen.sh
1057           configure.in
1058                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
1059                         1003.1-1988, allowing for file names longer than 99 characters
1060
1061 2008-08-17  Dan Williams  <dcbw@redhat.com>
1062
1063         * include/NetworkManager.h
1064           introspection/nm-device.xml
1065           src/nm-gsm-device.c
1066                 - Finer-grained GSM registration failure error codes
1067
1068 2008-08-17  Dan Williams  <dcbw@redhat.com>
1069
1070         * callouts/Makefile.am
1071           src/Makefile.am
1072                 - Move dispatcher directory creation to callouts/Makefile.am
1073
1074         * system-settings/plugins/keyfile/Makefile.am
1075                 - Create keyfile connections directory in DESTDIR (bgo #546833)
1076
1077 2008-08-15  Dan Williams  <dcbw@redhat.com>
1078
1079         Do connection sharing in a cleaner manner; all required iptables rules
1080         are now stored in the activation request and pertain only to the device
1081         which is being shared to other computers. (rh #458625)
1082
1083         * src/nm-activation-request.c
1084           src/nm-activation-request.h
1085                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
1086                         the activation request which will get torn down automatically when
1087                         the activation request dies
1088                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
1089                         is started, and tear them down when sharing is stopped
1090
1091         * src/nm-device.c
1092                 - (start_sharing): start up sharing by doing the required iptables magic
1093                 - (share_init): poke the right bits of the kernel and load the right
1094                         modules for NAT
1095                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
1096                         connection if it's a 'shared' connection
1097
1098         * src/NetworkManagerPolicy.c
1099                 - Remove all sharing stuff; done in the device code itself
1100
1101 2008-08-15  Dan Williams  <dcbw@redhat.com>
1102
1103         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1104                 - (create_dm_cmd_line): send the right router address
1105
1106 2008-08-15  Dan Williams  <dcbw@redhat.com>
1107
1108         * src/ppp-manager/nm-ppp-manager.c
1109                 - (pppd_timed_out): ensure timeouts fail the connection
1110
1111 2008-08-14  Dan Williams  <dcbw@redhat.com>
1112
1113         * src/nm-properties-changed-signal.c
1114           src/nm-properties-changed-signal.h
1115                 - Add a property spec flag for "don't export this property" in
1116                         property changed signals
1117
1118         * src/nm-hso-gsm-device.c
1119           src/nm-gsm-device.c
1120           src/nm-cdma-device.c
1121                 - Don't export monitor interface or netdev interface properties
1122
1123 2008-08-14  Dan Williams  <dcbw@redhat.com>
1124
1125         * src/NetworkManagerPolicy.c
1126                 - (update_routing_and_dns): 'hso' devices can be default even if they
1127                         don't have a gateway
1128
1129 2008-08-14  Dan Williams  <dcbw@redhat.com>
1130
1131         * src/nm-device.c
1132                 - (nm_device_deactivate_quickly): tear down activation request after
1133                         calling device-specific deactivation
1134
1135         * src/nm-hso-gsm-device.c
1136                 - (real_deactivate_quickly): terminate connection when deactivating
1137
1138 2008-08-14  Dan Williams  <dcbw@redhat.com>
1139
1140         * src/nm-activation-request.h
1141                 - Add HSO secrets caller
1142
1143         * src/nm-gsm-device.c
1144           src/nm-gsm-device.h
1145                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1146                         something to the callback function
1147                 - (set_apn, set_apn_done): call class dial function, not a static one
1148                 - (nm_gsm_device_class_init): add a class 'dial' function
1149
1150         * src/nm-hal-manager.c
1151                 - (get_hso_netdev): find the hso-driven hardware's net device
1152                 - (modem_device_creator): recognize hso-driven hardware and create the
1153                         right type of device object for it
1154
1155         * src/Makefile.am
1156           src/nm-hso-gsm-device.c
1157           src/nm-hso-gsm-device.h
1158                 - Implement support for devices driven by the 'hso' driver as a subclass
1159                         of NMGsmDevice
1160
1161 2008-08-14  Dan Williams  <dcbw@redhat.com>
1162
1163         * src/NetworkManagerSystem.c
1164                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1165                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1166                         success if the operation really was successful
1167
1168 2008-08-14  Dan Williams  <dcbw@redhat.com>
1169
1170         * src/nm-netlink-monitor.c
1171           src/nm-netlink-monitor.h
1172           src/nm-device-ethernet.c
1173                 - (nm_netlink_monitor_request_status): return an error on failure
1174                 - (constructor): don't segfault on missing error
1175
1176 2008-08-13  Dan Williams  <dcbw@redhat.com>
1177
1178         * callouts/nm-dispatcher-action.c
1179                 - Add IP4 config info to script environment
1180
1181 2008-08-12  Dan Williams  <dcbw@redhat.com>
1182
1183         * src/nm-device.c
1184                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1185                         that want to use DHCP hostnames should use dispatcher scripts
1186                         for that
1187
1188         * src/NetworkManagerSystem.h
1189           src/backends/NetworkManagerArch.c
1190           src/backends/NetworkManagerDebian.c
1191           src/backends/NetworkManagerFrugalware.c
1192           src/backends/NetworkManagerGeneric.c
1193           src/backends/NetworkManagerGeneric.h
1194           src/backends/NetworkManagerGentoo.c
1195           src/backends/NetworkManagerMandriva.c
1196           src/backends/NetworkManagerPaldo.c
1197           src/backends/NetworkManagerRedHat.c
1198           src/backends/NetworkManagerSlackware.c
1199           src/backends/NetworkManagerSuSE.c
1200                 - Remove nm_system_set_hostname(), no longer used
1201           
1202         * src/backends/Makefile.am
1203           src/backends/shvar.c
1204           src/backends/shvar.h
1205                 - Remove shvar.*; no longer used
1206
1207 2008-08-12  Dan Williams  <dcbw@redhat.com>
1208
1209         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1210         hostname is updated at runtime.  Distros or users who want hostname updates
1211         can use dispatcher scripts to update the hostname if they need it.
1212
1213 2008-08-12  Dan Williams  <dcbw@redhat.com>
1214
1215         * introspection/nm-settings-system.xml
1216           system-settings/src/dbus-settings.c
1217           system-settings/src/dbus-settings.h
1218                 - Add a 'Hostname' property (rw) which represents the configured
1219                         hostname and domain of the system, if any
1220
1221         * system-settings/src/nm-system-config-error.c
1222           system-settings/src/nm-system-config-error.h
1223           system-settings/src/nm-system-config-interface.c
1224           system-settings/src/nm-system-config-interface.h
1225                 - Add a 'hostname' property to the plugin interface
1226                 - Add a method to send updated hostname to plugins to save in their
1227                         backing configuration store
1228
1229         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1230           system-settings/plugins/keyfile/plugin.c
1231           system-settings/plugins/keyfile/writer.c
1232           system-settings/plugins/keyfile/writer.h
1233           system-settings/plugins/ifcfg-suse/plugin.c
1234                 - Add minimal hostname support
1235
1236         * system-settings/plugins/ifcfg-fedora/plugin.c
1237                 - Add support for updating system hostname in /etc/sysconfig/network
1238
1239 2008-08-12  Dan Williams  <dcbw@redhat.com>
1240
1241         * system-settings/plugins/ifcfg-fedora/shvar.c
1242           system-settings/plugins/ifcfg-fedora/shvar.c
1243                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1244
1245 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1246
1247         * Makefile.am: Fix distcheck.
1248
1249 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1250
1251         * libnm-glib/*.c. Document some more.
1252
1253 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1254
1255         Start documenting libnm-glib public API using gtk-doc.
1256
1257         * libnm-glib/nm-serial-device.c: 
1258         * libnm-glib/nm-object.c: 
1259         * libnm-glib/nm-gsm-device.c: 
1260         * libnm-glib/nm-device.c: 
1261         * libnm-glib/nm-device-wifi.c: 
1262         * libnm-glib/nm-device-ethernet.c: 
1263         * libnm-glib/nm-client.c: 
1264         * libnm-glib/nm-cdma-device.c: Document the public API.
1265
1266         * docs/libnm-glib/libnm-glib.types: Implement.
1267
1268         * docs/libnm-glib/Makefile.am: Implement.
1269
1270         * autogen.sh: 
1271         * configure.in: 
1272         * Makefile.am: Add gtk-doc support.
1273
1274 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1275
1276         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1277
1278         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1279         the composite result of all the IP4 configurations and call a distro
1280         specific update_resolv_conf().
1281         (update_resolv_conf): Implement one for directly writing to 
1282         /etc/resolv.conf and one for opensuse to call netconfig.
1283
1284 2008-08-11  Dan Williams  <dcbw@redhat.com>
1285
1286         * src/ppp-manager/nm-ppp-manager.c
1287                 - (impl_ppp_manager_need_secrets): pass interface as required
1288
1289 2008-08-11  Dan Williams  <dcbw@redhat.com>
1290
1291         Merge the vpn-properties setting with the vpn setting since it was pointless
1292         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1293         of string:string (instead of string:variant) so that system settings plugins
1294         can have an easier time dealing with the arbitrary key/value pairs.
1295
1296 2008-08-11  Dan Williams  <dcbw@redhat.com>
1297
1298         * libnm-util/nm-utils.c
1299                 - (nm_utils_register_value_transformations): add value transform for
1300                         a hash table of string:string
1301
1302 2008-08-10  Dan Williams  <dcbw@redhat.com>
1303
1304         * libnm-glib/nm-vpn-plugin.c
1305                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1306                         an idle handler so the Connect reply gets delivered before the
1307                         stop StateChanged signal
1308
1309 2008-08-10  Dan Williams  <dcbw@redhat.com>
1310
1311         * src/nm-ip4-config.c
1312                 - (get_property): use common ip4 address/route conversion functions
1313                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1314                         copy the new route here, not take ownership
1315
1316 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1317
1318         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1319         Update the IP4 setting's method name.
1320
1321 2008-08-07  Dan Williams  <dcbw@redhat.com>
1322
1323         * introspection/nm-ip4-config.xml
1324           libnm-glib/libnm-glib-test.c
1325           libnm-glib/nm-ip4-config.c
1326           libnm-glib/nm-ip4-config.h
1327           src/NetworkManagerSystem.h
1328           src/backends/NetworkManagerArch.c
1329           src/backends/NetworkManagerDebian.c
1330           src/backends/NetworkManagerFrugalware.c
1331           src/backends/NetworkManagerGeneric.c
1332           src/backends/NetworkManagerGeneric.h
1333           src/backends/NetworkManagerGentoo.c
1334           src/backends/NetworkManagerMandriva.c
1335           src/backends/NetworkManagerPaldo.c
1336           src/backends/NetworkManagerRedHat.c
1337           src/backends/NetworkManagerSlackware.c
1338           src/backends/NetworkManagerSuSE.c
1339           src/dhcp-manager/nm-dhcp-manager.c
1340           src/nm-device.c
1341           src/nm-ip4-config.c
1342           src/nm-ip4-config.h
1343                 - Remove NIS logic; should be done from dispatcher scripts instead
1344
1345 2008-08-07  Dan Williams  <dcbw@redhat.com>
1346
1347         * src/dhcp-manager/nm-dhcp-manager.c
1348                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1349                         mis-handling of DHCP responses that returned more than one router
1350                         (found by Grant Williamson)
1351
1352 2008-08-07  Dan Williams  <dcbw@redhat.com>
1353
1354         * callouts/nm-dispatcher-action.c
1355                 - (nm_dispatcher_action): grab device path and create the device; pass
1356                         the device's DHCP4 config to script caller
1357                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1358                         scripts
1359
1360         * libnm-glib/nm-dhcp4-config.c
1361           libnm-glib/nm-dhcp4-config.h
1362                 - (nm_dhcp4_config_get_options): expose
1363                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1364
1365 2008-08-07  Dan Williams  <dcbw@redhat.com>
1366
1367         * include/NetworkManager.h
1368                 - Add the DHCP4Config D-Bus interface
1369
1370         * libnm-glib/Makefile.am
1371           libnm-glib/nm-dhcp4-config.c
1372           libnm-glib/nm-dhcp4-config.h
1373                 - Handle DHCP4 config objects exported by NM over D-Bus
1374
1375         * libnm-glib/nm-device.c
1376           libnm-glib/nm-device.h
1377                 - Add a 'dhcp4-config' property
1378
1379         * libnm-glib/libnm-glib-test.c
1380                 - Print out DHCP4 config for devices
1381                 - Fix some crashes when no connections are active
1382
1383         * src/nm-device-interface.c
1384           src/nm-device.c
1385           src/nm-dhcp4-config.c
1386           src/nm-dhcp4-config.h
1387                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1388                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1389                         doesn't let us do when the property type is G_TYPE_OBJECT
1390
1391 2008-08-07  Dan Williams  <dcbw@redhat.com>
1392
1393         * src/NetworkManager.c
1394           src/NetworkManagerSystem.h
1395           src/backends/NetworkManagerArch.c
1396           src/backends/NetworkManagerDebian.c
1397           src/backends/NetworkManagerFrugalware.c
1398           src/backends/NetworkManagerGeneric.c
1399           src/backends/NetworkManagerGeneric.h
1400           src/backends/NetworkManagerGentoo.c
1401           src/backends/NetworkManagerMandriva.c
1402           src/backends/NetworkManagerPaldo.c
1403           src/backends/NetworkManagerRedHat.c
1404           src/backends/NetworkManagerSlackware.c
1405           src/backends/NetworkManagerSuSE.c
1406                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1407
1408 2008-08-06  Dan Williams  <dcbw@redhat.com>
1409
1410         * libnm-glib/nm-ip4-config.c
1411           libnm-glib/nm-ip4-config.h
1412                 - Add 'routes' property
1413
1414         * libnm-util/nm-setting-vpn.c
1415           libnm-util/nm-setting-vpn.h
1416                 - Remove 'routes' property
1417
1418         * libnm-util/nm-setting-ip4-config.c
1419           libnm-util/nm-setting-ip4-config.h
1420                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1421                 - Add 'ignore-auto-routes' property
1422                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1423                         accomodate route metrics
1424                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1425
1426         * libnm-util/nm-utils.c
1427           libnm-util/nm-utils.h
1428                 - Add helpers for marshalling IP4 routes
1429
1430         * src/NetworkManagerUtils.c
1431                 - (nm_utils_merge_ip4_config): handle property renames and new route
1432                         structure
1433
1434         * src/NetworkManagerSystem.c
1435                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1436                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1437
1438         * src/dhcp-manager/nm-dhcp-manager.c
1439                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1440
1441         * system-settings/plugins/ifcfg-fedora/reader.c
1442           system-settings/plugins/ifcfg-fedora/writer.c
1443                 - Handle routes separately from addresses now that routes have a different
1444                         format
1445
1446         * introspection/nm-ip4-config.xml
1447           src/nm-ip4-config.c
1448           src/nm-ip4-config.h
1449                 - Rename internal routing functions
1450                 - 'static-routes' renamed to 'routes'
1451
1452 2008-08-04  Dan Williams  <dcbw@redhat.com>
1453
1454         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1455
1456         * src/NetworkManager.c
1457           src/nm-manager.c
1458           src/nm-manager.h
1459                 - More explicitly make the NMManager a singleton
1460
1461 2008-08-04  Dan Williams  <dcbw@redhat.com>
1462
1463         * libnm-util/nm-connection.c
1464           libnm-util/nm-connection.h
1465                 - (nm_connection_verify): return error on missing 'connection' setting
1466                         (found by Sjoerd Simons)
1467
1468 2008-08-04  Dan Williams  <dcbw@redhat.com>
1469
1470         Handle multiple concurrent PPP connections.
1471
1472         * src/ppp-manager/nm-ppp-manager.c
1473           src/ppp-manager/nm-ppp-manager.h
1474                 - (constructor): only PPP Manager request bus name once; each
1475                         NMPPPManager object gets a unique object path
1476                 - (nm_ppp_manager_class_init, get_property, set_property,
1477                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1478                         at construct time
1479                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1480                         remove timeout until PPP manager gets an IP4 config
1481                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1482                         the plugin can call back to this specific PPP manager instance
1483
1484         * src/nm-device-ethernet.c
1485           src/nm-serial-device.c
1486                 - Pass parent device in nm_ppp_manager_new()
1487
1488         * src/nm-gsm-device.c
1489           src/nm-cdma-device.c
1490                 - (device_state_changed): don't close serial device on NEED_AUTH
1491                         state changed, that's not a failure case like the rest are
1492
1493         * src/ppp-manager/nm-pppd-plugin.c
1494                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1495                         binds one interface to any pppd process, thus the correct index
1496                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1497                         problems; try harder to get a peer address in spite of pppd
1498                 - (plugin_init): use 'ipparam' as the object path back to our specific
1499                         PPP manager instance
1500
1501 2008-08-04  Dan Williams  <dcbw@redhat.com>
1502
1503         * src/ppp-manager/nm-ppp-manager.c
1504                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1505                         since the GSM and CDMA settings now implement need_secrets, we can
1506                         rely on them to do the right thing.  Where secrets are not required,
1507                         just pass empty strings back to the pppd plugin.
1508                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1509                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1510                         on successful IP4 config receipt
1511
1512 2008-08-04  Dan Williams  <dcbw@redhat.com>
1513
1514         * libnm-util/nm-setting-cdma.c
1515           libnm-util/nm-setting-gsm.c
1516                 - (verify): validate username & password if they exist
1517                 - (need_secrets): if username given, require a password too
1518
1519 2008-08-04  Dan Williams  <dcbw@redhat.com>
1520
1521         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1522                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1523                         manpage says about --listen-address without --interface
1524                         (bgo #546033)
1525
1526 2008-08-01  Dan Williams  <dcbw@redhat.com>
1527
1528         * libnm-glib/nm-device.c
1529                 - (proxy_get_string): util function for querying a HAL property
1530                 - (get_ancestor_device): split out from get_product_and_vendor()
1531                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1532                         from PCI devices by querying subsys properties
1533                 - (nm_device_update_description): simplify
1534
1535 2008-08-01  Dan Williams  <dcbw@redhat.com>
1536
1537         * libnm-util/nm-setting-ip4-config.c
1538           libnm-util/nm-setting-ip4-config.h
1539                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1540                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1541                         settings, and they don't necessarily use DHCP.
1542
1543         * src/NetworkManagerPolicy.c
1544           src/nm-device.c
1545           system-settings/plugins/ifcfg-fedora/reader.c
1546           system-settings/plugins/ifcfg-suse/parser.c
1547                 - Fixup for method changes
1548
1549 2008-07-31  Dan Williams  <dcbw@redhat.com>
1550
1551         * src/nm-activation-request.c
1552           src/vpn-manager/nm-vpn-connection.c
1553                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1554                         itself should be attached to the activation request or the VPN
1555                         connection, not the NMConnection object, since the call is not
1556                         expected to live as long as the NMConnection itself
1557
1558 2008-07-31  Dan Williams  <dcbw@redhat.com>
1559
1560         * src/nm-device-wifi.c
1561                 - (real_act_stage2_config): fix issue where association would continue
1562                         even though secrets were needed; 'goto out' was in wrong scope and
1563                         result of handle_auth_or_fail() should have been dumped directly to
1564                         'ret' to ensure that the association was postponed until secrets
1565                         are available
1566
1567 2008-07-31  Dan Williams  <dcbw@redhat.com>
1568
1569         * system-settings/plugins/ifcfg-fedora/plugin.c
1570           system-settings/plugins/ifcfg-fedora/reader.c
1571                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1572                         valid NM connection
1573
1574 2008-07-29  Dan Williams  <dcbw@redhat.com>
1575
1576         * src/nm-gsm-device.c
1577                 - (automatic_registration_response, automatic_registration): recognize
1578                         denied registration and reorder responses
1579
1580 2008-07-29  Dan Williams  <dcbw@redhat.com>
1581
1582         * src/nm-serial-device.c
1583                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1584                         time(2) is used for current time, which returns seconds, we shouldn't
1585                         be multiplying by 1000.
1586
1587 2008-07-28  Dan Williams  <dcbw@redhat.com>
1588
1589         Patch from Fabrice Bellet <fabrice@bellet.info>
1590
1591         * src/NetworkManagerSystem.c
1592                 - (route_in_same_subnet): mask addresses and compare them so that the
1593                         function actually does what it says it's going to do (rh #456685)
1594
1595 2008-07-27  Dan Williams  <dcbw@redhat.com>
1596
1597         * libnm-util/nm-setting-ip6-config.c
1598                 - (set_property): add missing break that caused routes to be overwritten
1599                         with addresses
1600
1601         * libnm-util/nm-setting-ip6-config.c
1602                 - (verify): validate routes and return GError everywhere on invalid setting
1603                 - (finalize): don't leak routes
1604                 - (set_property): add missing break that caused routes to be overwritten
1605                         with addresses
1606
1607 2008-07-27  Dan Williams  <dcbw@redhat.com>
1608
1609         * libnm-util/*
1610                 - Relicense to LGPLv2+
1611
1612 2008-07-27  Dan Williams  <dcbw@redhat.com>
1613
1614         * system-settings/plugins/ifcfg-fedora/reader.c
1615                 - (make_ip4_setting): fix parsing automatic configs
1616
1617 2008-07-27  Dan Williams  <dcbw@redhat.com>
1618
1619         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1620           src/nm-device.c
1621           src/ppp-manager/nm-ppp-manager.c
1622                 - Ensure child process gets reaped.  The child watch function may be
1623                         removed from the mainloop before the child gets killed, so we have
1624                         to make sure the child is reaped when it's told to die intentionally
1625
1626 2008-07-27  Dan Williams  <dcbw@redhat.com>
1627
1628         Patch from Roy Marples <roy@marples.name>
1629
1630         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1631                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1632
1633 2008-07-27  Dan Williams  <dcbw@redhat.com>
1634
1635         * src/nm-gsm-device.c
1636                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1637                         Huawei devices turn echo back on after CPIN (rh #456770)
1638
1639 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1640
1641         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1642         format argument to g_set_error() call.
1643
1644         * src/backends/interface_parser.[ch]: Remove.
1645
1646         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1647
1648 2008-07-21  Dan Williams  <dcbw@redhat.com>
1649
1650         * src/ppp-manager/nm-ppp-manager.c
1651                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1652                         to prevent pppd from picking up some random local address from an
1653                         interface that doesn't have anything to do with the one we're
1654                         interested in (rh #455348)
1655
1656 2008-07-17  Dan Williams  <dcbw@redhat.com>
1657
1658         * libnm-util/nm-utils.c
1659                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1660                         by locale
1661                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1662                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1663
1664 2008-07-17  Dan Williams  <dcbw@redhat.com>
1665
1666         * introspection/Makefile.am
1667           introspection/nm-device.xml
1668           introspection/nm-dhcp4-config.xml
1669                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1670                         itself
1671         * src/nm-device-interface.c
1672           src/nm-device-interface.h
1673                 - Add the DHCP4Config property
1674
1675         * src/nm-device.c
1676                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1677                         D-Bus clients when it changes
1678
1679         * src/nm-dhcp4-config.c
1680           src/nm-dhcp4-config.h
1681                 - Simple object to store DHCP4 options, export them over D-Bus, and
1682                         notify when they change
1683
1684         * src/dhcp-manager/nm-dhcp-manager.c
1685           src/dhcp-manager/nm-dhcp-manager.h
1686                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1687                         filter server-returned DHCP options into an NMDHCP4Config object
1688
1689 2008-07-16  Dan Williams  <dcbw@redhat.com>
1690
1691         * introspection/nm-device.xml
1692                 - Add device state reasons
1693
1694 2008-07-16  Dan Williams  <dcbw@redhat.com>
1695
1696         Patch from Roy Marples <roy@marples.name>
1697
1698         * configure.in
1699                 - Add --with-dhcp-client option
1700
1701         * src/dhcp-manager/Makefile.am
1702                 - pass DHCP_CLIENT_PATH on compile line
1703
1704         * src/dhcp-manager/nm-dhcp-manager.c
1705           src/dhcp-manager/nm-dhcp-manager.h
1706                 - Genericize for both dhcpcd and dhclient
1707
1708         * src/dhcp-manager/nm-dhcp-dhclient.c
1709                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1710
1711         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1712                 - Implement support for dhcpcd too
1713
1714 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1715
1716         * system-settings/src/nm-system-config-interface.c 
1717         (nm_system_config_interface_supports_add): Implement.
1718         (nm_system_config_interface_add_connection): Return a boolean to notify
1719         of errors.
1720
1721         * system-settings/src/nm-polkit-helpers.c: 
1722         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1723         a separate file.
1724
1725         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1726         Return an error when none of the plugins support add or if addition
1727         failed for some reason.
1728
1729         * system-settings/src/nm-system-config-error.h: 
1730         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1731         here from nm-polkit-helpers.[ch].
1732
1733         * system-settings/src/Makefile.am: Build new files.
1734
1735         * system-settings/plugins/keyfile/reader.c 
1736         (read_array_of_array_of_uint): Make it more general so that it would
1737         work for routes as well.
1738
1739         * system-settings/plugins/keyfile/writer.c
1740         (write_array_of_array_of_uint): Ditto.
1741         Fix the netmask/prefix writing.
1742
1743         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1744         boolean to notify errors.
1745
1746         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1747         Return more specific error.
1748         (delete): Ditto.
1749
1750 2008-07-11  Dan Williams  <dcbw@redhat.com>
1751
1752         Modify the NMDevice::state-changed signal to include the previous state
1753         and reason. Enables the applet to provide more information why device
1754         activation failed.
1755
1756 2008-07-09  Dan Williams  <dcbw@redhat.com>
1757
1758         * callouts/Makefile.am
1759           callouts/nm-avahi-autoipd-action.c
1760           callouts/nm-avahi-autoipd.conf
1761                 - avahi-autoipd callout to send options back to NM
1762
1763         * src/autoip.c
1764           src/autoip.h
1765                 - remove
1766
1767         * src/nm-device.c
1768           src/nm-device-private.h
1769           src/nm-manager.c
1770                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1771                         old custom stuff
1772
1773 2008-07-07  Dan Williams  <dcbw@redhat.com>
1774
1775         * system-settings/plugins/ifcfg-fedora/reader.c
1776                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1777                         handle PREFIX too; clean up
1778
1779 2008-07-07  Dan Williams  <dcbw@redhat.com>
1780
1781         Convert to using IPv4 prefixes instead of netmasks.
1782
1783 2008-07-03  Dan Williams  <dcbw@redhat.com>
1784
1785         * libnm-util/nm-setting-ip4-config.c
1786           libnm-util/nm-setting-ip4-config.h
1787                 - Add properties for DHCP Client Identifier and DHCP Hostname
1788
1789         * src/dhcp-manager/nm-dhcp-manager.c
1790           src/dhcp-manager/nm-dhcp-manager.h
1791                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1792                         setting as an argument to pass on to the dhclient config file
1793                         creation function
1794                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1795                         DHCP is torn down
1796                 - (dhclient_run): punt config file handling to create_dhclient_config()
1797                 - (create_dhclient_config): create an interface-specific dhclient
1798                         config file since there may need to be interface-specific options
1799                         passed to dhclient
1800                 - (merge_dhclient_config): merge normal distro dhclient config file and
1801                         add options from the connection
1802                 - (nm_dhcp_device_new): generate the interface specific dhclient
1803                         config file path once
1804                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1805                         dhclient config file path
1806
1807         * src/nm-device.c
1808                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1809                         DHCP manager when starting DHCP
1810
1811 2008-07-02  Dan Williams  <dcbw@redhat.com>
1812
1813         * libnm-util/nm-setting-8021x.c
1814                 - (verify): allow forcing the PEAP label to 0
1815
1816 2008-07-02  Dan Williams  <dcbw@redhat.com>
1817
1818         * introspection/nm-active-connection.xml
1819           introspection/nm-vpn-connection.xml
1820           libnm-glib/nm-active-connection.c
1821           src/nm-activation-request.c
1822           src/nm-active-connection.h
1823           src/vpn-manager/nm-vpn-connection.c
1824                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1825                         and libnm-glib API since sharing didn't get implemented that way
1826
1827 2008-07-02  Dan Williams  <dcbw@redhat.com>
1828
1829         * src/nm-device-wifi.c
1830                 - (can_scan): don't scan when a shared connection is activated since
1831                         that makes drivers mad (causing disconnects); also NM doesn't need
1832                         to hedge against disconnects by keeping up-to-date network topology
1833                         because the connection originates from the local machine, and thus
1834                         there should be no disconnects
1835
1836 2008-07-01  Dan Williams  <dcbw@redhat.com>
1837
1838         Fix mobile broadband username/password issues.  NM was never requesting
1839         mobile broadband secrets, nor was it passing back the username and password
1840         if it had them.
1841
1842         * marshallers/nm-marshal.list
1843                 - Add some new types for activation request objects
1844
1845         * src/nm-activation-request.c
1846           src/nm-activation-request.h
1847                 - (get_secrets_cb): pass the caller type in the signal
1848                 - (nm_act_request_request_connection_secrets): take a caller type, so
1849                         that GetSecrets() reply handlers know who asked for the secrets in
1850                         the first place; use secret hints too so the settings service can
1851                         figure out exactly what NM wants (ie, PIN or the PPP password)
1852
1853         * src/ppp-manager/nm-ppp-manager.c
1854           src/ppp-manager/nm-ppp-manager.h
1855                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1856                         detect needed secrets when the secret could be blank, like GSM/CDMA
1857                         passwords.  So always ask for secrets, and send a hint as to what
1858                         secret we really want.
1859                 - (nm_ppp_manager_update_secrets): make function more generic by making
1860                         the device specific class figure out the username and password, and
1861                         accept an error argument to return back over D-Bus
1862
1863         * src/nm-device-wifi.c
1864                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1865                         nm_act_request_request_connection_secrets()
1866                 - (real_connection_secrets_updated): update for 'caller' changes
1867
1868         * src/nm-device.c
1869           src/nm-device.h
1870                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1871                         for 'caller' changes
1872
1873         * src/nm-device-ethernet.c
1874                 - (real_connection_secrets_updated): update for 'caller' changes and
1875                         move logic for getting PPPoE username and password here before
1876                         calling nm_ppp_manager_update_secrets()
1877                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1878                         nm_act_request_request_connection_secrets()
1879
1880         * src/nm-cdma-device.c
1881                 - (real_connection_secrets_updated): pass username and password back
1882                         to the PPP manager when required
1883
1884         * src/nm-gsm-device.c
1885                 - (enter_pin): send the required secret name to the settings service
1886                 - (real_connection_secrets_updated): pass username and password back
1887                         to the PPP manager when required
1888
1889 2008-06-30  Dan Williams  <dcbw@redhat.com>
1890
1891         * src/nm-device-wifi.c
1892                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1893
1894 2008-06-30  Dan Williams  <dcbw@redhat.com>
1895
1896         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1897         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1898         priv->supplicant.iface.  When either condition is false, the device should
1899         transition back to UNAVAILABLE because it cannot be used.
1900
1901         * src/nm-device-wifi.c
1902                 - (constructor): cleanup; connect to supplicant manager here since the
1903                         supplicant manager is always around
1904                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1905                         ensure the supplicant manager is in the IDLE state
1906                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1907                         cancel any pending scans too
1908                 - (real_bring_up): don't set up the supplicnat interface here, because
1909                         we need the supplicant interface at times when the device may not
1910                         be "up"
1911                 - (real_take_down): just remove the periodic source
1912                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1913                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1914                         do anything if there's no supplicant interface
1915                 - (cleanup_association_attempt): cleanup
1916                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1917                         the interface enters the READY state; transition to UNAVAILABLE
1918                         state when the interface goes down because the device can't be used
1919                         without a supplicant interface
1920                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1921                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1922                         acquire the supplicant interface and transition to DISCONNECTED
1923                         if the radio isn't killed
1924                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1925                 - (state_changed_cb): release any existing supplicant interface; if the
1926                         radio is enabled then try to acquire a new supplicant interface;
1927                         if the radio is enabled and a supplicant interface has been acquired,
1928                         we can transition to DISCONNECTED
1929                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1930                         don't enable the radio, because HAL probably lied to us about the
1931                         killswitch being off.  If bringing the hardware up worked, then
1932                         try to grab a supplicant interface, and if that was successful,
1933                         transition to DISCONNECTED
1934
1935 2008-06-30  Dan Williams  <dcbw@redhat.com>
1936
1937         * src/supplicant-manager/nm-supplicant-interface.c
1938                 - (request_scan_results, nm_supplicant_interface_dispose,
1939                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1940                         the id of the timeout, not a GSource
1941
1942 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1943
1944         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1945         bunch of typoes introduced by "Patch from David Cantrell 
1946         <dcantrell@redhat.com> and me".
1947
1948 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1949
1950         * src/nm-serial-device.c: 
1951         * src/nm-gsm-device.c: 
1952         * src/nm-cdma-device.c: Move the pending call handling to a common location
1953         in serial device. Handle setting device state to failed in one place as well.
1954
1955 2008-06-29  Dan Williams <dcbw@redhat.com>
1956
1957         * src/nm-hal-manager.c
1958                 - Rework killswitch handling to query killswitch status immediately
1959                         when the first killswitch is added, so that rfkill state is
1960                         known as early as possible
1961                 - Also treat failure of GetPower() as rfkill when the dbus method
1962                         call times out (but not when the HAL callout returns an error)
1963
1964 2008-06-26  Dan Williams <dcbw@redhat.com>
1965
1966         Patch from David Cantrell <dcantrell@redhat.com> and me
1967
1968         * include/nm-dbus-glib-types.h
1969                 - Add IP6 address types
1970
1971         * libnm-util/Makefile.am
1972           libnm-util/nm-setting-ip6-config.c
1973           libnm-util/nm-setting-ip6-config.h
1974                 - Add IP6 settings object
1975
1976         * libnm-util/nm-connection.c
1977                 - (register_default_settings): register ip6 settings object
1978
1979         * libnm-util/nm-utils.c
1980           libnm-util/nm-utils.h
1981                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
1982                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
1983                         ip6 address conversion functions
1984         
1985 2008-06-26  Dan Williams <dcbw@redhat.com>
1986
1987         Patch from David Cantrell <dcantrell@redhat.com>
1988         
1989         * Use inet_ntop() and inet_pton() everwhere and check for errors
1990
1991 2008-06-26  Dan Williams <dcbw@redhat.com>
1992
1993         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
1994
1995 2008-06-26  Dan Williams <dcbw@redhat.com>
1996
1997         Patch from Adel Gadllah <adel.gadllah@gmail.com>
1998
1999         * src/nm-device-wifi.c
2000                 - (link_timeout_cb): don't ignore disconnects due to scanning
2001                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
2002                         a longer timeout when scanning; avoids case where supplicant can't
2003                         find the AP and just keeps scanning forever but isn't connected
2004
2005 2008-06-26  Dan Williams <dcbw@redhat.com>
2006
2007         Patch from Michael Biebl <biebl@debian.org>
2008
2009         * Clean up build system stuff
2010
2011 2008-06-23  Christian Persch  <chpe@gnome.org>
2012
2013         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
2014         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
2015         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
2016         (impl_get_object):
2017         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
2018         (impl_get_object):
2019         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
2020         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
2021         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
2022         (impl_get_object):
2023         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
2024         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
2025         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
2026         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
2027         * vpn-daemons/pptp/properties/vpnui_opt.c:
2028         (vpnui_opt_connect_signals):
2029         * vpn-daemons/pptp/properties/vpnui_opt.h:
2030         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
2031         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
2032         deprecated gtk type macros. Bug #539325.
2033
2034 2008-06-20  Dan Williams  <dcbw@redhat.com>
2035
2036         * libnm-glib/nm-vpn-plugin-ui-interface.c
2037           libnm-glib/nm-vpn-plugin-ui-interface.h
2038                 - 'validity-changed' -> 'changed' to work better with the connection
2039                         editor.  Plugin UI widgets should emit 'changed' whenever their
2040                         UI values change in a meaningful way.
2041                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
2042                         update_connection member now returns validity of the UI widget
2043
2044 2008-06-20  Tambet Ingo  <tambet@gmail.com>
2045
2046         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
2047
2048 2008-06-17  Dan Williams  <dcbw@redhat.com>
2049
2050         * libnm-glib/nm-vpn-plugin-ui-interface.c
2051           libnm-glib/nm-vpn-plugin-ui-interface.h
2052                 - Add "desc" property for longer descriptions of the VPN plugin
2053
2054 2008-06-16  Dan Williams  <dcbw@redhat.com>
2055
2056         * configure.in
2057           libnm-glib/libnm_glib_vpn.pc.in
2058                 - add a .pc file for libnm_glib_vpn
2059
2060         * libnm-glib/nm-vpn-plugin-ui-interface.c
2061           libnm-glib/nm-vpn-plugin-ui-interface.h
2062                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
2063                         rework it substantially
2064
2065 2008-06-12  Dan Williams  <dcbw@redhat.com>
2066
2067         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
2068         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
2069         returns a descriptive GError when verification fails.
2070
2071 2008-06-11  Dan Williams  <dcbw@redhat.com>
2072
2073         Patch from Tambet Ingo <tambet@gmail.com>
2074
2075         * libnm-util/nm-setting-gsm.c
2076                 - (verify): validate APN
2077
2078         * src/nm-gsm-device.c
2079                 - (manual_registration_done): start setting APN if needed
2080                 - (set_apn, set_apn_done): set the APN
2081                 - (do_dial): use the APN when dialing
2082
2083 2008-06-11  Dan Williams  <dcbw@redhat.com>
2084
2085         * src/NetworkManagerSystem.c
2086                 - (nm_system_device_set_ip4_route,
2087                    nm_system_device_replace_default_ip4_route): check for the right
2088                         return value from rtnl_route_add() to know when to add a gateway
2089                         route (from Tambet)
2090
2091 2008-06-11  Dan Williams  <dcbw@redhat.com>
2092
2093         * src/NetworkManagerPolicy.c
2094                 - do_ipt_cmd -> do_cmd
2095                 - (sharing_init): use do_cmd() instead of system()
2096
2097 2008-06-10  Dan Williams  <dcbw@redhat.com>
2098
2099         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
2100         and use "wifi" everwhere instead.
2101
2102 2008-06-10  Dan Williams  <dcbw@redhat.com>
2103
2104         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
2105
2106 2008-06-10  Dan Williams  <dcbw@redhat.com>
2107
2108         Patch from Tambet Ingo <tambet@gmail.com>
2109
2110         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
2111                 changes.
2112
2113         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
2114                 a signal to emit these changes over dbus.
2115
2116         * src/Makefile.am: Genereate nm-serial-device-glue.
2117
2118         * libnm-glib/nm-serial-device.[ch]: Implement.
2119
2120         * libnm-glib/nm-cdma-device.[ch]
2121           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
2122
2123         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
2124
2125         * introspection/nm-device-serial.xml: Implement.
2126
2127         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
2128
2129         * introspection/Makefile.am: Add nm-device-serial.xml.
2130
2131         * include/NetworkManager.h: Add a DBus interface for serial device.
2132
2133 2008-06-10  Dan Williams  <dcbw@redhat.com>
2134
2135         * configure.in
2136                 - Add TARGET_* define to config.h to distinguish distros
2137
2138         * src/dhcp-manager/nm-dhcp-manager.c
2139                 - (dhclient_run): use distro-specific path for dhclient config file
2140
2141 2008-06-09  Dan Williams  <dcbw@redhat.com>
2142
2143         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2144           src/dnsmasq-manager/nm-dnsmasq-manager.h
2145                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2146                         calculate the addresses passed to dnsmasq instead of hard-coding
2147                         them
2148
2149         * src/nm-device.c
2150                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2151                         IP addresses for shared connections to guard against shared
2152                         connection address collisions
2153                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2154                         error conditions
2155                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2156                         the dnsmasq manager
2157
2158 2008-06-09  Dan Williams  <dcbw@redhat.com>
2159
2160         * src/NetworkManagerPolicy.c
2161                 - (update_routing_and_dns): set the default connection _after_ unsetting
2162                         default on all non-default connections so that two connections can
2163                         never be default at the same time
2164                 - (device_state_changed): start and stop connection sharing when
2165                         needed
2166                 - (active_connection_default_changed): restart or stop sharing when
2167                         the default connection changes to keep shared connections always
2168                         NAT-ed through the default connection
2169                 - (check_sharing): handle activation/deactivation of shared connections
2170                 - (sharing_restart): atom-bomb approach to connection sharing until we
2171                         can use libnl; reinit all sharing when the default connection or
2172                         shared connections change
2173                 - (sharing_init, sharing_stop): evil functions that init and deinit
2174                         iptables
2175
2176 2008-06-09  Dan Williams  <dcbw@redhat.com>
2177
2178         * src/nm-activation-request.c
2179           src/nm-activation-request.h
2180                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2181                    nm_act_request_get_device): new functions to facilitate connection
2182                         sharing
2183
2184 2008-06-09  Dan Williams  <dcbw@redhat.com>
2185
2186         * src/nm-device.c
2187                 - (clear_act_request): unset the 'default' property of the activation
2188                         request when clearing it to ensure the property changed signal gets
2189                         delivered and handled
2190
2191 2008-06-09  Dan Williams  <dcbw@redhat.com>
2192
2193         * libnm-glib/nm-device-802-11-wireless.c
2194                 - (access_point_removed_proxy): actually unref the AP after removing
2195                         it from the device's AP list.  Fixes refcounting bug for APs that
2196                         caused them to get mixed up in the applet's menu.
2197
2198 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2199
2200         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2201         (nm_dhcp_device_destroy): Destroy the device options hash table.
2202
2203 2008-06-06  Dan Williams <dcbw@redhat.com>
2204
2205         * system-settings/src/nm-polkit-helpers.c
2206                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2207                         unref the context if the initialization fails; also avoid spew when
2208                         the error isn't set
2209
2210 2008-06-06  Dan Williams <dcbw@redhat.com>
2211
2212         Patch from Tambet Ingo  <tambet@gmail.com>
2213
2214         * src/NetworkManagerSystem.c
2215           src/NetworkManagerSystem.h
2216                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2217                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2218                 - (nm_system_device_set_ip4_route): clean up
2219                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2220
2221         * src/nm-device.c
2222                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2223
2224         * src/vpn-manager/nm-vpn-connection.c
2225                 - (ip_address_to_string): new function
2226                 - (print_vpn_config): use ip_address_to_string
2227                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2228                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2229
2230         * include/NetworkManagerVPN.h
2231                 - Add 'routes' key
2232
2233 2008-06-05  Dan Williams <dcbw@redhat.com>
2234
2235         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2236
2237         * test/nm-tool.c
2238                 - Show which device is the default device
2239
2240 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2241
2242         Fix memory leaks.
2243
2244         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2245         Free data returned from dbus method call.
2246
2247         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2248         dbus_g_method_get_sender() returns a duplicated string, free it 
2249         when done.
2250         (check_polkit_privileges): Looks like policykit sometimes returns
2251         error and non-null return value, don't leak errors in that case.
2252
2253         * system-settings/src/main.c (find_plugin): Don't leak existing 
2254         plugin names.
2255         (load_stuff): Don't leak device list and list items.
2256         (have_connection_for_device): Don't leak connection list.
2257
2258         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2259         Free the data received from g_keyfile_get_*.
2260
2261         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2262         the key when the security object is updated.
2263
2264         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2265         Free data returned from dbus method call.
2266         (iface_state_cb): Ditto.
2267         (add_network_cb): Ditto.
2268         (nm_supplicant_interface_add_cb): Don't make another copy of already
2269         duplicated object path.
2270         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2271         when done.
2272
2273         * src/supplicant-manager/nm-supplicant-config.c 
2274         (ADD_STRING_LIST_VAL): Fix a memory leak.
2275
2276         * src/nm-manager.c (free_get_settings_info): Free the allocated
2277         memory slice.
2278         (list_connections_cb): Free data returned from dbus method call.
2279         (system_settings_get_unmanaged_devices_cb): Ditto.
2280
2281         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2282
2283         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2284         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2285         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2286         of the GList.
2287
2288         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2289         arguments after the object is created.
2290
2291 2008-06-04  Dan Williams <dcbw@redhat.com>
2292
2293         * libnm-util/Makefile.am
2294                 - Don't distribute nm-param-spec-specialized.h
2295
2296 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2297
2298         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2299
2300         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2301         NMIP4Address, update the getters and setters.
2302
2303         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2304         Use the updated NMIP4Config routes api.
2305
2306         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2307         static routes as well.
2308
2309         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2310         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2311         routes api.
2312
2313 2008-05-30  Dan Williams <dcbw@redhat.com>
2314
2315         * src/named-manager/nm-named-manager.c
2316           src/named-manager/nm-named-manager.h
2317                 - Remove stale/obsolete bits for controlling bind over DBus
2318
2319 2008-05-29  Dan Williams <dcbw@redhat.com>
2320
2321         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2322           src/dnsmasq-manager/nm-dnsmasq-manager.h
2323                 - (nm_dnsmasq_manager_new): move iface argument here
2324                 - (constructor): remove, not needed
2325                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2326                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2327
2328         * src/nm-device.c
2329                 - (real_act_stage4_get_ip4_config,
2330                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2331                         changes
2332
2333 2008-05-29  Dan Williams <dcbw@redhat.com>
2334
2335         * src/nm-device.c
2336                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2337                         something happens to dnsmasq
2338                 - (nm_device_new_ip4_shared_config): new function; create a new
2339                         ip4-config for shared connections.  Shared connections always use a
2340                         fixed static IP address.
2341                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2342                         autoip connections by actually using the returned ip4-config and
2343                         not leaking it
2344                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2345                         connections
2346                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2347                         if its active
2348
2349 2008-05-29  Dan Williams <dcbw@redhat.com>
2350
2351         * src/nm-device-802-11-wireless.c
2352                 - (real_get_best_auto_connection): auto-activate 'shared' method
2353                         connections too
2354
2355 2008-05-29  Dan Williams <dcbw@redhat.com>
2356
2357         * libnm-util/nm-setting-ip4-config.c
2358           libnm-util/nm-setting-ip4-config.h
2359                 - Add a 'shared' method to indicate that this connection should be
2360                         brought up with a DHCP and proxy DNS server to facilitate
2361                         connection sharing.
2362                 - (verify): 'shared' method doesn't allow DNS or searches either
2363
2364 2008-05-29  Dan Williams <dcbw@redhat.com>
2365
2366         * configure.in
2367           src/Makefile.am
2368           src/dnsmasq-manager/Makefile.am
2369           src/dnsmasq-manager/nm-dnsmasq-manager.c
2370           src/dnsmasq-manager/nm-dnsmasq-manager.h
2371                 - Add a dnsmasq daemon manager to facilitate connection sharing
2372
2373 2008-05-29  Dan Williams <dcbw@redhat.com>
2374
2375         * src/nm-device-private.h
2376                 - Remove unused prototypes and clean up
2377
2378         * src/nm-device.c
2379                 - Remove anything related to system_config_data, which is no longer used
2380                 - (nm_device_new_ip4_autoip_config): make static
2381
2382 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2383
2384         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2385         (file_changed): Fix a bug where suse system settings plugin didn't
2386         update the connections automatically when the files changed.
2387
2388 2008-05-28  Dan Williams  <dcbw@redhat.com>
2389
2390         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2391
2392 2008-05-28  Dan Williams  <dcbw@redhat.com>
2393
2394         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2395
2396         * src/NetworkManagerSystem.c
2397                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2398                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2399                         was causing -EINVAL errors since the libnl code actually does flush
2400                         the routes on VPN interfaces now
2401
2402         * src/backends/NetworkManagerArch.c
2403           src/backends/NetworkManagerDebian.c
2404           src/backends/NetworkManagerFrugalware.c
2405           src/backends/NetworkManagerGeneric.c
2406           src/backends/NetworkManagerGentoo.c
2407           src/backends/NetworkManagerMandriva.c
2408           src/backends/NetworkManagerPaldo.c
2409           src/backends/NetworkManagerRedHat.c
2410           src/backends/NetworkManagerSlackware.c
2411           src/backends/NetworkManagerSuSE.c
2412                 - (nm_system_device_flush_ip4_routes,
2413                    nm_system_device_flush_ip4_routes_with_iface): remove
2414
2415 2008-05-28  Dan Williams  <dcbw@redhat.com>
2416
2417         * libnm-util/nm-setting-wireless.c
2418           libnm-util/nm-setting-wireless.h
2419                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2420                         'adhoc-create' property, which when TRUE indicates that NM should
2421                         create this connection as an adhoc wifi network if it's not found
2422                         as an adhoc network during scanning.  Can be used to auto-create
2423                         adhoc networks when used in combination with autoconnect.
2424
2425 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2426
2427         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2428
2429         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2430         checked, it doesn't work on some devices.
2431
2432 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2433
2434         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2435         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2436
2437         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2438         Use inet_aton() everywhere to improve error detection.
2439         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2440         provided.
2441
2442 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2443
2444         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2445         Fix a typo.
2446
2447 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2448
2449         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2450         reference counting issue.
2451
2452 2008-05-23  Dan Williams  <dcbw@redhat.com>
2453
2454         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2455
2456         * src/backends/NetworkManagerGeneric.c
2457                 - (nm_generic_enable_loopback): use libnl
2458
2459 2008-05-23  Dan Williams  <dcbw@redhat.com>
2460
2461         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2462
2463         * src/NetworkManagerSystem.h
2464           src/backends/NetworkManagerArch.c
2465           src/backends/NetworkManagerDebian.c
2466           src/backends/NetworkManagerFrugalware.c
2467           src/backends/NetworkManagerGentoo.c
2468           src/backends/NetworkManagerMandriva.c
2469           src/backends/NetworkManagerPaldo.c
2470           src/backends/NetworkManagerRedHat.c
2471           src/backends/NetworkManagerSlackware.c
2472           src/backends/NetworkManagerSuSE.c
2473                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2474                    nm_system_flush_arp_cache): remove, unused
2475
2476         * src/backends/NetworkManagerGeneric.c
2477           src/backends/NetworkManagerGeneric.h
2478                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2479                    nm_generic_flush_arp_cache): remove, unused
2480
2481 2008-05-23  Dan Williams  <dcbw@redhat.com>
2482
2483         * system-settings/plugins/ifcfg-fedora/reader.c
2484                 - (make_ip4_setting): honor PEERDNS setting
2485
2486 2008-05-23  Dan Williams  <dcbw@redhat.com>
2487
2488         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2489
2490         * src/NetworkManagerSystem.c
2491                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2492                         libnl
2493
2494         * src/backends/NetworkManagerArch.c
2495           src/backends/NetworkManagerDebian.c
2496           src/backends/NetworkManagerFrugalware.c
2497           src/backends/NetworkManagerGentoo.c
2498           src/backends/NetworkManagerMandriva.c
2499           src/backends/NetworkManagerPaldo.c
2500           src/backends/NetworkManagerRedHat.c
2501           src/backends/NetworkManagerSlackware.c
2502           src/backends/NetworkManagerSuSE.c
2503                 - (nm_system_device_flush_ip4_addresses,
2504                    nm_system_device_flush_ip4_addresses_with_iface): remove
2505
2506         * src/backends/NetworkManagerGeneric.c
2507                 - (nm_generic_device_flush_ip4_addresses,
2508                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2509
2510 2008-05-23  Dan Williams  <dcbw@redhat.com>
2511
2512         * src/supplicant-manager/nm-supplicant-settings-verify.c
2513                 - Switch 'bssid' from bytes to keyword type
2514                 - (validate_type_keyword): allow NULL keyword lists
2515
2516         * src/supplicant-manager/nm-supplicant-config.c
2517                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2518                         a byte array to string form, which is what the supplicant expects
2519
2520 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2521
2522         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2523         information received from DHCP.
2524
2525         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2526         to make it possible to ignore the DNS information (both servers and 
2527         searches) returned by DHCP server.
2528
2529         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2530         name servers and searches if "ignore_dhcp_dns" is set.
2531
2532         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2533         (nm_ip4_config_reset_searches): Implement.
2534
2535 2008-05-22  Dan Williams  <dcbw@redhat.com>
2536
2537         Remove anything mDNS related.  This is better done from a distro-specific
2538         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2539         avahi, since avahi can handle interface changes just fine using netlink.
2540
2541         * configure.in
2542                 - Remove --with-mdns-provider
2543
2544         * src/NetworkManagerPolicy.c
2545                 - (global_state_changed): don't restart the mdns provider
2546
2547         * src/NetworkManagerSystem.h
2548           src/backends/NetworkManagerArch.c
2549           src/backends/NetworkManagerDebian.c
2550           src/backends/NetworkManagerFrugalware.c
2551           src/backends/NetworkManagerGentoo.c
2552           src/backends/NetworkManagerMandriva.c
2553           src/backends/NetworkManagerPaldo.c
2554           src/backends/NetworkManagerRedHat.c
2555           src/backends/NetworkManagerSlackware.c
2556           src/backends/NetworkManagerSuSE.c
2557                 - (nm_system_restart_mdns_responder): remove
2558
2559         * src/backends/NetworkManagerGeneric.c
2560           src/backends/NetworkManagerGeneric.h
2561                 - (nm_generic_restart_mdns_responder): remove
2562
2563 2008-05-22  Dan Williams  <dcbw@redhat.com>
2564
2565         * configure.in
2566                 - clean up crypto options; just use --with-crypto=nss or
2567                         --with-crypto=gnutls
2568
2569 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2570
2571         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2572         anymore, do it right away.
2573
2574 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2575
2576         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2577         serial device open when we're not connecting or connected.
2578
2579         * src/nm-cdma-device.c (device_state_changed): Ditto.
2580
2581 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2582
2583         Don't remove all devices on waking up, sync with HAL.
2584
2585         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2586         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2587         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2588
2589 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2590
2591         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2592         If the default gateway is unreachable, add a route to gateway and try
2593         again.
2594
2595 2008-05-20  Dan Williams  <dcbw@redhat.com>
2596
2597         * system-settings/plugins/ifcfg-fedora/reader.c
2598                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2599
2600 2008-05-19  Dan Williams  <dcbw@redhat.com>
2601
2602         * system-settings/plugins/ifcfg-fedora/reader.c
2603                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2604                         if the ifcfg doesn't specify one (rh #446527)
2605
2606 2008-05-19  Dan Williams  <dcbw@redhat.com>
2607
2608         Make the system settings service exit when the bus goes away.  Since it's
2609         a bus-activated service, it's lifetime is limited to the bus that activated
2610         it (rh #444976).
2611
2612         * system-settings/src/Makefile.am
2613           system-settings/src/nm-system-config-hal-manager-private.h
2614                 - Remove nm-system-config-hal-manager-private.h
2615
2616         * system-settings/src/nm-system-config-hal-manager.c
2617                 - (nm_system_config_hal_manager_reinit_dbus,
2618                    nm_system_config_hal_manager_deinit_dbus): remove
2619
2620         * system-settings/src/main.c
2621                 - (dbus_reconnect): remove
2622                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2623                 - (destroy_cb): just quit when the bus goes away
2624                 - (start_dbus_service, dbus_init): simplify
2625                 - (main): destroy the wired devices hash table after destroying
2626                         the HAL manager so we don't have to disconnect signals from the
2627                         HAL manager
2628
2629 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2630
2631         Move crypto functions from nm-applet to libnm-util.
2632
2633         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2634         (nm_setting_802_1x_set_client_cert)
2635         (nm_setting_802_1x_set_phase2_ca_cert)
2636         (nm_setting_802_1x_set_phase2_client_cert)
2637         (nm_setting_802_1x_set_private_key)
2638         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2639         file (or private key and it's password), read the certificate data.
2640
2641         * libnm-util/crypto_nss.c: 
2642         * libnm-util/crypto_gnutls.c: 
2643         * libnm-util/crypto.[ch]: Move here from nm-applet.
2644
2645         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2646
2647         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2648         Imlement WPA-EAP configuration reading from sysconfig.
2649
2650 2008-05-16  Dan Williams  <dcbw@redhat.com>
2651
2652         * src/nm-device-802-11-wireless.c
2653                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2654                         wireless
2655
2656 2008-05-14  Dan Williams  <dcbw@redhat.com>
2657
2658         Fix Linus' bug in rh #134886
2659
2660         * src/nm-device-802-3-ethernet.c
2661                 - (constructor): request initial carrier state
2662
2663         * src/nm-netlink-monitor.c
2664                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2665                         signals after refilling the link cache.  Because the refill is a 
2666                         synchronous operation, the normal message hander won't get called
2667                         since libnl has already consumed the messages.
2668                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2669
2670 2008-05-14  Dan Williams  <dcbw@redhat.com>
2671
2672         * src/NetworkManagerSystem.c
2673                 - (nm_system_device_is_up_with_iface): clean up
2674
2675 2008-05-13  Dan Williams  <dcbw@redhat.com>
2676
2677         Fix refcounting issues over sleep/wake when a VPN connection was active that
2678         caused NM to try registering an object path for a device upon wake that was
2679         the same as an already registered object path.
2680
2681         * src/nm-device.c
2682                 - (nm_device_take_down): properly handle cases where the device is
2683                         no longer active but was just active, and therefore must be
2684                         deactivated.  When a device moves to unmanaged mode, this function
2685                         previously would not deactivate the device, because the state was
2686                         already unmanaged by the time this function was called.
2687
2688         * src/vpn-manager/nm-vpn-connection.c
2689                 - (device_state_changed): properly handle multiple devices states in
2690                         which the device is now deactivated.  Code previously didn't handle
2691                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2692                         UNMANAGED states.
2693
2694 2008-05-13  Dan Williams  <dcbw@redhat.com>
2695
2696         * src/nm-device-private.h
2697           src/nm-device.c
2698                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2699
2700         * src/nm-device-802-11-wireless.c
2701                 - (nm_device_802_11_wireless_set_enabled): take devices up
2702                         and down as appropriate for the rfkill state
2703
2704 2008-05-13  Dan Williams  <dcbw@redhat.com>
2705
2706         * marshallers/nm-marshal.list
2707                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2708
2709         * system-settings/plugins/ifcfg-fedora/Makefile.am
2710           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2711           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2712                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2713                         events.  Solely for use watching ifcfg files to pick up changes
2714                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2715
2716         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2717                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2718                         file contents change
2719                 - (finalize): clean up inotify watches
2720                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2721                         and the connection ifcfg for changes on their hardlinks
2722                 - (files_changed_cb): proxy the changed signal back out to listeners
2723
2724         * system-settings/plugins/ifcfg-fedora/plugin.c
2725                 - (dir_changed): 
2726                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2727                         changes
2728                 - (read_one_connection): connect to change signals on the new connection
2729                 - (dir_changed, connection_changed_handler,
2730                    handle_connection_remove_or_new): break out connection change
2731                         handling and connection new/remove handling so it can be used from
2732                         both the GFileMonitor callback and the NMIfcfgConnection changed
2733                         signals
2734
2735         * system-settings/plugins/ifcfg-fedora/reader.c
2736           system-settings/plugins/ifcfg-fedora/reader.h
2737                 - (connection_from_file): return the keyfile path the connection would use
2738
2739 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2740
2741         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2742         single PolKitContext which is shared by all. PolKitContext::unref leaks
2743         just about everything, including all open file descriptiors and results
2744         in 99% cpu usage when data arrives to any of the fds that don't belong
2745         to any context anymore.
2746
2747 2008-05-12  Dan Williams  <dcbw@redhat.com>
2748
2749         * gfilemonitor/glocaldirectorymonitor.c
2750           gfilemonitor/glocaldirectorymonitor.h
2751                 - (g_local_directory_monitor_constructor): actually subscribe to the
2752                         watch
2753                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2754
2755         * gfilemonitor/glocalfilemonitor.c
2756           gfilemonitor/glocalfilemonitor.h
2757                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2758                 - (_g_local_file_monitor_new): ensure that inotify is started up
2759
2760 2008-05-11  Dan Williams  <dcbw@redhat.com>
2761
2762         * configure.in
2763                 - record PolicyKit version
2764
2765         * system-settings/src/nm-polkit-helpers.c
2766                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2767                         with PolicyKit <= 0.6
2768
2769 2008-05-11  Dan Williams  <dcbw@redhat.com>
2770
2771         Update Fedora system-settings plugin to support latest API and use
2772         GFileMonitor rather than home-rolled inotify code.
2773
2774         * system-settings/plugins/ifcfg-fedora/Makefile.am
2775           system-settings/plugins/ifcfg-fedora/common.h
2776           system-settings/plugins/ifcfg-fedora/plugin.c
2777                 - Update to latest system settings plugin API; use GIO instead of
2778                         custom inotify code; use NMIfcfgConnection objects instead of
2779                         ConnectionData structures tacked onto NMConnection objects
2780
2781         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2782           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2783                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2784                         connections
2785
2786         * system-settings/plugins/ifcfg-fedora/reader.c
2787           system-settings/plugins/ifcfg-fedora/reader.h
2788                 - Move ifcfg parsing bits here from parser.c
2789
2790         * system-settings/plugins/ifcfg-fedora/parser.c
2791           system-settings/plugins/ifcfg-fedora/parser.h
2792                 - Remove; most code moved to reader.c
2793
2794 2008-05-11  Dan Williams  <dcbw@redhat.com>
2795
2796         * configure.in
2797           Makefile.am
2798           gfilemonitor/*
2799                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2800                         implementation, so that the same change monitoring code can be used
2801                         on systems without glib-2.14 (like Fedora 8)
2802
2803         * system-settings/plugins/keyfile/Makefile.am
2804           system-settings/plugins/keyfile/plugin.c
2805           system-settings/plugins/ifcfg-suse/Makefile.am
2806           system-settings/plugins/ifcfg-suse/plugin.c
2807                 - Use private gfilemonitor code if GIO is not present
2808
2809 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2810
2811         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2812         NMExportedConnection's 'update' and 'delete' and return error with
2813         descriptive message.
2814
2815 2008-05-08  Dan Williams  <dcbw@redhat.com>
2816
2817         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2818
2819         * src/nm-gsm-device.c
2820           src/nm-cdma-device.c
2821                 - (real_get_best_auto_connection): implement; allow autoconnection
2822                         to GSM & CDMA devices
2823
2824 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2825
2826         Use PolicyKit to authorize the system settings' AddConnection method
2827         and the system settings connections' Update and Delete methods.
2828         
2829         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2830         (impl_exported_connection_delete, nm_exported_connection_update)
2831         (nm_exported_connection_delete): Return boolean and fill GError
2832         to notify the callers of the reasons why it might have failed.
2833
2834         * libnm-glib/nm-dbus-settings-system.c
2835         (nm_dbus_settings_system_add_connection): Return the error from dbus
2836         call so that the callers can see why it failed.
2837
2838         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2839         signatures.
2840
2841         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2842
2843         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2844         abstract base class that checks PolicyKit permissions.
2845
2846         * system-settings/src/dbus-settings.c:
2847         (impl_settings_add_connection): Check the policy before carring out
2848         the request.
2849
2850         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2851         Inherit from NMSysconfigConnection, check the policies before
2852         allowing updating or removing.
2853
2854         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2855         Inherit from NMSysconfigConnection.
2856
2857         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2858         "Delete" methods with async flag so that the implementations can get
2859         access to DBusGMethodInvocation.
2860
2861         * system-settings/src/dbus-settings.c 
2862         (settings_add_connection_check_privileges): Implement.
2863         (impl_settings_add_connection): Check the privileges before adding a new
2864         connection. Improve error reporting.
2865
2866         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2867         async so that the implementation can access DBusGMethodInvocation.
2868
2869         * configure.in: Check for PolicyKit.
2870
2871         * policy/org.freedesktop.network-manager-settings.system.policy: 
2872         New file.
2873
2874         * policy/Makefile.am: Install the policy file.
2875
2876         * configure.in: Add 'policy' subdir.
2877
2878 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2879
2880         Rewrite the suse system settings plugin.
2881
2882         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2883
2884         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2885
2886         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2887
2888         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2889
2890         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2891
2892         * system-settings/src/main.c (load_plugins): Improve error reporting.
2893
2894         * system-settings/src/sha1.[ch] Add.
2895
2896         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2897
2898 2008-05-07  Dan Williams  <dcbw@redhat.com>
2899
2900         * system-settings/plugins/keyfile/reader.c
2901                 - (read_one_setting_value): handle IP address items separately
2902                 - (read_array_of_uint): read IPv4 DNS option as a string array
2903                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2904                         array
2905
2906         * system-settings/plugins/keyfile/writer.c
2907                 - (write_setting_value): handle IP address items separately
2908                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2909                         not an array of uint, so that it's user-editable
2910                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2911                         arrays, so they are user-editable
2912
2913 2008-05-07  Dan Williams  <dcbw@redhat.com>
2914
2915         * system-settings/plugins/keyfile/Makefile.am
2916                 - Change location of the keyfile plugin settings to
2917                         /etc/NetworkManager/system-connections
2918
2919 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2920
2921         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2922
2923         * system-settings/plugins/keyfile/plugin.c: Work with
2924         NMKeyfileConnections.
2925
2926         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2927         Plugins are supposed to return NMExportedConnections now and handle the
2928         updated(), removed(), and GetSecrets().
2929         Store the internal list of connections in hash table to make it easier
2930         to find duplicates.
2931
2932 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2933
2934         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2935         for multiple IP addresses.
2936
2937 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2938
2939         Patch from André Lemos.
2940
2941         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2942         corruption.
2943
2944 2008-05-06  Dan Williams  <dcbw@redhat.com>
2945
2946         * src/dhcp-manager/nm-dhcp-manager.c
2947                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2948                         NMIP4Config to support multiple IP addresses
2949
2950         * src/NetworkManagerUtils.c
2951                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2952
2953         * src/nm-ip4-config.c
2954           src/nm-ip4-config.h
2955                 - Store a list of IPv4 address/netmask/gateway tuples
2956                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2957                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2958                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2959                    nm_ip4_config_set_address): remove
2960                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
2961                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
2962                         new functions; handle multiple IPv4 addresses
2963
2964         * src/nm-device.c
2965           src/ppp-manager/nm-ppp-manager.c
2966           src/vpn-manager/nm-vpn-connection.c
2967           src/NetworkManagerPolicy.c
2968           test/nm-tool.c
2969           libnm-glib/libnm-glib-test.c
2970                 - update for changes to NMIP4Config for multiple IPv4 addresses
2971
2972         * src/NetworkManagerSystem.c
2973                 - (nm_system_device_set_ip4_route): don't add the route if any address
2974                         is on the same subnet as the destination
2975                 - (check_one_address): ignore the exact match, just match family and
2976                         interface index
2977                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
2978                         an interface
2979                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
2980                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
2981
2982         * introspection/nm-ip4-config.xml
2983                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
2984                 - Add 'addresses' property which is an array of (uuu) tuples of
2985                         address/netmask/gateway
2986
2987         * libnm-util/nm-setting-ip4-config.c
2988                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
2989
2990         * libnm-glib/nm-ip4-config.c
2991           libnm-glib/nm-ip4-config.h
2992                 - Handle D-Bus interface changes to support multiple IP addresses
2993
2994 2008-05-06  Dan Williams  <dcbw@redhat.com>
2995
2996         * libnm-util/nm-utils.c
2997           libnm-util/nm-utils.h
2998                 - (nm_utils_ip4_addresses_from_gvalue,
2999                    nm_utils_ip4_addresses_to_gvalue): new functions
3000
3001 2008-05-06  Tambet Ingo  <tambet@gmail.com>
3002
3003         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
3004         the returned connection paths.
3005
3006 2008-05-05  Tambet Ingo  <tambet@gmail.com>
3007
3008         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
3009         "PropertiesChanged" signal signature.
3010
3011         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
3012         defined in nm-dbus-glib-types.h.
3013         Don't register the connection on dbus, we're a proxy class to 
3014         communicate with an already registered connection over dbus.
3015
3016 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3017
3018         Implement new subclasses of NMSettings and NMExportedConnection to make
3019         it easier for the applet to access and modify system settings.
3020
3021         * libnm-glib/nm-dbus-connection.[ch]:
3022         * libnm-glib/nm-dbus-settings.[ch]:
3023         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
3024
3025         * libnm-glib/Makefile.am: Add the new files to build, generate some more
3026         bindings and glue.
3027
3028         * include/NetworkManager.h: Define the system settings DBus interface.
3029
3030 2008-04-30  Tambet Ingo  <tambet@gmail.com>
3031
3032         Implement additional C API for exported connections to make them identical
3033         with the DBus API. Change the (list_connections) virtual function to be
3034         more usable from C - instead of requiring implementers to return a GPtrArray
3035         of dbus paths, return a list of connections.
3036
3037         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
3038         (nm_settings_list_connections):
3039         (nm_exported_connection_new):
3040         (nm_exported_connection_update):
3041         (nm_exported_connection_delete): Implement.
3042
3043         (impl_settings_list_connections):
3044         (impl_exported_connection_update):
3045         (impl_exported_connection_delete): Use the new public functions to make 
3046         sure the C and dbus interfaces stay in sync.
3047
3048         * system-settings/src/dbus-settings.c (list_connections): Return a list of
3049         connections.
3050
3051 2008-05-02  Dan Williams  <dcbw@redhat.com>
3052
3053         * system-settings/plugins/ifcfg-fedora/plugin.c
3054                 - (dispose): use right unref call on the DBusGConnection
3055
3056 2008-05-02  Dan Williams  <dcbw@redhat.com>
3057
3058         * src/nm-serial-device.c
3059                 - (find_terminator): don't compare the whole line, just the size of the
3060                         terminator, since some modems put stuff after the terminator, like
3061                         "CONNECT 9600"
3062
3063 2008-05-01  Dan Williams  <dcbw@redhat.com>
3064
3065         Patch from Michael Biebl <biebl@debian.org>
3066
3067         * callouts/Makefile.am
3068           callouts/org.freedesktop.nm_dispatcher.service.in
3069           system-settings/src/Makefile.am
3070           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
3071                 - use the right install location for dbus-activated stuff
3072
3073 2008-04-30  Dan Williams  <dcbw@redhat.com>
3074
3075         * src/nm-gsm-device.c
3076                 - (enter_pin): fix setting name passed to applets when asking for a GSM
3077                         PIN or PUK
3078
3079 2008-04-30  Dan Williams  <dcbw@redhat.com>
3080
3081         * src/nm-manager.c
3082                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
3083
3084 2008-04-30  Dan Williams  <dcbw@redhat.com>
3085
3086         * src/nm-device-802-3-ethernet.c
3087           src/nm-device-802-11-wireless.c
3088                 - (real_is_up): return true instead of chaining up to unimplemented
3089                         parent method
3090
3091 2008-04-30  Dan Williams  <dcbw@redhat.com>
3092
3093         * src/NetworkManagerSystem.c
3094           src/NetworkManagerSystem.h
3095                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
3096                         functions to check device flags for IFF_UP
3097
3098         * src/nm-serial-device.c
3099                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
3100                         implement is_up
3101
3102         * src/nm-device-802-3-ethernet.c
3103           src/nm-device-802-11-wireless.c
3104                 - (real_hw_is_up): call nm_system_device_is_up()
3105
3106         * src/nm-device.c
3107                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
3108                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
3109                         does not implement
3110
3111 2008-04-29  Dan Williams  <dcbw@redhat.com>
3112
3113         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
3114
3115         * marshallers/nm-marshal.list
3116                 - Add marshaller
3117
3118         * src/NetworkManager.c
3119                 - (main): let the NMManager handle the NMHalManager
3120
3121         * src/nm-hal-manager.c
3122           src/nm-hal-manager.h
3123                 - convert to a GObject, and emit singals when stuff changes.  Let the
3124                         NMManager handle the signals, instead of the NMHalManager calling
3125                         into the NMManager.  
3126
3127         * src/nm-manager.c
3128           src/nm-manager.h
3129                 - (remove_one_device): consolidate device removals here
3130                 - (dispose): use remove_one_device()
3131                 - (nm_manager_get_device_by_udi): make static
3132                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
3133                         manager for devices at startup or wakeup time
3134                 - (nm_manager_new): create and monitor the HAL manager
3135                 - (hal_manager_udi_added_cb): new function; do what
3136                         nm_manager_add_device() used to do when signalled by the hal manager
3137                 - (hal_manager_udi_removed_cb): new function; do what
3138                         nm_manager_remove_device() used to do when signalled by the hal
3139                         manager
3140                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
3141                         hal manager
3142                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
3143                         in our device list that aren't known to HAL
3144                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
3145                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3146                         commits ago
3147                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3148                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3149                    nm_manager_wireless_hardware_enabled,
3150                    nm_manager_set_wireless_hardware_enabled): remove, unused
3151
3152 2008-04-28  Dan Williams  <dcbw@redhat.com>
3153
3154         Fix the device up/down ambiguities.  Up/down state used to be a
3155         conglomeration of hardware state (IFF_UP) and any device-specific things
3156         (supplicant, periodic timers, etc) that the device used to indicate
3157         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3158         reason, then the device specific stuff wouldn't get run, and the device
3159         would be stuck.
3160
3161         * src/nm-device.c
3162           src/nm-device.h
3163                 - Create hw_is_up, hw_bring_up, and hw_take_down
3164                 - Rename bring_down -> take_down
3165                 - (real_hw_is_up): check interface flags for IFF_UP
3166                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3167                 - (nm_device_is_up): make static; only used locally
3168                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3169                         if the device is already up; if the device isn't up, bring it up
3170                 - (nm_device_hw_take_down): just take down hardware
3171                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3172                 - (nm_device_take_down): always deactivate device when called; always
3173                         try to take hardware down too
3174                 - (nm_device_state_changed): take device down when entering unmanaged
3175                         state from a higher state
3176
3177         * src/nm-device-802-11-wireless.c
3178                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3179                         check IFF_UP really
3180                 - (real_take_down, supplicant_iface_state_cb_handler, 
3181                    supplicant_iface_connection_state_cb_handler,
3182                    supplicant_mgr_state_cb_handler): fix some messages
3183
3184         * src/nm-device-802-3-ethernet.c
3185                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3186                         check IFF_UP really
3187
3188 2008-04-28  Dan Williams  <dcbw@redhat.com>
3189
3190         * src/nm-manager.c
3191           src/nm-manager.h
3192                 - (nm_manager_error_get_type): add new error
3193                 - (nm_manager_remove_device): don't bother taking down the device here,
3194                         the state change from unmanaging the device will do it
3195                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3196                         uses it; when going to sleep, just unmanage the device instead of
3197                         taking it down, because stuff will cleaned up correctly when the
3198                         device gets unmanaged
3199
3200 2008-04-28  Dan Williams  <dcbw@redhat.com>
3201
3202         * src/nm-hal-manager.c
3203                 - (add_initial_devices): convert to a GSourceFunc prototype
3204                 - (nm_manager_state_changed): when coming out of sleep, punt the
3205                         device re-addition to an idle handler to let D-Bus events go out
3206                         first, fixing a potential dbus-glib assert if the old device was
3207                         not yet disposed (due to references held while emitting the D-Bus
3208                         signals) but the new device was found, because the mainloop didn't
3209                         run between signal emission and add_initial_devices()
3210
3211 2008-04-27  Dan Williams  <dcbw@redhat.com>
3212
3213         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3214
3215         * initscript/paldo/NetworkManager.in
3216           initscript/SUSE/networkmanager.in
3217                 - Remove last bits of dhcdbd
3218
3219 2008-04-27  Dan Williams  <dcbw@redhat.com>
3220
3221         * src/nm-device-802-11-wireless.c
3222                 - (link_timeout_cb): don't ask for secrets when disconnected during
3223                         association/authentication phase, drivers are still just too crappy
3224
3225 2008-04-27  Dan Williams  <dcbw@redhat.com>
3226
3227         * Makefile.am
3228           configure.in
3229           dispatcher-daemon/Makefile.am
3230           dispatcher-daemon/NetworkManagerDispatcher.c
3231           initscript/Arch/Makefile.am
3232           initscript/Arch/networkmanager-dispatcher.in
3233           initscript/Gentoo/Makefile.am
3234           initscript/Gentoo/NetworkManagerDispatcher.in
3235           initscript/Mandriva/Makefile.am
3236           initscript/Mandriva/networkmanagerdispatcher.in
3237           initscript/RedHat/Makefile.am
3238           initscript/RedHat/NetworkManagerDispatcher.in
3239           initscript/SUSE/Makefile.am
3240           initscript/SUSE/networkmanager-dispatcher.in
3241           initscript/Slackware/Makefile.am
3242           initscript/Slackware/rc.networkmanager-dispatcher.in
3243           initscript/paldo/Makefile.am
3244           initscript/paldo/NetworkManagerDispatcher.in
3245           man/Makefile.am
3246           man/NetworkManagerDispatcher.8.in
3247                 - Remove the dispatcher daemon
3248
3249 2008-04-27  Dan Williams  <dcbw@redhat.com>
3250
3251         * callouts/Makefile.am
3252           callouts/nm-dispatcher-action.c
3253           callouts/nm-dispatcher-action.h
3254           callouts/nm-dispatcher.conf
3255           callouts/nm-dispatcher.xml
3256           callouts/org.freedesktop.nm_dispatcher.service
3257                 - Re-implement the dispatcher as a system-bus activated service that
3258                         NM calls on-demand, rather than an always running daemon
3259
3260         * src/Makefile.am
3261                 - Add callouts dir to includes to pick up dispatcher defines
3262
3263         * src/nm-device.c
3264                 - (nm_device_state_changed): call dispatcher on device activated/
3265                         deactivated
3266
3267         * src/vpn-manager/nm-vpn-connection.c
3268                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3269                         go up and down
3270
3271         * src/NetworkManagerUtils.c
3272           src/NetworkManagerUtils.h
3273                 - (nm_utils_call_dispatcher): helper to call dispatcher
3274
3275 2008-04-27  Dan Williams  <dcbw@redhat.com>
3276
3277         * src/NetworkManagerUtils.c
3278           src/NetworkManagerUtils.h
3279                 - remove unneeded includes
3280                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3281                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3282                    nm_timeval_cmp, nm_timeval_add): remove, unused
3283                 - clean up formatting
3284                 - (nm_spawn_process): de-uglify
3285
3286         * src/nm-device-802-11-wireless.c
3287                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3288
3289 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3290
3291         * initscript/Gentoo/NetworkManager.in:
3292                 Fix for starting the daemon.
3293
3294 2008-04-25  Dan Williams  <dcbw@redhat.com>
3295
3296         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3297
3298         * src/NetworkManagerSystem.c
3299                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3300
3301 2008-04-25  Dan Williams  <dcbw@redhat.com>
3302
3303         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3304
3305         * src/NetworkManagerSystem.c
3306                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3307                         implementation of nm_system_device_replace_default_route()
3308
3309         * src/NetworkManagerPolicy.c
3310                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3311
3312         * src/backends/NetworkManagerArch.c
3313           src/backends/NetworkManagerDebian.c
3314           src/backends/NetworkManagerFrugalware.c
3315           src/backends/NetworkManagerGeneric.c
3316           src/backends/NetworkManagerGeneric.h
3317           src/backends/NetworkManagerGentoo.c
3318           src/backends/NetworkManagerMandriva.c
3319           src/backends/NetworkManagerPaldo.c
3320           src/backends/NetworkManagerRedHat.c
3321           src/backends/NetworkManagerSlackware.c
3322           src/backends/NetworkManagerSuSE.c
3323                 - (nm_system_device_replace_default_route): remove
3324
3325 2008-04-25  Dan Williams  <dcbw@redhat.com>
3326
3327         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3328
3329         * src/NetworkManagerSystem.c
3330                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3331                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3332                         replace nm_system_device_add_route_via_device_with_iface() in the
3333                         backends
3334
3335         * src/backends/NetworkManagerArch.c
3336           src/backends/NetworkManagerDebian.c
3337           src/backends/NetworkManagerFrugalware.c
3338           src/backends/NetworkManagerGeneric.c
3339           src/backends/NetworkManagerGeneric.h
3340           src/backends/NetworkManagerGentoo.c
3341           src/backends/NetworkManagerMandriva.c
3342           src/backends/NetworkManagerPaldo.c
3343           src/backends/NetworkManagerRedHat.c
3344           src/backends/NetworkManagerSlackware.c
3345           src/backends/NetworkManagerSuSE.c
3346                 - Remove nm_system_device_add_route_via_device_with_iface()
3347
3348 2008-04-25  Dan Williams  <dcbw@redhat.com>
3349
3350         * system-settings/plugins/ifcfg-fedora/parser.c
3351                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3352
3353 2008-04-24  Dan Williams  <dcbw@redhat.com>
3354
3355         * dispatcher-daemon/NetworkManagerDispatcher.c
3356                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3357
3358 2008-04-24  Dan Williams  <dcbw@redhat.com>
3359
3360         * initscript/RedHat/NetworkManager.in
3361           initscript/RedHat/NetworkManagerDispatcher.in
3362                 - Be active at runlevel 2
3363                 - Adjust priorities earlier
3364
3365 2008-04-22  Dan Williams  <dcbw@redhat.com>
3366
3367         * src/NetworkManagerPolicy.c
3368                 - (update_routing_and_dns): when checking for a gateway, look at the
3369                         composite IP4 config, not the connection's ip4-config setting, which
3370                         doesn't include DHCP-returned information
3371
3372 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3373
3374         Implement GKeyFile system settings plugin.
3375         Implement writing system settings (currently supported only by GKeyFile plugin).
3376
3377         * system-settings/src/main.c: 
3378         * system-settings/src/dbus-settings.c: Move the communication with plugins
3379         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3380         plugins for adding/updating/removing connections.
3381
3382         * system-settings/src/nm-system-config-interface.c
3383         (nm_system_config_interface_add_connection): Implement
3384         (nm_system_config_interface_update_connection): Implement.
3385         (nm_system_config_interface_remove_connection): Implement.
3386
3387         * system-settings/plugins/keyfile/Makefile.am:
3388         * system-settings/plugins/keyfile/plugin.[ch]:
3389         * system-settings/plugins/keyfile/writer.[ch]:
3390         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3391
3392         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3393
3394         * configure.in: Generate GKeyFile Makefile.
3395
3396         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3397         corruption, need to duplicate the returned string.
3398         (impl_exported_connection_update): Implement.
3399         (impl_exported_connection_delete): Implement.
3400
3401         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3402
3403         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3404
3405 2008-04-22  Dan Williams  <dcbw@redhat.com>
3406
3407         Patch from Charles R. Anderson (cra@wpi.edu)
3408
3409         * src/NetworkManagerPolicy.c
3410                 - (update_routing_and_dns): don't select devices without a gateway
3411                         as having the default route (rh #437338)
3412
3413 2008-04-21  Dan Williams  <dcbw@redhat.com>
3414
3415         * src/nm-activation-request.c
3416           src/nm-activation-request.h
3417                 - (dispose): ensure to disconnect from the device's state-changed signal
3418                         when appropriate so the signal doesn't get handled by an already
3419                         disposed NMActRequest
3420                 - (device_state_changed): update is_default here too just to make sure
3421                         default is only True when the child device is activated
3422                 - (nm_act_request_set_default): new function
3423
3424         * src/NetworkManagerPolicy.c
3425                 - (update_routing_and_dns): set 'default' on the active connection which
3426                         has the default route and DNS
3427
3428 2008-04-21  Dan Williams  <dcbw@redhat.com>
3429
3430         * src/NetworkManagerPolicy.c
3431                 - (device_state_changed): update routing and DNS when a device goes
3432                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3433
3434 2008-04-21  Dan Williams  <dcbw@redhat.com>
3435
3436         * include/NetworkManager.h
3437                 - Add NMActiveConnectionState enum
3438
3439         * introspection/nm-active-connection.xml
3440           introspection/nm-vpn-connection.xml
3441                 - Add 'State' property for overall active connection state
3442                 - Add 'Default' property, when True means this active connection
3443                         has the default route
3444                 - Add PropertyChanged signals so changes actually go out over the bus
3445
3446         * src/nm-active-connection.h
3447                 - Add defines for State & Default properties
3448
3449         * src/nm-activation-request.c
3450                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3451                         signal to determine active connection state
3452
3453         * src/vpn-manager/nm-vpn-connection.c
3454           src/vpn-manager/nm-vpn-connection.h
3455           src/vpn-manager/nm-vpn-manager.c
3456           src/vpn-manager/nm-vpn-service.c
3457                 - Rename old 'state' to 'vpn-state'
3458                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3459                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3460                         'vpn-state-changed' signal
3461
3462         * libnm-glib/nm-active-connection.c
3463           libnm-glib/nm-active-connection.h
3464                 - Add new 'state' and 'default' properties and accessors
3465
3466         * libnm-glib/nm-vpn-connection.c
3467           libnm-glib/nm-vpn-connection.h
3468                 - Rename old 'state' property to 'vpn-state'
3469                 - Add new 'state' and 'default' properties and accessors
3470
3471 2008-04-21  Dan Williams  <dcbw@redhat.com>
3472
3473         * src/nm-ip4-config.c
3474                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3475                         not specified (rh #443474)
3476
3477 2008-04-20  Dan Williams  <dcbw@redhat.com>
3478
3479         * src/NetworkManagerUtils.c
3480           src/NetworkManagerUtils.h
3481                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3482                         NMSettingIP4Config to an NMIP4Config object
3483
3484         * src/nm-device.c
3485                 - (merge_ip4_config): move to NetworkManagerUtils.c
3486
3487         * src/vpn-manager/nm-vpn-connection.c
3488                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3489                         too
3490
3491 2008-04-18  Dan Williams  <dcbw@redhat.com>
3492
3493         * libnm-util/nm-setting-ppp.c
3494           libnm-util/nm-setting-ppp.h
3495                 - Add 'no-vj-comp' option for TCP header compression
3496                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3497                         uint32
3498
3499 2008-04-18  Dan Williams  <dcbw@redhat.com>
3500
3501         * libnm-util/nm-setting-ppp.c
3502           libnm-util/nm-setting-ppp.h
3503           src/ppp-manager/nm-ppp-manager.c
3504                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3505
3506 2008-04-18  Dan Williams  <dcbw@redhat.com>
3507
3508         * libnm-util/nm-setting-ppp.c
3509           libnm-util/nm-setting-ppp.h
3510           src/ppp-manager/nm-ppp-manager.c
3511                 - Remove the 'usepeerdns' option and always request DNS servers from
3512                         the PPP server; the connection chooses to use/override/ignore the
3513                         DNS servers returned from the PPP server
3514
3515 2008-04-18  Dan Williams  <dcbw@redhat.com>
3516
3517         * libnm-util/nm-setting-ppp.c
3518           libnm-util/nm-setting-ppp.h
3519           src/ppp-manager/nm-ppp-manager.c
3520                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3521                         it seems to have been an erroneous addition to the PPTP plugin in
3522                         the first place (from which the ppp-manager is derived)
3523
3524 2008-04-17  Dan Williams  <dcbw@redhat.com>
3525
3526         * libnm-util/nm-setting-pppoe.c
3527                 - (verify): require a PPP setting too
3528
3529         * src/ppp-manager/nm-ppp-manager.c
3530                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3531                         segfaulting
3532
3533 2008-04-17  Dan Williams  <dcbw@redhat.com>
3534
3535         * src/nm-device.c
3536                 - (nm_device_state_changed): do deactivation and and promotion to
3537                         unavailable here, so that the device gets cleaned up before the
3538                         manager runs and starts emitting signals; do the
3539                         FAILED->DISCONNECTED transition from an idle handler rather than
3540                         immediately to guard against recursion
3541                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3542                         FAILED->DISCONNECTED handler if it's scheduled
3543
3544 2008-04-17  Dan Williams  <dcbw@redhat.com>
3545
3546         * src/nm-device-802-11-wireless.c
3547                 - (state_changed_cb): clear AP list when device transitions to
3548                         unavailable or unmanaged
3549                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3550                         since this is already done in device_cleanup()
3551                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3552                         isn't available or managed
3553                 - (device_cleanup): use remove_all_aps()
3554                 - (remove_all_aps): consolidate code removing all APs
3555
3556 2008-04-17  Dan Williams  <dcbw@redhat.com>
3557
3558         * src/nm-serial-device.c
3559           src/nm-serial-device.h
3560                 - (wait_for_reply_got_data): break input into lines, and search each
3561                         line for responses _and_ terminator strings; also make sure that
3562                         the read loop doesn't continue after the timeout is supposed to fire
3563                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3564
3565         * src/nm-gsm-device.c
3566           src/nm-cdma-device.c
3567                 - Send terminators to nm_serial_device_wait_for_reply()
3568
3569 2008-04-16  Dan Williams  <dcbw@redhat.com>
3570
3571         Patch from 陈鑫 <znscnchen@gmail.com>
3572
3573         * src/ppp-manager/nm-pppd-plugin.c
3574                 - (get_credentials): return correct value for success; handle case where
3575                         pppd just does some checking but doesn't want a password
3576                 - (plugin_init): make CHAP work too
3577
3578 2008-04-16  Dan Williams  <dcbw@redhat.com>
3579
3580         Patch from 陈鑫 <znscnchen@gmail.com>
3581
3582         * src/ppp-manager/nm-ppp-manager.c
3583                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3584
3585 2008-04-16  Dan Williams  <dcbw@redhat.com>
3586
3587         Patch from 陈鑫 <znscnchen@gmail.com>
3588
3589         * src/nm-device-802-3-ethernet.c
3590                 - (real_deactivate_quickly): clear the IP interface name on
3591                         deactivation, otherwise the wrong interface might get used later
3592                         for routing and IP management
3593
3594 2008-04-15  Dan Williams  <dcbw@redhat.com>
3595
3596         * libnm-glib/nm-device.c
3597                 - (get_product_and_vendor): handle serial devices correctly
3598                 - (nm_device_update_description): pass device to get_product_and_vendor()
3599
3600 2008-04-15  Dan Williams  <dcbw@redhat.com>
3601
3602         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3603
3604         * src/NetworkManagerSystem.h
3605           src/backends/NetworkManagerArch.c
3606           src/backends/NetworkManagerDebian.c
3607           src/backends/NetworkManagerFrugalware.c
3608           src/backends/NetworkManagerGeneric.c
3609           src/backends/NetworkManagerGeneric.h
3610           src/backends/NetworkManagerGentoo.c
3611           src/backends/NetworkManagerMandriva.c
3612           src/backends/NetworkManagerPaldo.c
3613           src/backends/NetworkManagerRedHat.c
3614           src/backends/NetworkManagerSlackware.c
3615           src/backends/NetworkManagerSuSE.c
3616           src/nm-device.c
3617                 - (nm_generic_device_add_ip6_link_address,
3618                    nm_system_device_add_ip6_link_address): remove
3619
3620 2008-04-15  Dan Williams  <dcbw@redhat.com>
3621
3622         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3623
3624         * src/backends/NetworkManagerArch.c
3625           src/backends/NetworkManagerDebian.c
3626           src/backends/NetworkManagerFrugalware.c
3627           src/backends/NetworkManagerGeneric.c
3628           src/backends/NetworkManagerGeneric.h
3629           src/backends/NetworkManagerGentoo.c
3630           src/backends/NetworkManagerMandriva.c
3631           src/backends/NetworkManagerPaldo.c
3632           src/backends/NetworkManagerRedHat.c
3633           src/backends/NetworkManagerSlackware.c
3634           src/backends/NetworkManagerSuSE.c
3635           src/NetworkManagerSystem.h
3636                 - flush_routes -> flush_ip4_routes
3637                 - flush_addresses -> flush_ip4_addresses
3638
3639         * src/NetworkManagerSystem.c
3640           src/nm-device.c
3641           src/vpn-manager/nm-vpn-connection.c
3642                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3643
3644 2008-04-15  Dan Williams  <dcbw@redhat.com>
3645
3646         Remove exposure of wireless-tools mode types in the API.
3647
3648         * include/NetworkManager.h
3649                 - Define NM80211Mode enum
3650
3651         * introspection/generic-types.xml
3652                 - Describe NM_802_11_MODE enum
3653                 - Remove IW_MODE_* enum
3654
3655         * introspection/nm-access-point.xml
3656           libnm-glib/nm-access-point.c
3657           libnm-glib/nm-access-point.h
3658                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3659
3660         * introspection/nm-device-802-11-wireless.xml
3661           libnm-glib/nm-device-802-11-wireless.c
3662           libnm-glib/nm-device-802-11-wireless.h
3663                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3664
3665         * libnm-util/nm-setting-wireless.c
3666           src/NetworkManagerAP.c
3667           src/NetworkManagerAP.h
3668           src/nm-device-802-11-wireless.c
3669           src/nm-device-802-11-wireless.h
3670           test/nm-tool.c
3671                 - Use NM80211Mode not IW_MODE_*
3672
3673 2008-04-15  Dan Williams  <dcbw@redhat.com>
3674
3675         Enhance nm-online based on a patch from Bill Nottingham.
3676
3677         * test/nm-online.c
3678                 - Add a '-q' option
3679                 - Add help messages and option summary
3680                 - Add long-format options
3681                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3682
3683 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3684
3685         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3686
3687         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3688
3689 2008-04-15  Dan Williams  <dcbw@redhat.com>
3690
3691         * nm-setting-ip4-config.c
3692                 - (ip4_addresses_from_gvalue): handle NULL address array
3693
3694         * nm-setting-8021x.c
3695                 - (verify_tls, verify_ttls): warn on failed verification
3696
3697 2008-04-10  Dan Williams  <dcbw@redhat.com>
3698
3699         * src/nm-gsm-device.c
3700                 - (automatic_registration): accept "+CREG: 0,0"
3701                 - (automatic_registration_response): fail on "+CREG: 0,0"
3702
3703 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3704
3705         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3706
3707 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3708
3709         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3710         Make it compile again by commenting out broken code that at first didn't work and
3711         now didn't compile either.
3712
3713 2008-04-08  Dan Williams  <dcbw@redhat.com>
3714
3715         * libnm-glib/nm-object-cache.c
3716           libnm-glib/nm-settings.c
3717           src/dhcp-manager/nm-dhcp-manager.c
3718           system-settings/plugins/ifcfg-fedora/plugin.c
3719           system-settings/plugins/ifcfg-suse/plugin.c
3720           system-settings/src/nm-system-config-hal-manager.c
3721           libnm-util/nm-utils.c
3722                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3723                         not threadsafe anyway
3724
3725 2008-04-08  Dan Williams  <dcbw@redhat.com>
3726
3727         * system-settings/src/main.c
3728                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3729                         callbacks take a device type too
3730
3731 2008-04-08  Dan Williams  <dcbw@redhat.com>
3732
3733         The system settings service will now create a new default DHCP connection
3734         for wired devices that have no existing applicable connection.
3735
3736         * system-settings/src/nm-system-config-hal-manager.c
3737           system-settings/src/nm-system-config-hal-manager.h
3738                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3739
3740         * system-settings/src/dbus-settings.c
3741           system-settings/src/dbus-settings.h
3742                 - (nm_sysconfig_settings_get_connections): new function
3743                 - (nm_sysconfig_settings_is_device_managed): new function
3744
3745         * system-settings/src/main.c
3746                 - (load_stuff): check for wired devices that need a default connection
3747                 - (get_details_for_udi): get interface and MAC address from HAL
3748                 - (add_default_dhcp_connection): add a default connection for a wired
3749                         device if needed
3750                 - (device_added_cb, device_removed_cb): do the right thing with
3751                         wired devices and their default connections on HAL device events
3752
3753 2008-04-07  Dan Williams  <dcbw@redhat.com>
3754
3755         * libnm-glib/nm-device.c
3756           libnm-glib/nm-device.h
3757                 - Proxy the 'managed' property
3758
3759 2008-04-07  Dan Williams  <dcbw@redhat.com>
3760
3761         * src/nm-gsm-device.c
3762           src/nm-cdma-device.c
3763                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3764                         handler to transition to DISCONNECTED
3765
3766 2008-04-07  Dan Williams  <dcbw@redhat.com>
3767
3768         Patch from Bill Nottingham
3769
3770         * dispatcher-daemon/NetworkManagerDispatcher.c
3771                 - ignore backup/packaging crufy (rh #440143)
3772
3773 2008-04-07  Dan Williams  <dcbw@redhat.com>
3774
3775         * include/NetworkManager.h
3776                 - Remove the DOWN and CANCELLED device states
3777                 - Add UNMANAGED and UNAVAILABLE device states
3778                 - Document the device states
3779
3780         * introspection/nm-device.xml
3781           src/nm-device-interface.c
3782           src/nm-device-interface.h
3783                 - Add the 'managed' property
3784
3785         * test/nm-tool.c
3786                 - (detail_device): print out device state
3787
3788         * src/NetworkManagerSystem.h
3789           src/backends/NetworkManagerArch.c
3790           src/backends/NetworkManagerDebian.c
3791           src/backends/NetworkManagerFrugalware.c
3792           src/backends/NetworkManagerGentoo.c
3793           src/backends/NetworkManagerMandriva.c
3794           src/backends/NetworkManagerPaldo.c
3795           src/backends/NetworkManagerRedHat.c
3796           src/backends/NetworkManagerSlackware.c
3797           src/backends/NetworkManagerSuSE.c
3798                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3799                    nm_system_device_free_system_config): remove; they were unused and
3800                         their functionality should be re-implemented in each distro's
3801                         system settings service plugin 
3802
3803         * src/nm-gsm-device.c
3804           src/nm-gsm-device.h
3805           src/nm-cdma-device.c
3806           src/nm-cdma-device.h
3807                 - (*_new): take the 'managed' argument
3808
3809         * src/nm-device.c
3810                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3811                 - (nm_device_init): start in unmanaged state, not disconnected
3812                 - (constructor): don't start device until the system settings service
3813                         has had a chance to figure out if the device is managed or not
3814                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3815                         don't set device state here, let callers handle that as appropriate
3816                 - (nm_device_dispose): don't touch the device if it's not managed
3817                 - (set_property, get_property, nm_device_class_init): implement the
3818                         'managed' property
3819                 - (nm_device_state_changed): bring the device up if its now managed,
3820                         and deactivate it if it used to be active
3821                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3822                         with the managed state
3823
3824         * src/nm-hal-manager.c
3825                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3826                         take initial managed state and pass it along to device constructors
3827                 - (create_device_and_add_to_list): get managed state and pass to
3828                         type creators
3829
3830         * src/nm-device-802-11-wireless.c
3831                 - (real_can_activate): fold in most of
3832                         nm_device_802_11_wireless_can_activate()
3833                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3834                 - (link_timeout_cb): instead of deactivating, change device state and
3835                         let the device state handler to it
3836                 - (real_update_hw_address): clean up
3837                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3838                         handler to transition to DISCONNECTED if the device isn't rfkilled
3839
3840         * src/nm-device-802-3-ethernet.c
3841                 - (set_carrier): move above callers and get rid of prototype
3842                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3843                         idle handler to transition to DISCONNECTED if the device has a
3844                         carrier
3845                 - (real_update_hw_address): clean up
3846                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3847                         deactivation directly as deactivation doesn't change state anymore
3848
3849         * src/NetworkManagerPolicy.c
3850                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3851                         the NMManager and wireless devices work that out themselves now
3852                 - (device_state_changed): change to a switch and update for new device
3853                         states
3854                 - (device_carrier_changed): remove; device handles this now through
3855                         state changes
3856                 - (device_added): don't care about carrier any more; the initial
3857                         activation check will happen when the device transitions to
3858                         DISCONNECTED
3859
3860         * src/nm-manager.c
3861                 - (dispose): clear unmanaged devices
3862                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3863                         the managed property on each device when needed
3864                 - (system_settings_properties_changed_cb): handle signals from the
3865                         system settings service
3866                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3867                         getting the unmanaged device list method call
3868                 - (query_unmanaged_devices): ask the system settings service for its
3869                         list of unmanaged devices
3870                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3871                         devices
3872                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3873                         devices directly and let them handle the necessary state transitions
3874                 - (manager_device_state_changed): update for new device states
3875                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3876                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3877                 - (nm_manager_activate_connection): return error if the device is
3878                         unmanaged
3879                 - (nm_manager_sleep): handle new device states correctly; don't change
3880                         the state of unavailable/unmanaged devices
3881
3882         * libnm-glib/nm-device-802-11-wireless.c
3883                 - (state_changed_cb): update for new device states
3884
3885 2008-04-07  Dan Williams  <dcbw@redhat.com>
3886
3887         * marshallers/nm-marshal.list
3888                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3889
3890 2008-04-07  Dan Williams  <dcbw@redhat.com>
3891
3892         * system-settings/src/main.c
3893                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3894                         plugins to the dbus settings object
3895                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3896                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3897                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3898                 - (main): switch default logging to syslog with a 'debug' option to
3899                         output to console; start up the HAL manager
3900
3901 2008-04-07  Dan Williams  <dcbw@redhat.com>
3902
3903         * introspection/nm-settings-system.xml
3904           introspection/Makefile.am
3905                 - Define the unmanaged devices interface for the system settings service
3906
3907         * system-settings/src/nm-system-config-hal-manager.c
3908           system-settings/src/nm-system-config-hal-manager.h
3909           system-settings/src/nm-system-config-hal-manager-private.h
3910           system-settings/src/Makefile.am
3911                 - Add a lightweight HAL manager object for tracking network devices for
3912                         the purpose of determining unmanaged devices and which devices need
3913                         the default DHCP connections
3914
3915         * system-settings/src/nm-system-config-interface.c
3916           system-settings/src/nm-system-config-interface.h
3917                 - (nm_system_config_interface_init): add the HAL manager as an argument
3918                 - (nm_system_config_interface_get_unmanaged_devices): implement
3919                 - Define 'unmanaged-devices-changed' signal
3920
3921         * system-settings/src/dbus-settings.c
3922           system-settings/src/dbus-settings.h
3923                 - Implement the unmanaged devices interface; some cleanups
3924
3925         * system-settings/plugins/ifcfg-suse/plugin.c
3926                 - Fixup for plugin interface changes
3927
3928         * system-settings/plugins/ifcfg-fedora/plugin.c
3929                 - (get_ether_device_udi): new function; find the device that has
3930                         a specified MAC address and return its UDI
3931                 - (get_udi_for_connection): new function; try to find the specific
3932                         device a connection is locked to, if any
3933                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3934                         response to HAL events
3935                 - (get_unmanaged_devices): new function; return unmanaged device list
3936                 - (build_one_connection): set the connection's locked device, if any
3937                 - (write_auto_wired_connection): remove
3938                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3939                 - (handle_connection_changed): alert listeners that the unmanaged device
3940                         list has changed
3941                 - (init): fixup for plugin interface changes, implement unmanaged devices
3942
3943         * system-settings/plugins/ifcfg-fedora/parser.c
3944           system-settings/plugins/ifcfg-fedora/parser.h
3945                 - (connection_data_free): clean up connection UDI
3946
3947 2008-04-07  Dan Williams  <dcbw@redhat.com>
3948
3949         * system-settings/plugins/ifcfg-fedora/parser.c
3950                 - (make_ip4_setting): fix parsing of DNS servers
3951
3952 2008-04-05  Dan Williams  <dcbw@redhat.com>
3953
3954         * Makefile.am
3955           configure.in
3956           marshallers/Makefile.am
3957           marshallers/nm-marshal-main.c
3958           marshallers/nm-marshal.list
3959                 - Consolidate marshallers
3960
3961         * libnm-glib/nm-marshal-main.c
3962           libnm-glib/nm-marshal.list
3963           src/marshallers/Makefile.am
3964           src/marshallers/nm-marshal-main.c
3965           src/marshallers/nm-marshal.list
3966                 - Remove
3967
3968         * libnm-glib/Makefile.am
3969           src/Makefile.am
3970           src/dhcp-manager/Makefile.am
3971           src/ppp-manager/Makefile.am
3972           src/supplicant-manager/Makefile.am
3973           src/vpn-manager/Makefile.am
3974                 - Use consolidated marshallers
3975
3976 2008-04-04  Dan Williams  <dcbw@redhat.com>
3977
3978         * src/nm-hal-manager.c
3979           src/nm-hal-manager.h
3980                 - (hal_init): don't look for hardware here
3981                 - (nm_hal_manager_start): new function; look for hardware here instead,
3982                         which can be done at a later time than hal_init()
3983
3984         * src/NetworkManager.c
3985                 - (main): start HAL manager after entering the main loop
3986
3987 2008-04-03  Dan Williams  <dcbw@redhat.com>
3988
3989         * libnm-glib/nm-settings.c
3990           libnm-glib/nm-settings.h
3991             - (nm_exported_connection_get_id): new function
3992                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
3993
3994 2008-04-02  Dan Williams  <dcbw@redhat.com>
3995
3996         * src/nm-device-interface.c
3997           src/nm-device-interface.h
3998           src/nm-device.c
3999           src/nm-device.h
4000                 - Rename check_connection_conflicts() to check_connection_compatible()
4001
4002         * src/nm-device-802-11-wireless.c
4003                 - (real_check_connection_conflicts): remove
4004                 - (real_check_connection_compatible): implement; match MAC address
4005
4006         * src/nm-device-802-3-ethernet.c
4007                 - (real_check_connection_conflicts): remove
4008                 - (real_check_connection_compatible): implement; match MAC address
4009                 - (real_get_best_auto_connection): correctly handle PPPoE cases
4010
4011         * src/nm-manager.c
4012                 - (check_connection_allowed): remove; unused until PolicyKit integration
4013                 - (internal_activate_device): check whether the connection is compatible
4014                         with the device before trying to activate it
4015
4016 2008-04-02  Dan Williams  <dcbw@redhat.com>
4017
4018         * system-settings/plugins/ifcfg-fedora/parser.c
4019                 - (read_mac_address): new function; read in MAC address and stuff it
4020                         into the connection
4021                 - (add_one_wep_key): remove debug spew
4022                 - (make_wireless_security_setting): validate the default TX key; don't
4023                         add the wireless-security setting if the connection doesn't need
4024                         security; don't leak the keys shvarFile on error cases
4025                 - (make_wireless_setting, make_wired_setting): populate device's MAC
4026                         address
4027
4028 2008-04-02  Dan Williams  <dcbw@redhat.com>
4029
4030         * libnm-util/nm-setting-connection.c
4031           libnm-util/nm-setting-connection.h
4032                 - (set_property, get_property, nm_setting_connection_class_init): remove
4033                         the 'lockdown' property; it's functionality will be replaced by
4034                         PolicyKit instead
4035
4036 2008-04-01  Dan Williams  <dcbw@redhat.com>
4037
4038         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
4039
4040         * configure.in
4041           initscript/Makefile.am
4042           initscript/Mandriva/Makefile.am
4043           initscript/Mandriva/networkmanager.in
4044           initscript/Mandriva/networkmanagerdispatcher.in
4045           src/backends/Makefile.am
4046           src/backends/NetworkManagerMandriva.c
4047           system-settings/plugins/Makefile.am
4048                 - Add Mandriva support
4049
4050 2008-03-31  Dan Williams  <dcbw@redhat.com>
4051
4052         * src/vpn-manager/nm-vpn-service.c
4053                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
4054                         errors can be passed back to the caller; also no longer scheduled
4055                         as an idle handler, but called directly; and bump up VPN service
4056                         spawn timeout, 2s is really short
4057                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
4058                         but call it directly so that errors are reported on return from
4059                         ActivateConnection() and don't get lost.  If scheduled as an idle
4060                         handler, clients don't have the time to query NM for the new VPN
4061                         connection's properties before the VPN connection is torn down again
4062                         if the service couldn't be launched, and therefore launch errors
4063                         get lost.
4064
4065 2008-03-31  Dan Williams  <dcbw@redhat.com>
4066
4067         * src/vpn-manager/nm-vpn-connection.c
4068                 - (device_state_changed): send correct state on device failure too
4069                 - (plugin_state_changed): failed state means unexpected disconnection,
4070                         thus if the service goes away while the VPN connection is activated
4071                         that's a failure too
4072
4073 2008-03-31  Dan Williams  <dcbw@redhat.com>
4074
4075         * src/vpn-manager/nm-vpn-manager.c
4076           src/vpn-manager/nm-vpn-manager.h
4077                 - Make VPNManager errors more available; add a service-start-failed error
4078
4079 2008-03-31  Dan Williams  <dcbw@redhat.com>
4080
4081         * libnm-glib/nm-client.c
4082           libnm-glib/nm-client.h
4083                 - (activate_cb): pass the new active connection to callback; fix
4084                         message when no callback is specified
4085
4086 2008-03-30  Dan Williams  <dcbw@redhat.com>
4087
4088         * libnm-util/nm-setting-wireless-security.c
4089                 - (need_secrets): only require key0 if the transmit key index is also
4090                         0
4091                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
4092
4093 2008-03-29  Dan Williams  <dcbw@redhat.com>
4094
4095         * libnm-util/nm-setting-8021x.c
4096           libnm-util/nm-setting-ip4-config.c
4097           libnm-util/nm-setting-vpn-properties.c
4098           libnm-util/nm-setting-vpn.c
4099           libnm-util/nm-setting-wireless-security.c
4100           libnm-util/nm-setting-wireless.c
4101           libnm-util/nm-utils.c
4102           src/dhcp-manager/nm-dhcp-manager.c
4103           src/nm-activation-request.c
4104           src/nm-ip4-config.c
4105           src/nm-manager.c
4106           src/nm-properties-changed-signal.c
4107           src/ppp-manager/nm-pppd-plugin.c
4108           src/supplicant-manager/nm-supplicant-interface.c
4109           src/vpn-manager/nm-vpn-connection.c
4110                 - consistently use nm-dbus-glib-types.h
4111
4112 2008-03-29  Dan Williams  <dcbw@redhat.com>
4113
4114         * src/vpn-manager/nm-vpn-connection.c
4115                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4116                         not string
4117
4118         * src/nm-activation-request.c
4119                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
4120                         not string
4121
4122 2008-03-29  Dan Williams  <dcbw@redhat.com>
4123
4124         * libnm-glib/nm-device-802-11-wireless.c
4125                 - (access_point_added_proxy): create new APs if not found
4126
4127 2008-03-29  Dan Williams  <dcbw@redhat.com>
4128
4129         * libnm-glib/nm-client.c
4130                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
4131                         before freeing them
4132
4133 2008-03-29  Dan Williams  <dcbw@redhat.com>
4134
4135         * system-settings/plugins/ifcfg-fedora/parser.c
4136                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
4137                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
4138
4139 2008-03-29  Dan Williams  <dcbw@redhat.com>
4140
4141         * system-settings/plugins/ifcfg-fedora/parser.c
4142                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
4143
4144 2008-03-27  Dan Williams  <dcbw@redhat.com>
4145
4146         * nm-object.c
4147                 - (nm_object_queue_notify): don't notify multiple times for the same
4148                         property
4149
4150         * nm-object-private.h
4151                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4152                         if it has zero elements
4153
4154         * nm-ip4-config.c
4155                 - (finalize): use g_ptr_array_foreach() when freeing domains
4156                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4157
4158         * nm-active-connection.c
4159                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4160
4161         * nm-device-802-11-wireless.c
4162           nm-device-802-11-wireless.h
4163                 - (nm_device_802_11_wireless_get_access_points): return const; use
4164                         handle_ptr_array_return()
4165
4166         * nm-types.c
4167                 - (nm_object_array_demarshal): always create an array, even of length
4168                         zero, to distinguish between "NM returned no items" and "haven't
4169                         asked NM yet"
4170
4171         * nm-client.c
4172                 - (dispose): free active connections too
4173                 - (proxy_name_owner_changed): free active connections too when NM goes
4174                         away
4175                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4176                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4177
4178 2008-03-26  Dan Williams  <dcbw@redhat.com>
4179
4180         Rework VPN connection handling for a more consistent D-Bus API.  The
4181         VPNManager object has been removed, and active VPN connections are now the
4182         same as any other active connection.  The Manager object's ActivateConnection
4183         and DeactivateConnection methods are used to start and stop a VPN connection,
4184         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4185         When activating a VPN connection, pass the path of the active connection
4186         to which the VPN connection is tied in the 'specific_object' argument.
4187
4188         Consequently, the libnm-glib API has been reworked to match this arrangement,
4189         with the VPNManager object removed, and the NMVPNConnection objects now
4190         being subclasses of NMActiveConnection.
4191
4192 2008-03-25  Dan Williams  <dcbw@redhat.com>
4193
4194         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4195
4196         * initscript/Arch/networkmanager.in
4197           initscript/Arch/networkmanager-dispatcher.in
4198                 - Updates for Arch Linux (gnome.org #523701)
4199
4200 2008-03-25  Dan Williams  <dcbw@redhat.com>
4201
4202         * libnm-glib/nm-ip4-config.c
4203           libnm-glib/nm-active-connection.c
4204           libnm-glib/nm-access-point.c
4205                 - Use nm_object_queue_notify() instead of g_object_notify()
4206
4207         * libnm-glib/nm-device.c
4208                 - (demarshal_ip4_config): distinguish between successful but missing
4209                         ip4-config request, and unsuccessful and missing ip4-config request
4210                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4211                         path
4212                 - Use nm_object_queue_notify() instead of g_object_notify()
4213
4214         * libnm-glib/nm-device-802-11-wireless.c
4215                 - (demarshal_active_ap): distinguish between successfull but missing
4216                         active-ap request, and unsuccessful and missing active-ap request
4217                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4218                         code
4219                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4220                         for the NMClient to notify the device that wireless is disabled,
4221                         and therefore to clear the AP list and active AP
4222                 - Use nm_object_queue_notify() instead of g_object_notify()
4223
4224         * libnm-glib/nm-client.c
4225                 - (poke_wireless_devices_with_rf_status): new function
4226                 - (update_wireless_status): notify wireless devices of the rfkill status
4227                         so they can clean up if needed
4228                 - Use nm_object_queue_notify() instead of g_object_notify()
4229
4230 2008-03-25  Dan Williams  <dcbw@redhat.com>
4231
4232         * libnm-glib/nm-object.c
4233           libnm-glib/nm-object-private.h
4234                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4235                         signals to an idle handler
4236                 - (nm_object_get_property): add a timeout to the D-Bus method call
4237
4238 2008-03-25  Dan Williams  <dcbw@redhat.com>
4239
4240         * introspection/nm-device-cdma.xml
4241           introspection/nm-device-gsm.xml
4242           introspection/Makefile.am
4243           introspection/all.xml
4244                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4245
4246         * src/nm-gsm-device.h
4247           src/nm-gsm-device.c
4248           src/nm-cdma-device.h
4249           src/nm-cdma-device.c
4250           src/Makefile.am
4251                 - Implement PropertiesChanged signals
4252
4253         * libnm-glib/nm-cdma-device.c
4254           libnm-glib/nm-cdma-device.c
4255                 - Attach to PropertiesChanged signals
4256
4257 2008-03-24  Dan Williams  <dcbw@redhat.com>
4258
4259         * libnm-glib/nm-client.c
4260                 - (client_device_added_proxy): add new devices to the internal device
4261                         list so they appear to clients
4262
4263 2008-03-24  Dan Williams  <dcbw@redhat.com>
4264
4265         Massive fixup of libnm-glib to:
4266         a) have all objects (with the exception of VPN) cache their properties and
4267                 update them asynchronously on PropertiesChanged signals from NM
4268         b) return internal const data for most attributes/properties instead of
4269                 allocated values that the caller must free
4270         c) cache wrapped objects such that a given D-Bus path will always map to the
4271                 same GObject returned by libnm-glib
4272         d) remove a few signals and move them to GObject property notifications
4273         e) match recent NM D-Bus API changes for activation/deactivation
4274         f) remove some private functions from libnm-glib headers
4275
4276 2008-03-20  Dan Williams  <dcbw@redhat.com>
4277
4278         * src/nm-manager.c
4279                 - (nm_manager_update_state, manager_device_state_changed,
4280                    nm_manager_activate_device, connection_added_default_handler,
4281                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4282                         queue PropertyChanged singals when the active connections change
4283
4284 2008-03-20  Dan Williams  <dcbw@redhat.com>
4285
4286         * introspection/nm-manager.xml
4287           introspection/nm-manager-client.xml
4288                 - (ActivateConnection): return the object path of the active connection
4289                         on success
4290                 - (GetActiveConnections): remove
4291                 - (DeactivateConnection): new function; deactivate a currently active
4292                         connection
4293                 - Add an ActiveConnections property which returns an array of
4294                         active connection object paths
4295
4296         * introspection/nm-device.xml
4297                 - (Deactivate): remove
4298
4299         * introspection/all.xml
4300                 - Add ActiveConnection introspection
4301
4302         * introspection/nm-active-connection.xml
4303                 - Add the ActiveConnection object
4304
4305         * include/NetworkManager.h
4306                 - Add the Connection.Active D-Bus interface
4307
4308         * src/nm-device-interface.c
4309                 - (impl_device_deactivate): remove
4310
4311         * src/nm-activation-request.c
4312           src/nm-activation-request.c
4313           src/Makefile.am
4314                 - Implement the Connection.Active D-Bus interface
4315
4316         * src/nm-manager.c
4317                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4318                 - (nm_manager_activate_device): return the active connection path
4319                 - (connection_added_default_handler, impl_manager_activate_connection):
4320                         return the active connection to the caller
4321                 - (add_one_connection_element, impl_manager_get_active_connections):
4322                         remove
4323                 - (impl_manager_deactivate_connection): new function; deactivate an
4324                         active connection
4325
4326         * libnm-glib/nm-device.c
4327           libnm-glib/nm-device.h
4328                 - Remove Deactivate() function
4329
4330 2008-03-19  Dan Williams  <dcbw@redhat.com>
4331
4332         * introspection/nm-manager.xml
4333           introspection/nm-manager-client.xml
4334                 - Rename the ActivateDevice method to ActivateConnection to better
4335                         reflect it's usage; it's arguments get reordered a bit too
4336                 - Convert GetActiveConnections method return from a struct to a dict
4337
4338         * include/NetworkManager.h
4339                 - Define the dict keys for return value of GetActiveConnections
4340
4341         * src/nm-manager.c
4342                 - impl_manager_activate_device -> impl_manager_activate_connection
4343                 - (add_one_connection_element): return a populated hash table, not
4344                         a structure
4345
4346         * libnm-glib/nm-client.c
4347           libnm-glib/nm-client.h
4348                 - nm_client_activate_device -> nm_client_activate_connection
4349                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4350                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4351                         instead of the custom structures.  Each element of the returned list
4352                         must be freed with nm_client_free_active_connections_element()
4353
4354 2008-03-18  Dan Williams  <dcbw@redhat.com>
4355
4356         * system-settings/plugins/ifcfg-fedora/parser.c
4357           system-settings/plugins/ifcfg-fedora/parser.h
4358           system-settings/plugins/ifcfg-fedora/plugin.c
4359                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4360                         profiles.  DNS servers and searches must now be stored in the ifcfg
4361                         files themselves
4362
4363 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4364
4365         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4366         print out username and password, it's supposed to be a secret.
4367
4368         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4369         request and set the device state accordingly.
4370
4371 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4372
4373         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4374
4375         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4376
4377 2008-03-18  Dan Williams  <dcbw@redhat.com>
4378
4379         * src/vpn-manager/nm-vpn-connection.c
4380                 - (get_secrets_cb): handle new GetSecrets return format
4381
4382 2008-03-18  Dan Williams  <dcbw@redhat.com>
4383
4384         Adapt system settings service for split 802.1x.
4385
4386         * system-settings/src/nm-system-config-interface.h
4387                 - clarify return value of get_secrets()
4388
4389         * system-settings/src/dbus-settings.c
4390                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4391                 - (check_for_secrets): check if there actually secrets returned by a
4392                         plugin
4393                 - (exported_connection_get_secrets): just return the plugin-returned
4394                         hash of settings' secrets if it looks valid
4395
4396         * system-settings/plugins/ifcfg-fedora/plugin.c
4397                 - (get_secrets): add split secrets with correct format to reply hash
4398
4399         * system-settings/plugins/ifcfg-fedora/parser.c
4400           system-settings/plugins/ifcfg-fedora/parser.h
4401                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4402                    connection_data_free, connection_data_add): keep secrets for
4403                         different settings in different hashes
4404
4405 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4406
4407         Clean up activating device deactivation.
4408
4409         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4410         should be done whether the device activation gets cancelled or the device
4411         is just getting deactivated.
4412         (nm_device_activation_cancel): Remove.
4413         (nm_device_deactivate_quickly): Handle the case where device is activating.
4414
4415         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4416         It does the exact same thing as real_deactivate_quickly().
4417
4418 2008-03-17  Dan Williams  <dcbw@redhat.com>
4419
4420         Split the 802.1x bits out of the wireless-security setting so they are
4421         generalized enough for wired 802.1x to use too.
4422
4423         * introspection/nm-exported-connection.xml
4424                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4425                         of just a hash of the secrets for one setting
4426
4427         * libnm-util/nm-setting-wireless-security.c
4428           libnm-util/nm-setting-wireless-security.h
4429                 - Remove 802.1x-specific stuff
4430                 - Added leap-username and leap-password properties for old-school LEAP
4431
4432         * src/nm-device.c
4433           src/nm-device.h
4434                 - (connection_secrets_updated_cb): take a list of updated settings names,
4435                         not just one
4436
4437         * src/supplicant-manager/nm-supplicant-config.c
4438           src/supplicant-manager/nm-supplicant-config.h
4439                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4440                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4441                         to nm_supplicant_config_add_setting_8021x()
4442                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4443                         the supplicant config
4444
4445         * src/nm-device-802-11-wireless.c
4446                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4447                 - (real_connection_secrets_updated): take a list of updated settings
4448                         names, not just one
4449
4450         * src/nm-device-802-3-ethernet.c
4451           src/nm-cdma-device.c
4452           src/nm-gsm-device.c
4453                 - (real_connection_secrets_updated_cb): take a list of updated settings
4454                         names, not just one
4455
4456         * src/nm-activation-request.c
4457           src/nm-activation-request.h
4458                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4459                         now passes a list of updated settings names, not just one
4460                 - (update_one_setting): new function; handle one updated setting
4461                 - (get_secrets_cb): handle multiple settings returned from the
4462                         settings service; have to be careful of ordering here as there are
4463                         some dependencies between settings (ex. wireless-security and 802.1x
4464                         in some cases)
4465
4466         * src/marshallers/nm-marshal.list
4467                 - new marshaller for connection-secrets-updated signal
4468
4469         * libnm-util/nm-setting-8021x.c
4470                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4471                         methods
4472                 - (verify): a valid 'eap' property is now required
4473
4474         * libnm-util/nm-connection.c
4475                 - (register_default_settings): add priorities to settings; there are
4476                         some dependencies between settings, and during the need_secrets
4477                         calls this priority needs to be respected.  For example, only the
4478                         wireless-security setting knows whether or not the connection is
4479                         going to use 802.1x or now, so it must be asked for secrets before
4480                         any existing 802.1x setting is
4481                 - (nm_connection_lookup_setting_type): expose
4482
4483         * libnm-util/nm-setting-wireless.c
4484                 - (verify): should verify even if all_settings is NULL; otherwise won't
4485                         catch the case where there is missing security
4486
4487         * libnm-util/nm-setting-wireless-security.c
4488                 - Remove everything to do with 802.1x
4489                 - Add old-school LEAP specific properties for username and password
4490                 - (need_secrets): rework LEAP secrets checking
4491                 - (verify): rework for LEAP and 802.1x verification
4492
4493 2008-03-17  Dan Williams  <dcbw@redhat.com>
4494
4495         * src/NetworkManagerPolicy.c
4496                 - (auto_activate_device): always remove the current activation check
4497                         from the pending activation list, otherwise when the policy gets
4498                         destroyed on NM exit it will attempt to free the already freed
4499                         activation check
4500
4501 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4502
4503         * src/backends/NetworkManagerSlackware.c 
4504         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4505
4506         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4507
4508 2008-03-14  Dan Williams  <dcbw@redhat.com>
4509
4510         * src/nm-manager.c
4511                 - (nm_device_interface_get_iface): g_object_get() will return an
4512                         allocated value, so this function must not return const
4513                 - (nm_device_interface_activate): free returned iface
4514
4515 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4516
4517         * libnm-util/Makefile.am: Add new files to build.
4518
4519         * libnm-util/nm-connection.c: Register NMSetting8021x.
4520
4521         * libnm-util/nm-setting-8021x.c
4522         * libnm-util/nm-setting-8021x.h: Implement.
4523
4524 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4525
4526         * libnm-util/Makefile.am: Add new files to build.
4527
4528         * libnm-util/nm-connection.c: Register NMSetting8021x.
4529
4530         * libnm-util/nm-setting-8021x.c
4531         * libnm-util/nm-setting-8021x.h: Implement.
4532
4533 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4534
4535         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4536         data.
4537
4538 2008-03-14  Dan Williams  <dcbw@redhat.com>
4539
4540         * include/wireless-helper.h
4541           include/Makefile.am
4542                 - One place for all the junk needed for #including wireless.h
4543
4544         * test/nm-tool.c
4545           src/NetworkManagerAP.c
4546           src/wpa.c
4547           src/Makefile.am
4548           libnm-util/nm-utils.c
4549           libnm-util/nm-setting-wireless.c
4550           libnm-glib/nm-device-802-11-wireless.c
4551           libnm-glib/nm-access-point.c
4552           libnm-glib/libnm-glib-test.c
4553                 - include wireless-helper.h, not iwlib.h
4554
4555         * configure.in
4556                 - Don't need libiw really, just need to check for wireless.h
4557
4558         * src/kernel-types.h
4559                 - Remove; used types moved into wpa.c
4560
4561         * src/nm-device-802-11-wireless.c
4562                 - (nm_device_802_11_wireless_update_signal_strength,
4563                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4564                    nm_device_802_11_wireless_set_mode,
4565                    nm_device_802_11_wireless_get_frequency,
4566                    nm_device_802_11_wireless_get_ssid,
4567                    nm_device_802_11_wireless_set_ssid,
4568                    nm_device_802_11_wireless_get_bitrate,
4569                    nm_device_802_11_wireless_get_bssid,
4570                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4571                         instead of iwlib functions
4572
4573 2008-03-14  Dan Williams  <dcbw@redhat.com>
4574
4575         * src/ppp-manager/nm-ppp-manager.c
4576                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4577                         should only take the DBusGMethodInvocation argument, not user/pass
4578                         too.  With dbus-glib, async functions only take 2 C arguments since
4579                         the real dbus method arguments get passed back with
4580                         dbus_g_method_return()
4581
4582 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4583
4584         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4585         Adapt the changes of NMSettingIP4Config.
4586
4587 2008-03-13  Dan Williams  <dcbw@redhat.com>
4588
4589         * src/NetworkManagerUtils.c
4590           src/NetworkManagerUtils.h
4591                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4592
4593         * src/NetworkManagerAP.c
4594           src/nm-device-802-11-wireless.c
4595           src/nm-device-802-3-ethernet.c
4596                 - s/iw_ether_ntop/nm_ether_ntop/g
4597
4598 2008-03-13  Dan Williams  <dcbw@redhat.com>
4599
4600         * src/NetworkManagerPolicy.c
4601                 - (update_routing_and_dns): never set the default route through an
4602                         IPv4LL addressed device
4603
4604 2008-03-13  Dan Williams  <dcbw@redhat.com>
4605
4606         * NetworkManagerUtils.c
4607           NetworkManagerUtils.h
4608                 - Remove NMSock stuff
4609                 - Remove the completion stuff
4610
4611         * nm-device.c
4612           nm-device.h
4613           NetworkManager.c
4614           NetworkManagerSystem.c
4615           autoip.c
4616           nm-device-802-11-wireless.c
4617           nm-device-802-3-ethernet.c
4618                 - Remove NMSock and completion stuff
4619                 - Remove nm_ioctl_info()
4620
4621 2008-03-12  Dan Williams  <dcbw@redhat.com>
4622
4623         * src/nm-device.c
4624                 - (merge_ip4_config): avoid duplicates
4625
4626 2008-03-12  Dan Williams  <dcbw@redhat.com>
4627
4628         * libnm-util/nm-setting-ip4-config.c
4629           libnm-util/nm-setting-ip4-config.h
4630                 - Remove 'manual' and 'autoip' properties
4631                 - Add 'method' property
4632                 - (verify): fix verification with 'method'
4633                 - (finalize): free 'method'
4634                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4635                         up for 'method'
4636
4637         * src/nm-device.c
4638                 - (real_act_stage3_ip_config_start): check IP4Config method
4639                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4640                         the future
4641                 - (merge_ip4_config): IP settings are valid with DHCP too
4642                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4643                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4644
4645         * src/nm-device-802-11-wireless.c
4646                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4647                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4648                         only on demand
4649
4650         * system-settings/plugins/ifcfg-fedora/parser.c
4651           system-settings/plugins/ifcfg-suse/parser.c
4652                 - (make_ip4_setting): fix up for 'method'
4653
4654 2008-03-12  Dan Williams  <dcbw@redhat.com>
4655
4656         * system-settings/plugins/ifcfg-fedora/parser.c
4657           system-settings/plugins/ifcfg-fedora/parser.h
4658                 - (get_ifcfg_name): ignore more file suffixes
4659                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4660
4661 2008-03-12  Dan Williams  <dcbw@redhat.com>
4662
4663         * configure.in
4664                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4665
4666 2008-03-12  Dan Williams  <dcbw@redhat.com>
4667
4668         * system-settings/plugins/ifcfg-fedora/plugin.c
4669                 - (write_auto_wired_connection): new function; write out an auto
4670                         wired connection file since the applet isn't doing it any more
4671                 - (reload_all_connections): write out the auto wired connection file
4672                         if there aren't any wired connections already
4673                 - (init): don't leak a GError
4674
4675 2008-03-12  Dan Williams  <dcbw@redhat.com>
4676
4677         * src/nm-device-interface.c
4678                 - (nm_device_interface_activate): print the ID of the connection
4679                         that's about to be activated
4680
4681 2008-03-12  Dan Williams  <dcbw@redhat.com>
4682
4683         Harmonize the 802.11 bitrate API
4684
4685         * introspection/nm-access-point.xml
4686                 - 'Rate' -> 'MaxBitrate'; clarify units
4687
4688         * introspection/nm-device-802-11-wireless.xml
4689                 - Clarify units of 'Bitrate'
4690
4691         * src/NetworkManagerAP.c
4692           src/NetworkManagerAP.h
4693                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4694                         property to 'max-bitrate'
4695                 - (foreach_property_cb): convert rate to Kb/s
4696
4697         * src/nm-device-802-11-wireless.c
4698                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4699
4700         * libnm-glib/nm-access-point.c
4701           libnm-glib/nm-access-point.h
4702                 - 'rate' -> 'max-bitrate'
4703
4704         * test/nm-tool.c
4705           libnm-glib/libnm-glib-test.c
4706                 - Fix up for these changes
4707
4708 2008-03-12  Dan Williams  <dcbw@redhat.com>
4709
4710         * src/nm-device.c
4711                 - (nm_device_set_ip4_config): don't send property notifications when
4712                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4713                         which dbus-glib can't parse because the value is NULL, which isn't
4714                         a legal object path.  Setting the IP4 config to NULL is only
4715                         valid when deactivating a device anyway, so the device state change
4716                         will alert listeners that the ip4 config is invalid.
4717
4718 2008-03-12  Dan Williams  <dcbw@redhat.com>
4719
4720         * src/nm-properties-changed-signal.c
4721                 - (add_to_string): better handling of NULL objects
4722
4723 2008-03-12  Dan Williams  <dcbw@redhat.com>
4724
4725         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4726         convert the libnm-glib NMDevice8023Ethernet to cached properties
4727
4728         * introspection/nm-device-802-3-ethernet.xml
4729                 - New 'Carrier' property
4730                 - New 'PropertiesChanged' signal
4731
4732         * introspection/nm-device.xml
4733                 - Remove 'Carrier' property
4734                 - Remove 'CarrierChanged' signal
4735
4736         * src/nm-device-interface.c
4737           src/nm-device-interface.h
4738                 - (nm_device_interface_init): remove 'carrier' property and
4739                         'carrier-changed' signal
4740
4741         * src/nm-device.c
4742           src/nm-device.h
4743                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4744                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4745                         the link here; wired device will handle that
4746                 - (handle_dhcp_lease_change): don't bother updating link here
4747                 - (get_property, nm_device_class_init): remove carrier property
4748
4749         * src/nm-device-802-11-wireless.c
4750                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4751                         real_update_link(); wireless devices don't use carrier at all
4752                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4753                    supplicant_iface_connection_state_cb_handler,
4754                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4755
4756         * src/nm-device-802-3-ethernet.c
4757           src/nm-device-802-3-ethernet.h
4758                 - (nm_device_802_3_ethernet_carrier_on,
4759                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4760                         instead of nm_device_set_carrier()
4761                 - (device_state_changed): update link from sysfs on activation;
4762                         replaces real_update_link()
4763                 - (real_update_link): remove, replaced by device_state_changed()
4764                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4765                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4766                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4767                         new get_carrier function
4768                 - (get_property): add 'carrier' property
4769                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4770                         hook into property-changed signal helper
4771
4772         * src/NetworkManagerPolicy.c
4773                 - (device_carrier_changed): will only ever be called with a wired device
4774                 - (device_added): only hook up to carrier-changed for wired devices
4775
4776         * libnm-glib/nm-device.c
4777           libnm-glib/nm-device.h
4778                 - (constructor, nm_device_class_init): remove carrier-changed signal
4779                 - (device_carrier_changed_proxy): remove; unused
4780                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4781
4782         * libnm-glib/nm-device-802-3-ethernet.c
4783           libnm-glib/nm-device-802-3-ethernet.h
4784                 - Convert to cached properties like AP and Wireless objects
4785                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4786                         instead of a 'char *', return value should not be freed
4787                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4788                 - (constructor): hook into properties-changed helper
4789                 - (set_property, get_property): new functions
4790                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4791
4792         * test/nm-tool.c
4793                 - (detail_device): strdup the wired hardware address too since it's
4794                         cached now
4795
4796         * libnm-glib/libnm-glib-test.c
4797                 - (dump_wired): strdup the wired hardware address too since it's
4798                         cached now
4799
4800 2008-03-12  Dan Williams  <dcbw@redhat.com>
4801
4802         * libnm-util/nm-setting-ip4-config.c
4803           libnm-util/nm-setting-ip4-config.h
4804                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4805                         the 'autoip' property from the spec
4806
4807 2008-03-11  Dan Williams  <dcbw@redhat.com>
4808
4809         * src/backends/NetworkManagerGeneric.c
4810           src/backends/NetworkManagerGeneric.h
4811                 - (nm_generic_device_get_use_dhcp): remove
4812
4813 2008-03-11  Dan Williams  <dcbw@redhat.com>
4814
4815         * src/nm-device.c
4816                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4817                         already in nm_device_set_ip4_config()
4818                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4819                         due to a DHCP rebind fails
4820                 - (nm_device_set_ip4_config): send property notifications when the
4821                         ip4 config changes
4822                 - (get_property): only report IP4Config property during valid states
4823
4824         * src/NetworkManagerPolicy.c
4825                 - (update_routing_and_dns): ignore devices that don't have an ip4
4826                         config; add parameter 'force_update' to allow callers to specify
4827                         that changes should be made even if the default device doesn't change
4828                 - (device_ip4_config_changed): update DNS and routing when the device's
4829                         IP4Config changes, like for DHCP updates
4830                 - (device_added): listen for ip4-config property changes
4831
4832 2008-03-11  Dan Williams  <dcbw@redhat.com>
4833
4834         Fix address handling as a result of DHCP rebind/renew/reboot.
4835
4836         * src/NetworkManagerSystem.c
4837                 - (check_one_address): delete an address if it doesn't match a given
4838                         one for the same interface
4839                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4840                         be smarter about flushing addresses (only flush ones that don't
4841                         match the one we're about to apply)
4842
4843         * src/backends/NetworkManagerDebian.c
4844           src/backends/NetworkManagerSuSE.c
4845           src/backends/NetworkManagerArch.c
4846           src/backends/NetworkManagerSlackware.c
4847           src/backends/NetworkManagerRedHat.c
4848           src/backends/NetworkManagerPaldo.c
4849           src/backends/NetworkManagerFrugalware.c
4850           src/backends/NetworkManagerGentoo.c
4851                 - (nm_system_delete_default_route): remove
4852
4853         * src/backends/NetworkManagerGeneric.c
4854           src/backends/NetworkManagerGeneric.h
4855                 - (nm_generic_enable_loopback): fix the loopback device label
4856                 - (nm_generic_delete_default_route): remove; no longer used
4857
4858 2008-03-11  Dan Williams  <dcbw@redhat.com>
4859
4860         * src/nm-device-interface.h
4861                 - Delimit property name words with '-', otherwise g_object_notify()
4862                         doesn't work the way we expect
4863
4864 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4865
4866         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4867
4868 2008-03-11  Dan Williams  <dcbw@redhat.com>
4869
4870         * src/NetworkManagerPolicy.c
4871                 - (update_routing_and_dns): don't change anything if the default device
4872                         hasn't changed; print something out when switching the default route
4873                         and DNS
4874
4875 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4876
4877         Implement PPPoE.
4878
4879         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4880         setting. Use "nic-$eth".
4881
4882         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4883         the device is activating here to fix a race condition.
4884
4885         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4886
4887         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4888         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4889         (nm_ppp_manager_start): Take activation request instead of connection, we might
4890         need it for asking secrets.
4891         (nm_ppp_manager_update_secrets): Implement.
4892
4893         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4894         ppp manager start. It might be needed for asking secrets.
4895
4896         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4897         (ppp_state_changed): Handle pppd daemon disappearing.
4898         (pppoe_stage2_config): Send activation request to ppp manager start.
4899
4900         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4901
4902         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4903         username and password.
4904         
4905 2008-03-10  Dan Williams  <dcbw@redhat.com>
4906
4907         * src/nm-device.c
4908                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4909                         response to a DHCP lease change
4910                 - (dhcp_state_changed): handle DHCP lease changes while activated
4911                 - (nm_device_set_ip4_config): remove a previously set named config
4912                         when setting an ip4 config
4913
4914 2008-03-10  Dan Williams  <dcbw@redhat.com>
4915
4916         * src/nm-serial-device.c
4917                 - (nm_serial_device_send_command): report errno on error
4918                 - (get_reply_got_data): limit the size of the overall buffer
4919                 - (wait_for_reply_info_destroy): destroy result string
4920                 - (wait_for_reply_got_data): append received data to an overall buffer
4921                         until timeout, filled buffer, or error instead of keeping a per-call
4922                         buffer.  Some devices send data slowly enough that this function
4923                         gets called multiple times for the same command stream.
4924                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4925                         wait_for_reply_got_data() here
4926
4927 2008-03-10  Dan Williams  <dcbw@redhat.com>
4928
4929         * src/nm-cdma-device.c
4930                 - (do_dial, init_modem): handle errors from
4931                         nm_serial_device_send_command_string()
4932
4933         * src/nm-gsm-device.c
4934                 - (do_dial, manual_registration, automatic_registration_get_network,
4935                    automatic_registration, enter_pin, check_pin, init_modem): handle
4936                         errors from nm_serial_device_send_command_string()
4937
4938 2008-03-10  Dan Williams  <dcbw@redhat.com>
4939
4940         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4941
4942         * src/named-manager/nm-named-manager.c
4943                 - (compute_searches): prefer searches before domains
4944                 - (compute_domain): new function
4945                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4946                 - (merge_one_ip4_config): if there are no searches in the source config,
4947                         merge domains of the source config into the target config
4948                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4949
4950 2008-03-10  Dan Williams  <dcbw@redhat.com>
4951
4952         * src/nm-serial-device.c
4953                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4954                 - (wait_for_reply_got_data): try to handle slower serial devices where
4955                         the reply is broken up into multiple reads by concatenating replies
4956                         together until either an error is received or the search string is
4957                         found
4958
4959 2008-03-10  Dan Williams  <dcbw@redhat.com>
4960
4961         * src/nm-device.c
4962                 - (nm_device_bring_down): deactivate the device if it's activating too,
4963                         not just if it's already activated.  This makes sure that everything
4964                         from an association attempt is cleaned up (like DHCP for example)
4965
4966 2008-03-10  Dan Williams  <dcbw@redhat.com>
4967
4968         * src/nm-serial-device.c
4969                 - (config_fd): report error from TCSETA
4970                 - (nm_serial_device_open): fail when config_fd() fails
4971
4972 2008-03-10  Dan Williams  <dcbw@redhat.com>
4973
4974         * src/nm-ip4-config.c
4975                 - (nm_ip4_config_init): allocate searches list
4976                 - (finalize): free searches list
4977
4978 2008-03-09  Dan Williams  <dcbw@redhat.com>
4979
4980         Patch from Bas Zoetekouw <bas@debian.org>
4981
4982         * src/dhcp-manager/nm-dhcp-manager.c
4983                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
4984
4985 2008-03-09  Dan Williams  <dcbw@redhat.com>
4986
4987         Patch from Bas Zoetekouw <bas@debian.org>
4988
4989         * src/nm-ip4-config.c
4990           src/nm-ip4-config.h
4991                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
4992                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
4993                         domains.  'searches' is the correct way to store multiple search
4994                         domains, whereas 'domains' is really just supposed to store one
4995                         domain.  Some sites abuse the DHCP 'domain-name' option to push
4996                         search domains to the client.
4997                 - (nm_ip4_config_add_domain): group with related functions (my patch)
4998
4999 2008-03-09  Dan Williams  <dcbw@redhat.com>
5000
5001         * src/dhcp-manager/nm-dhcp-manager.c
5002                 - (dhclient_run): send interface-specific config files to dhclient
5003
5004 2008-03-07  Dan Williams  <dcbw@redhat.com>
5005
5006         * system-settings/plugins/ifcfg-fedora/parser.c
5007                 - (is_wireless_device): new function; test a device for wireless
5008                         extensions
5009                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
5010                         test the device for wireless extensions to determine the type
5011
5012 2008-03-07  Dan Williams  <dcbw@redhat.com>
5013
5014         Change manager's StateChange signal to StateChanged for consistency.
5015
5016         * introspection/nm-manager.xml
5017                 - Add 'StateChanged' signal
5018                 - Move 'StateChange' down to the deprecated section
5019
5020         * src/nm-hal-manager.c
5021                 - (nm_hal_manager_new): connect to 'state-changed' instead
5022
5023         * src/NetworkManagerPolicy.c
5024                 - (nm_policy_new): connect to 'state-changed' instead
5025
5026         * src/nm-manager.c
5027           src/nm-manager.h
5028                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
5029                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
5030                         of 'state-change'
5031
5032         * libnm-glib/nm-client.c
5033           libnm-glib/nm-client.h
5034                 - (constructor, nm_client_class_init, client_state_changed_proxy):
5035                         track and proxy 'state-changed' instead of 'state-change'
5036
5037 2008-03-07  Dan Williams  <dcbw@redhat.com>
5038
5039         First pass of multiple active device support.  Expect bugs.
5040
5041         * src/nm-ip4-config.c
5042           src/nm-ip4-config.h
5043                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
5044                         there are better ways to do this in the named manager
5045
5046         * src/nm-device.c
5047           src/nm-device.h
5048                 - (nm_device_can_activate): return whether the device can activate a
5049                         connection right now; taking into account things like carrier state
5050                         and rfkill state
5051                 - (nm_device_get_best_auto_connection): renamed from
5052                         nm_device_get_best_connection
5053                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
5054                         device subclasses themselves, so that each device can override the
5055                         MTU from it's NMSetting subclass if needed
5056                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
5057                         in NetworkManagerSystem.c, not here
5058
5059         * src/named-manager/nm-named-manager.c
5060           src/named-manager/nm-named-manager.h
5061                 - (nm_named_manager_name_owner_changed,
5062                    nm_named_manager_dbus_connection_changed): fix for changes to
5063                         rewrite_resolv_conf()
5064                 - (compute_nameservers): don't need the NMNamedManager at all, remove
5065                         from parameter list
5066                 - (merge_one_ip4_config): new function; merge ip4 configs together
5067                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
5068                         ip4 configs; the VPN config takes precedence, then the best
5069                         device config, then the rest of the configs
5070                 - (get_domain_for_config): take the NMNamedManager as an argument
5071                         to check whether the config is the VPN config
5072                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
5073                         attribute from ip4 configs
5074                 - (add_all_ip4_configs_to_named): add all the configs in priority order
5075                 - (remove_ip4_config_from_named): fix for changes to
5076                         get_domain_for_config()
5077                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
5078                         based on its type; callers must pass in the type now
5079                 - (get_last_default_domain): remove, unused
5080                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
5081
5082         * src/nm-device-802-11-wireless.c
5083                 - (real_can_activate): new function
5084                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5085                 - (real_act_stage4_get_ip4_config): handle MTU override
5086
5087         * src/nm-device-802-3-ethernet.c
5088                 - (real_can_activate): new function
5089                 - (real_get_best_auto_connection): renamed from real_get_best_connection
5090                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
5091
5092         * src/vpn-manager/nm-vpn-connection.c
5093                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
5094                         attribute on the ip4 config
5095
5096         * src/NetworkManagerPolicy.c
5097                 - (nm_policy_auto_get_best_device): remove
5098                 - (nm_policy_device_change_check): remove
5099                 - (update_default_route): new function; set the default route via
5100                         the specified device
5101                 - (get_device_priority): new function; return the priority number of
5102                         a device type WRT which one should have the default route.  Order is
5103                         (highest to lowest)  wired, wireless, GSM, CDMA.
5104                 - (update_routing_and_dns): new function; determine which device should
5105                         have the default route, then update the routing table and DNS
5106                 - (maybe_auto_activate_device): new function; if a device is now
5107                         available for activation, find out what connection it would like to
5108                         activate and do it
5109                 - (schedule_activate_check): new function; if a device can be activated
5110                         now, schedule the activation.  Each device may have only one
5111                         pending activation at a given time.
5112                 - (device_state_changed): if activation was canceled, try again,
5113                         possibly with another connection; if the device was activated,
5114                         update routing and DNS; if the device was deactivated, try again
5115                         with another connection
5116                 - (device_carrier_changed): if there is no carrier, deactivate the
5117                         device; otherwise schedule an activation check for the device
5118                 - (wireless_networks_changed): schedule an activation check for the
5119                         device
5120                 - (device_added): keep track of the signal handler IDs so they can
5121                         be removed when the device goes away
5122                 - (device_removed): remove any signal handlers that might be attached
5123                         to the device; update routing and DNS
5124                 - (schedule_activate_all): new function
5125                 - (connections_added, connection_added, connection_updated): when
5126                         connections change, schedule all devices for an activation check
5127                 - (connection_removed): when a device is deactivated because its
5128                         connection was removed, schedule another activation check for it
5129                 - (nm_policy_destroy): destroy pending activations and disconnect
5130                         all device signal handlers
5131
5132         * src/nm-manager.c
5133                 - (nm_manager_activate_device): if the device was already actived,
5134                         deactivate it
5135                 - (deactivate_old_device): remove
5136                 - (connection_added_default_handler, impl_manager_activate_device):
5137                         don't deactivate other devices when activating this one
5138
5139         * src/backends/NetworkManagerGentoo.c
5140           src/backends/NetworkManagerFrugalware.c
5141           src/backends/NetworkManagerPaldo.c
5142           src/backends/NetworkManagerRedHat.c
5143           src/backends/NetworkManagerSlackware.c
5144           src/backends/NetworkManagerArch.c
5145           src/backends/NetworkManagerSuSE.c
5146           src/backends/NetworkManagerDebian.c
5147                 - (nm_system_get_mtu): remove; MTU should be provided through the
5148                         distro's system settings service plugin instead
5149                 - (nm_system_device_add_default_route_via_device): remove
5150                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5151                 - (nm_system_device_replace_default_route): new function; call
5152                         generic implementation
5153
5154         * src/backends/NetworkManagerGeneric.c
5155           src/backends/NetworkManagerGeneric.h
5156                 - (nm_generic_device_add_default_route_via_device,
5157                    nm_generic_device_add_default_route_via_device_with_iface): remove
5158                 - (nm_generic_device_replace_default_route): replace the default route
5159                         with the given route via some gateway
5160
5161         * src/NetworkManagerSystem.c
5162           src/NetworkManagerSystem.h
5163                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5164                         to routing and DNS; but set the MTU here
5165                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5166                         ip_iface of the active device; use the standard MTU setting function
5167                 - (nm_system_set_mtu): remove
5168                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5169
5170 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5171
5172         Rework the interaction between ppp manager and pppd plugin. Register a well
5173         known DBUS service in manager and let the plugin call it's methods instead
5174         of listening plugin's signals.
5175
5176         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5177         of emitting signals.
5178
5179         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5180
5181         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5182
5183         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5184         nm_ppp_manager_start().
5185
5186         * introspection/nm-ppp-manager.xml: New file.
5187
5188         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5189         the case correctly where driver is trying to send -1 for the speed, which gets
5190         casted to u16 and thus is always > 0.
5191
5192 2008-03-07  Dan Williams  <dcbw@redhat.com>
5193
5194         * src/nm-hal-manager.c
5195                 - (nm_get_device_driver_name): use net.originating_device first, fall
5196                         back to physical device.  HAL has deprecated physical_device.
5197
5198         * libnm-glib/nm-device.c
5199                 - (get_product_and_vendor): use net.originating_device first, fall
5200                         back to physical device.  HAL has deprecated physical_device.
5201                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5202
5203 2008-03-07  Dan Williams  <dcbw@redhat.com>
5204
5205         * src/nm-netlink.c
5206                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5207                         last commit; fix that
5208                 - (get_link_cache): print error string
5209
5210 2008-03-07  Dan Williams  <dcbw@redhat.com>
5211
5212         * src/nm-netlink.c
5213                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5214                         don't need this hack any more (Benoit Boissinot)
5215
5216 2008-03-06  Dan Williams  <dcbw@redhat.com>
5217
5218         * autogen.sh
5219                 - Die gnome-common, die
5220
5221 2008-03-04  Dan Williams  <dcbw@redhat.com>
5222
5223         Patch from Michael Biebl <biebl@debian.org>
5224
5225         * NetworkManager.pc.in
5226                 - doesn't actually depend on dbus-1
5227
5228         * libnm-util/nm-utils.h
5229                 - remove unused #include <dbus/dbus.h>
5230
5231         * libnm-glib/libnm_glib.pc.in
5232                 - depends on glib and dbus-glib
5233
5234 2008-03-02  Dan Williams  <dcbw@redhat.com>
5235
5236         * src/NetworkManagerPolicy.c
5237                 - s/device_state_changed_idle_id/update_state_id/
5238
5239 2008-03-02  Dan Williams  <dcbw@redhat.com>
5240
5241         * src/nm-device.c
5242           src/nm-device.h
5243           src/nm-device-802-11-wireless.c
5244           src/nm-device-802-3-ethernet.c
5245           src/NetworkManagerPolicy.c
5246                 - s/link_active/carrier
5247                 - nm_device_set_active_link() -> nm_device_set_carrier()
5248                 - nm_device_has_active_link() -> nm_device_get_carrier()
5249
5250 2008-03-02  Dan Williams  <dcbw@redhat.com>
5251
5252         * system-settings/plugins/ifcfg-fedora/parser.c
5253                 - (make_wireless_setting): fail connection creation on missing SSID
5254
5255 2008-02-29  Dan Williams  <dcbw@redhat.com>
5256
5257         * src/NetworkManagerPolicy.c
5258                 - (nm_policy_device_change_check): ensure that a previously active
5259                         device with a system connection has a link before denying a switch
5260                         to a user connection
5261
5262 2008-02-29  Dan Williams  <dcbw@redhat.com>
5263
5264         * src/nm-device-802-11-wireless.c
5265                 - (link_timeout_cb): try again if scanning; deactivate the device when
5266                         activated if the link dies
5267                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5268                         15 seconds
5269
5270 2008-02-29  Dan Williams  <dcbw@redhat.com>
5271
5272         * src/nm-device-802-11-wireless.c
5273           src/nm-device-802-11-wireless.h
5274                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5275                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5276                 - (device_cleanup): reset the scan interval lower when the device
5277                         deactivates
5278                 - (can_scan): base decision mostly off device state, not supplicant
5279                         interface state since the supplicant interface state isn't a
5280                         great indicator of whether the device is active or not
5281                 - (request_wireless_scan): clean up; schedule the next scan here
5282                 - (schedule_scan): only back the scan interval off if a new scan
5283                         actually gets scheduled; and make scan intervals tighter when the
5284                         device is disconnected
5285                 - (supplicant_iface_state_cb_handler): fold in the bits of
5286                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5287                         interval to minimum
5288                 - (activation_success_handler): reset scan interval to something
5289                         reasonable 
5290
5291 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5292
5293         reviewed by: Steev <steev@steev.net>
5294
5295         * configure.in:
5296         * src/backends/NetworkManagerGentoo.c:
5297         (nm_system_restart_mdns_responder):
5298                 Howl is no longer a supported mDNS provider
5299
5300 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5301
5302         Get rid of a bunch of unused distro specific functions.
5303
5304 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5305
5306         Implement suse plugin for system settings daemon.
5307
5308         * system-settings/plugins/ifcfg-suse/*: Implement.
5309
5310         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5311         suse.
5312
5313         * configure.in: Check (without failing) for gio.
5314         Create ifcfg-suse plugin's Makefile.
5315
5316 2008-02-20  Dan Williams  <dcbw@redhat.com>
5317
5318         * libnm-util/nm-connection.c
5319           libnm-util/nm-connection.h
5320                 - (nm_connection_compare): accept compare flags and pass them to the
5321                         setting compare function
5322
5323         * libnm-util/nm-setting.c
5324           libnm-util/nm-setting.h
5325                 - (nm_setting_compare): accept compare flags; ignore properties that are
5326                         marked fuzzy
5327
5328         * libnm-util/nm-setting-connection.c
5329           libnm-util/nm-setting-wireless.c
5330           libnm-util/nm-setting-ppp.c
5331           libnm-util/nm-setting-wired.c
5332                 - Mark some setting properties as ignorable when doing a fuzzy compare
5333
5334         * src/nm-device.c
5335                 - (device_activation_precheck): use exact compare
5336
5337 2008-02-20  Dan Williams  <dcbw@redhat.com>
5338
5339         * src/NetworkManagerPolicy.c
5340                 - (nm_policy_device_change_check): get scope off the connection, not
5341                         using the manager helper
5342
5343         * src/nm-manager.c
5344           src/nm-manager.h
5345                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5346                 - (connection_get_settings_cb): set scope and path on connection, not
5347                         using GObject data items
5348                 - (get_connection_for_proxy): don't need to return path, since that
5349                         can be gotten from the connection
5350                 - (get_connection_for_proxy): get path off the connection, not from
5351                         parameters
5352                 - (connection_removed_cb, connection_updated_cb): don't need to get
5353                         path from get_connection_for_proxy(); get scope off the connection
5354                         instead of using GObject data items
5355                 - (connection_added_default_handler, add_one_connection_element): use
5356                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5357                 - (nm_manager_get_connection_dbus_path): remove
5358                 - (nm_manager_get_connection_scope): remove
5359
5360 2008-02-20  Dan Williams  <dcbw@redhat.com>
5361
5362         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5363                 on confusing names
5364
5365         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5366                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5367                 NMExportedConnection
5368
5369         * Internally rename NMConnectionType -> NMConnectionScope
5370
5371         * Provide default implementations of the 'get_id' and 'get_settings' methods
5372                 of NMExportedConnection
5373
5374 2008-02-15  Dan Williams  <dcbw@redhat.com>
5375
5376         * src/nm-device-802-11-wireless.c
5377                 - (device_cleanup): release the AP list here too so that the AP list
5378                         doesn't survive across suspend/resume and up/down.  There is some
5379                         room for optimization, for example blow the list away when the card
5380                         brought back up, but only if the device has only been down for a
5381                         minute or more.
5382
5383 2008-02-15  Dan Williams  <dcbw@redhat.com>
5384
5385         * src/nm-hal-manager.c
5386                 - (modem_device_creator): recognize new HAL modem capabilities
5387
5388 2008-02-12  Dan Williams  <dcbw@redhat.com>
5389
5390         * system-settings/plugins/ifcfg-fedora/plugin.c
5391                 - (watch_path): handle IN_DELETE_SELF too
5392                 - (handle_connection_changed): notify when removing a connection
5393                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5394                         case of a file moving out of the profile directory
5395
5396 2008-02-12  Dan Williams  <dcbw@redhat.com>
5397
5398         * system-settings/plugins/ifcfg-fedora/parser.c
5399                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5400
5401 2008-02-12  Dan Williams  <dcbw@redhat.com>
5402
5403         * libnm-util/nm-utils.c
5404                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5405                         just any empty array
5406
5407 2008-02-12  Dan Williams  <dcbw@redhat.com>
5408
5409         * system-settings/src/nm-system-config-interface.c
5410           system-settings/src/nm-system-config-interface.h
5411                 - (load_connections): get_connections() should now return an allocated
5412                         GSList that the system settings service will free
5413
5414         * system-settings/plugins/ifcfg-fedora/plugin.c
5415           system-settings/plugins/ifcfg-fedora/parser.h
5416           system-settings/plugins/ifcfg-fedora/parser.c
5417                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5418                         in the profile directory, handle resolv.conf file changes
5419
5420 2008-02-10  Dan Williams  <dcbw@redhat.com>
5421
5422         * src/nm-device-802-3-ethernet.c
5423                 - (real_bring_up): save the supplicant interface state signal id
5424                 - (real_bring_down): disconnect from the supplicant interface state
5425                         signal
5426
5427 2008-02-07  Dan Williams  <dcbw@redhat.com>
5428
5429         * initscript/RedHat/NetworkManager.in
5430           initscript/RedHat/NetworkManagerDispatcher.in
5431                 - Add new-style LSB init headers
5432
5433 2008-02-07  Dan Williams  <dcbw@redhat.com>
5434
5435         * system-settings/src/dbus-settings.c
5436           system-settings/src/dbus-settings.h
5437                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5438                         table of secrets
5439                 - (connection_settings_get_secrets): consolidate error returns into
5440                         one place; use the new get_secrets() plugin interface function to
5441                         get secrets from the plugin itself rather than using GObject data
5442                         magic
5443
5444         * system-settings/src/main.c
5445                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5446                    load_connections): keep a private list of the plugin-returned
5447                         connections, don't use the plugin's GSList
5448
5449         * system-settings/plugins/ifcfg-fedora/plugin.c
5450                 - (watch_path): watch the path, not the filename (duh)
5451                 - (reload_all_connections): use the direct hash/equal functions; the
5452                         ones for int aren't appropriate here
5453                 - (get_secrets, system_config_interface_init): implement the
5454                         get_secrets() function
5455                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5456                         now in the connection's ConnectionData instead of being a GObject
5457                         data property
5458                 - (handle_profile_item_changed): ifcfg file path is now in the
5459                         connection's ConnectionData instead of being a GObject data property;
5460                         be sure to copy secrets over from the new connection to the existing
5461                         connection when updating the connection's settings
5462                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5463                         file descriptor
5464
5465         * system-settings/plugins/ifcfg-fedora/parser.c
5466           system-settings/plugins/ifcfg-fedora/parser.h
5467                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5468                    connection_data_copy_secrets, connection_data_free,
5469                    connection_data_add): new functions; connection data manipulation
5470                 - (make_wireless_security_setting): stuff secrets into the
5471                         connection data, not as GObject data items; make sure to close
5472                         the keys ifcfg file
5473                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5474                         connection data to the connection
5475
5476 2008-02-07  Dan Williams  <dcbw@redhat.com>
5477
5478         * system-settings/src/nm-system-config-interface.c
5479           system-settings/src/nm-system-config-interface.h
5480                 - Add a get_secrets() interface function to retrieve secrets for a
5481                         specific setting of a specific connection.  Document the interface
5482                         a bit more too.
5483
5484 2008-02-07  Dan Williams  <dcbw@redhat.com>
5485
5486         * src/nm-device-802-11-wireless.c
5487                 - (handle_auth_or_fail): new function; consolidate device activation
5488                         failure check after a certain number of failures getting secrets
5489                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5490                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5491                         the connection if secrets were requested more than a few times
5492                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5493                         tries here; otherwise they are cleared before the IP configure
5494                         timeout, which happens with open system WEP when key is wrong
5495                 - (activation_success_handler): clear wireless secrets tries here too
5496
5497 2008-02-07  Dan Williams  <dcbw@redhat.com>
5498
5499         * src/NetworkManagerPolicy.c
5500                 - (connection_updated): clear invalid tag when connection gets updated
5501                         to allow that connection to be tried again
5502                 - (nm_policy_new): save signal ids so they can be disconnected when
5503                         the policy is destroyed
5504                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5505                         and disconnect all signals from the manager object so that none
5506                         of the policy functions gets called after the policy is destroyed
5507
5508 2008-02-06  Dan Williams  <dcbw@redhat.com>
5509
5510         * src/nm-manager.c
5511                 - (finalize): remove devices a bit earlier; clean up system settings
5512                         poke
5513                 - (nm_manager_name_owner_changed): clean up system settings poke when
5514                         the service appears, and try to restart it if it fails
5515                 - (poke_system_settings_daemon_cb): try to get the system settings
5516                         service started through D-Bus service activation
5517                 - (initial_get_connections): start the system settings daemon if it's
5518                         not already running
5519
5520 2008-02-05  Dan Williams  <dcbw@redhat.com>
5521
5522         * src/supplicant-manager/nm-supplicant-config.c
5523                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5524                         broadcast networks too
5525
5526 2008-02-04  Dan Williams  <dcbw@redhat.com>
5527
5528         * system-settings/plugins/ifcfg-fedora/parser.c
5529                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5530                         need key_mgmt set too
5531                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5532                         .bak files; ensure that an error is set whenever NULL gets returned
5533
5534 2008-02-04  Dan Williams  <dcbw@redhat.com>
5535
5536         * system-settings/src/Makefile.am
5537                 - Install D-Bus service activation file for the system settings
5538                         service
5539
5540         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5541                 - D-Bus service activation file for system settings service
5542
5543 2008-02-04  Dan Williams  <dcbw@redhat.com>
5544
5545         * system-settings/src/main.c
5546                 - (parse_config_file): parse a config file
5547                 - (main): accept --config option and read plugins from config file
5548
5549 2008-02-04  Dan Williams  <dcbw@redhat.com>
5550
5551         * system-settings/plugins/ifcfg-fedora/plugin.c
5552                 - Change reported name to 'ifcfg-fedora'
5553                 - Use IFCFG_PLUGIN_NAME
5554
5555         * system-settings/plugins/ifcfg-fedora/plugin.c
5556                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5557
5558 2008-02-04  Dan Williams  <dcbw@redhat.com>
5559
5560         * system-settings/plugins/ifcfg-fedora/parser.c
5561                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5562                 - (make_connection_setting): use get_ifcfg_name()
5563                 - (make_wireless_security_setting): handle shadow key files
5564                 - (get_one_wep_key): treat empty string as NULL
5565
5566 2008-02-04  Dan Williams  <dcbw@redhat.com>
5567
5568         * src/supplicant-manager/nm-supplicant-manager.c
5569                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5570                         glib automatically reschedule
5571                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5572                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5573                         the supplicant
5574
5575 2008-02-01  Dan Williams  <dcbw@redhat.com>
5576
5577         * src/NetworkManagerPolicy.c
5578                 - (device_state_changed): schedule a change check when a device gets
5579                         deactivated so something happens if you disconnect GSM/CDMA
5580
5581 2008-01-31  Dan Williams  <dcbw@redhat.com>
5582
5583         * src/nm-device-802-11-wireless.h
5584           src/nm-device-802-11-wireless.c
5585                 - (ap_list_get_ap_by_ssid, is_associated,
5586                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5587                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5588                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5589                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5590                         function
5591
5592 2008-01-30  Dan Williams  <dcbw@redhat.com>
5593
5594         * system-settings/plugins/ifcfg
5595         * system-settings/plugins/ifcfg-fedora
5596                 - Move the ifcfg plugin to ifcfg-fedora
5597
5598 2008-01-24  Dan Williams  <dcbw@redhat.com>
5599
5600         * libnm-glib/nm-device-802-11-wireless.c
5601                 - (get_access_point): move the "/" check here; check for invalid path
5602                         too
5603                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5604                         to get_access_point()
5605                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5606                         to send signals for non-existent access points
5607
5608 2008-01-24  Dan Williams  <dcbw@redhat.com>
5609
5610         * libnm-glib/nm-device-802-11-wireless.c
5611                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5612
5613 2008-01-23  Dan Williams  <dcbw@redhat.com>
5614
5615         * libnm-glib/libnm_glib.c
5616                 - (libnm_glib_init): make thread joinable
5617                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5618
5619 2008-01-23  Dan Williams  <dcbw@redhat.com>
5620
5621         * test/libnm_glib_test.c
5622                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5623                 - (main): set up signal handlers; call libnm_glib_shutdown
5624
5625 2008-01-21  Dan Williams  <dcbw@redhat.com>
5626
5627         * include/NetworkManager.h
5628                 - Add CDMA mobile broadband card device type
5629
5630         * src/nm-hal-manager.c
5631                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5632                         must now be tagged with 'cdma' or 'gsm' capability
5633
5634         * src/nm-cdma-device.c
5635           src/nm-cdma-device.h
5636           src/Makefile.am
5637                 - Add the CDMA mobile broadband card device class
5638
5639         * libnm-util/nm-connection.c
5640                 - (register_default_settings): add NMSettingCdma
5641
5642         * libnm-util/nm-setting-cdma.c
5643           libnm-util/nm-setting-cdma.h
5644           libnm-util/Makefile.am
5645                 - Add the CDMA mobile broadband card setting class
5646
5647         * libnm-glib/nm-cdma-device.c
5648           libnm-glib/nm-cdma-device.h
5649           libnm-glib/Makefile.am
5650                 - Add the CDMA mobile broadband card GLib proxy class
5651
5652         * libnm-glib/nm-client.c
5653                 - (get_device): handle CDMA devices too
5654
5655 2008-01-21  Dan Williams  <dcbw@redhat.com>
5656
5657         * src/ppp-manager/nm-ppp-manager.c
5658                 - (ip4_config_get): set peer address too
5659
5660         * src/ppp-manager/nm-pppd-plugin.c
5661                 - (nm_ip_up): try harder to get the peer's address
5662
5663         * src/NetworkManagerSystem.c
5664                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5665                         address, use that too.  Otherwise, some PPP connections won't work.
5666
5667 2008-01-19  Dan Williams  <dcbw@redhat.com>
5668
5669         * src/NetworkManagerPolicy.c
5670                 - (nm_policy_device_change_check): system connections override user
5671                         connections; don't activate a user connection if there's a currently
5672                         active system connection, and new, better system connections always
5673                         interrupt user connections
5674
5675 2008-01-19  Dan Williams  <dcbw@redhat.com>
5676
5677         * src/nm-manager.h
5678                 - (nm_manager_get_connection_type): new function
5679
5680 2008-01-19  Dan Williams  <dcbw@redhat.com>
5681
5682         * src/nm-device-802-11-wireless.c
5683                 - (real_get_best_connection): collapse find_best_connection() into this
5684                         function
5685
5686 2008-01-19  Dan Williams  <dcbw@redhat.com>
5687
5688         * src/nm-device-802-3-ethernet.c
5689                 - (real_get_best_connection): collapse find_best_connection() into this
5690                         function
5691
5692 2008-01-18  Dan Williams  <dcbw@redhat.com>
5693
5694         * src/nm-device-802-3-ethernet.c
5695                 - (find_best_connection): check MAC address too
5696                 - (real_get_best_connection): let autoconnect=True connections activate
5697                         for devices that don't have carrier detection
5698
5699         * src/nm-device-802-11-wireless.c
5700                 - (find_best_connection): check MAC address too
5701
5702 2008-01-18  Dan Williams  <dcbw@redhat.com>
5703
5704         * system-settings/plugins/ifcfg/parser.c
5705                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5706
5707 2008-01-17  Dan Williams  <dcbw@redhat.com>
5708
5709         * src/nm-device-802-3-ethernet.c
5710                 - (nm_device_802_3_ethernet_carrier_on,
5711                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5712                         carrier events that might come in for devices that don't support
5713                         carrier detect
5714
5715 2008-01-17  Dan Williams  <dcbw@redhat.com>
5716
5717         * src/nm-device-interface.c
5718                 - (nm_device_interface_check_connection_conflicts): need to actually
5719                         get the interface, not cast to the object
5720
5721         * src/nm-device.c
5722                 - (nm_device_check_connection_conflicts): need to get the device class,
5723                         not cast the device to the device class
5724
5725 2008-01-17  Dan Williams  <dcbw@redhat.com>
5726
5727         * src/nm-device-802-11-wireless.c
5728                 - (real_check_connection_conflicts): ignore connections that aren't
5729                         wireless connections
5730
5731 2008-01-17  Dan Williams  <dcbw@redhat.com>
5732
5733         * src/NetworkManagerPolicy.c
5734                 - (nm_policy_device_change_check): clear change check idle here
5735                 - (device_change_check_done): remove
5736                 - (schedule_change_check): simplify
5737
5738 2008-01-17  Dan Williams  <dcbw@redhat.com>
5739
5740         * src/nm-manager.c
5741                 - (check_connection_allowed): take an NMDeviceInterface instead of
5742                         an NMDevice object as an argument
5743                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5744                         check_connection_allowed()
5745
5746 2008-01-13  Dan Williams  <dcbw@redhat.com>
5747
5748         * libnm-glib/nm-device-802-11-wireless.c
5749                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5750
5751 2008-01-12  Dan Williams  <dcbw@redhat.com>
5752
5753         * src/nm-device-802-11-wireless.c
5754                 - (activation_success_handler): if a match was found in the scan list
5755                         and that match is a hidden AP, update that AP's SSID
5756
5757 2008-01-11  Dan Williams  <dcbw@redhat.com>
5758
5759         * src/NetworkManagerAP.c
5760                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5761
5762         * src/nm-device-802-11-wireless.c
5763                 - (get_active_ap): do two passes over the scan list if the caller
5764                         requests that hidden APs get matched too; during the second pass
5765                         when matching hidden APs, ignore the SSID since hidden APs in the
5766                         scan list don't have an SSID yet
5767                 - (periodic_update): move some checks to
5768                         nm_device_802_11_periodic_update() because not all callers need them
5769                 - (nm_device_802_11_periodic_update): move some checks here from
5770                         perodic_update()
5771                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5772                         matching on incoming scan results, because the fake AP's flags
5773                         might be slightly different (yet still compatible) with the incoming
5774                         scan result's flags and they might actually be the same AP; update
5775                         the rate on merged APs too
5776                 - (activation_success_handler): update the frequency of the fake AP
5777                         on successful connection; match hidden APs too since if the
5778                         current AP is fake, there might already be a scan result in the
5779                         scan list for the desired AP, just without it's SSID filled in yet
5780
5781 2008-01-10  Dan Williams  <dcbw@redhat.com>
5782
5783         * src/NetworkManagerAP.c
5784                 - (foreach_property_cb): catch more hidden SSID formats
5785
5786 2008-01-10  Dan Williams  <dcbw@redhat.com>
5787
5788         Fix gnome.org #464215.  Requires the kernel patch titled
5789         "Introduce WEXT scan capabilities" but will handle the patch not being
5790         present, you'll just continue to have problems with hidden SSIDs when
5791         using mac80211-based drivers.
5792
5793         * src/supplicant-manager/nm-supplicant-config.h
5794           src/supplicant-manager/nm-supplicant-config.c
5795                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5796                         whether the driver supports SSID scans or not.  If it does, and if
5797                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5798
5799         * src/nm-device-802-11-wireless.c
5800                 - (constructor): check whether or not the driver supports SSID scans
5801                 - (build_supplicant_config): pass driver SSID scan capability when
5802                         building the wireless bits of the supplicant config
5803
5804 2008-01-09  Dan Williams  <dcbw@redhat.com>
5805
5806         * src/nm-device.c
5807           src/nm-device.h
5808                 - (device_activation_precheck, check_connection_complete): remove this
5809                         virtual function; incomplete connections should be invalid by
5810                         definition, complete-ness should be checked in the setting's
5811                         verify function
5812
5813         * src/nm-serial-device.c
5814           src/nm-gsm-device.c
5815                 - (real_check_connection_complete): remove
5816
5817         * libnm-util/nm-setting-serial.c
5818                 - (verify): new function; ensure there is a PPP setting too
5819
5820         * libnm-util/nm-setting-gsm.c
5821                 - (verify): ensure there is a serial setting too
5822
5823 2008-01-06  Dan Williams  <dcbw@redhat.com>
5824
5825         * src/dhcp-manager/nm-dhcp-manager.c
5826                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5827                         (gnome.org #332953)
5828
5829 2008-01-04  Dan Williams  <dcbw@redhat.com>
5830
5831         * src/named-manager/nm-named-manager.c
5832                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5833                         nameservers if the secondary config doesn't have any
5834                         (gnome.org #346833)
5835
5836 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5837
5838         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5839         with G_PARAM_CONSTRUCT so that they get the default values.
5840
5841         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5842         the monitoring device and prints out the output for now. Or more precicely, doesn't
5843         do absolutely anything right now since the montoring device argument is never set.
5844
5845         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5846         requires it's own knob to turn it on.
5847         (config_fd): Add NMSettingSerial to the arguments list.
5848         (nm_serial_device_open): Ditto.
5849         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5850         (nm_serial_device_get_io_channel): Implement.
5851
5852         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5853         a new reference every time (and forgetting to release it sometimes) is a pain and
5854         it's not like NMManager could work without dbus.
5855         (nm_manager_add_device): Register the added device on dbus here.
5856
5857         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5858         device.
5859
5860         * src/nm-device.c (constructor): Don't export the device here, instead export
5861         it when it's added to the NMManager's device list.
5862
5863 2007-12-31  Dan Williams  <dcbw@redhat.com>
5864
5865         * src/nm-device-interface.c
5866           src/nm-device-interface.h
5867                 - (nm_device_interface_check_connection_conflicts): new function
5868
5869         * src/nm-device.c
5870           src/nm-device.h
5871                 - (nm_device_check_connection_conflicts): new function
5872                 - (device_activation_precheck): don't require subclasses to implement
5873                         check_connection_complete()
5874                 - check_connection() -> check_connection_complete()
5875
5876         * src/nm-device-802-11-wireless.c
5877                 - (real_check_connection): remove; unused
5878                 - (real_check_connection_conflicts): implement, handle lockdown for
5879                         system connections
5880
5881         * src/nm-device-802-3-ethernet.c
5882                 - (real_check_connection): remove; unused
5883
5884         * src/nm-manager.c
5885                 - (check_connection_allowed): new function
5886                 - (nm_manager_activate_device): ensure the connection being requested
5887                         is allowed to be activated
5888
5889         * src/nm-serial-device.c
5890           src/nm-gsm-device.c
5891                 - real_check_connection() -> real_check_connection_complete()
5892
5893 2007-12-27  Dan Williams  <dcbw@redhat.com>
5894
5895         * src/nm-device-interface.c
5896           src/nm-device-interface.h
5897                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5898                         normalize and expand errors
5899                 - (nm_device_interface_init): register errors so they can be marshalled
5900                         through dbus-glib
5901                 - (nm_device_interface_activate): ensure that failure of activation
5902                         returns an error
5903
5904         * src/nm-device.c
5905           src/nm-device.h
5906                 - (device_activation_precheck): implementations of check_connection()
5907                         now take a GError and must fill it in if the check fails.  Return
5908                         more descriptive error if the requested connection is already
5909                         activating
5910                 - (nm_device_activate): actually try to return descriptive errors on
5911                         failures
5912
5913         * src/nm-device-802-11-wireless.c
5914           src/nm-device-802-3-ethernet.c
5915           src/nm-serial-device.c
5916           src/nm-gsm-device.c
5917                 - (real_check_connection): return more descriptive errors on failure
5918
5919         * src/NetworkManagerPolicy.c
5920                 - (nm_policy_device_change_check): print activation errors in the logs
5921
5922         * src/nm-manager.c
5923                 - (nm_manager_error_quark, nm_manager_error_get_type,
5924                    nm_manager_class_init): new errors
5925                 - (nm_manager_activate_device): handle errors
5926                 - (nm_manager_error_new): removed
5927                 - (wait_for_connection_expired, connection_added_default_handler,
5928                    impl_manager_activate_device): better error handling
5929
5930 2007-12-27  Dan Williams  <dcbw@redhat.com>
5931
5932         Fixes gnome.org #466954
5933
5934         * src/supplicant-manager/nm-supplicant-settings-verify.c
5935                 - Allow 'frequency' network property
5936
5937         * src/supplicant-manager/nm-supplicant-config.c
5938           src/supplicant-manager/nm-supplicant-config.h
5939                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5940                         for callers to specify the frequency an Ad-Hoc network should operate
5941                         on.  Some drivers require this to successfully create an Ad-Hoc
5942                         network.
5943
5944         * src/nm-device-802-11-wireless.c
5945                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5946                         guint32 value in MHz
5947                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5948                         iw_freq_to_uint32()
5949                 - (find_supported_frequency): new function; find a free supported
5950                         frequency for a user-created Ad-Hoc network
5951                 - (build_supplicant_config): if no frequency was specified for a user-
5952                         created Ad-Hoc network, find a free one to use
5953                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5954                         a specific object as user-created
5955
5956 2007-12-27  Dan Williams  <dcbw@redhat.com>
5957
5958         * libnm-util/nm-utils.c
5959           libnm-util/nm-utils.h
5960                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
5961                         for adhoc networks
5962
5963 2007-12-24  Dan Williams  <dcbw@redhat.com>
5964
5965         * libnm-util/nm-setting-wireless.c
5966                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
5967                         185, 187, 188, 192, and 196
5968
5969 2007-12-24  Dan Williams  <dcbw@redhat.com>
5970
5971         * src/nm-device-802-11-wireless.c
5972                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
5973                         a channel # instead of a frequency
5974
5975 2007-12-24  Dan Williams  <dcbw@redhat.com>
5976
5977         * src/NetworkManagerAP.c
5978           src/NetworkManagerAP.h
5979                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
5980                 - (freq_to_channel): handle split band tables
5981                 - (channel_to_freq): handle split band tables, take a band argument
5982
5983 2007-12-24  Dan Williams  <dcbw@redhat.com>
5984
5985         * libnm-util/nm-setting-connection.h
5986           libnm-util/nm-setting-connection.c
5987                 - Add 'lockdown' member
5988
5989 2007-12-22  Dan Williams  <dcbw@redhat.com>
5990
5991         * libnm-util/nm-setting-wireless.c
5992                 - (nm_setting_wireless_class_init): add missing 'rate' property
5993                         specification
5994
5995 2007-12-18  Dan Williams  <dcbw@redhat.com>
5996
5997         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
5998
5999         * src/nm-netlink-monitor.c
6000           src/nm-netlink-monitor.h
6001                 - Remove handrolled netlink, use libnl instead
6002
6003         * src/nm-device-802-3-ethernet.c
6004                 - (constructor, nm_device_802_3_ethernet_carrier_off,
6005                    nm_device_802_3_ethernet_carrier_on): use new names
6006
6007 2007-12-17  Dan Williams  <dcbw@redhat.com>
6008
6009         * configure.in
6010                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
6011                         and fixes memory leaks)
6012
6013         * src/nm-netlink.c
6014                 - (nm_netlink_get_default_handle): handle new versions of libnl that
6015                         automatically handle the netlink PID
6016
6017 2007-12-17  Dan Williams  <dcbw@redhat.com>
6018
6019         Patch from Michael Biebl <biebl@debian.org>
6020
6021         * configure.in
6022           src/ppp-manager/Makefile.am
6023                 - fix up install dir of pppd plugin
6024                 - clean up configure.in a bit
6025
6026 2007-12-12  Dan Williams  <dcbw@redhat.com>
6027
6028         * system-settings/src/nm-system-settings.conf
6029                 - Allow non-root clients (like the applet) to read settings
6030
6031 2007-12-10  Tambet Ingo  <tambet@gmail.com>
6032
6033         * Replace all occurences of 'UMTS' with 'GSM'.
6034
6035 2007-12-07  Dan Williams  <dcbw@redhat.com>
6036
6037         * src/nm-serial-device.c
6038                 - (real_is_up): serial devices are always "up"
6039
6040 2007-12-07  Dan Williams  <dcbw@redhat.com>
6041
6042         * src/nm-netlink.c
6043           src/NetworkManagerSystem.c
6044                 - (new_nl_handle): ensure that the same netlink pid is never chosen
6045                         twice (gnome.org #491047)
6046                 - Make more robust against allocation-related failures should they occur
6047
6048 2007-12-07  Dan Williams  <dcbw@redhat.com>
6049
6050         Noticed by Christian Persch <chpe@gnome.org>
6051
6052         Always chain up to parent object in dispose and finalize handlers.
6053                 (gnome.org #433112)
6054
6055 2007-12-07  Dan Williams  <dcbw@redhat.com>
6056
6057         * src/nm-device-802-11-wireless.c
6058                 - Wrap #include of linux/mii.h to fix redefined structures due to
6059                         incorrect kernel headers (gnome.org #350061)
6060
6061 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6062
6063         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
6064         before doing anything else.
6065         (init_modem): Move modem initialization here.
6066
6067         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
6068         (nm_serial_device_flash): Implement.
6069
6070         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
6071         changes signal is "StateChanged" and not "Status".
6072         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
6073
6074 2007-12-06  Dan Williams  <dcbw@redhat.com>
6075
6076         * src/supplicant-manager/nm-supplicant-config.c
6077                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
6078                         to only send some options when they make sense; also send phase2
6079                         option to the supplicant (possible fix for rh #399631)
6080
6081 2007-12-06  Tambet Ingo  <tambet@gmail.com>
6082
6083         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
6084         arguments: This whole file shouldn't really know anything about NMDevices, it
6085         should deal only with device interfaces. Devices might have different ifaces for
6086         different stuff and this place shouldn't know anything about it.
6087
6088         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
6089         (global_state_changed): Implement. In the current NM it's not really important,
6090         but will be required in the case of multiple active devices. (Or even better,
6091         if stuff like that gets moved out from NM).
6092
6093         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
6094         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
6095         instead.
6096
6097         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
6098         devices like serial devices (ttyS0 and ppp0 for example).
6099         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
6100         set.
6101         (nm_device_set_ip_iface): Implement.
6102         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
6103         after setting ip4_config from here ...
6104         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
6105         than this function should call nm_system_device_set_from_ip4_config() because no
6106         other code has enough information on which arguments to use. So instead, other code
6107         could just set the new ip4 config using this function and everyone is happy.
6108
6109         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
6110         if we happen to get deactivated while something is pending.
6111         (automatic_registration): Handle the response that indicates pending network
6112         registration and wait until the pending registration is done.
6113         (real_deactivate_quickly): If there's a pending operation, cancel it.
6114
6115         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
6116         (real_deactivate_quickly): ... and remove it when it's down.
6117         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
6118         it if needed.
6119         (nm_serial_device_wait_for_reply): Ditto.
6120
6121 2007-12-05  Tambet Ingo  <tambet@gmail.com>
6122
6123         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
6124         (get_network_done): Remove newline, nm_info() does it already.
6125         (real_act_stage1_prepare): Turn the modem echo off.
6126
6127         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
6128         device, set the route to the device interface. This is a hack.
6129
6130         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
6131         return, no need for a new-line.
6132         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
6133         Change the device iface here (ugh).
6134         (real_act_stage4_get_ip4_config): Implement.
6135         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
6136         Restore the device iface.
6137
6138         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
6139         device is not wired or wireless (eg, automatically upped) device.
6140
6141         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
6142         it isn't.
6143         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
6144
6145         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6146         before calling it's is_device_fn().
6147
6148 2007-12-05  Dan Williams  <dcbw@redhat.com>
6149
6150         * libnm-util/nm-utils.c
6151                 - (nm_utils_register_value_transformations,
6152                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6153                         GHashTables of GValues too
6154
6155 2007-12-04  Dan Williams  <dcbw@redhat.com>
6156
6157         * initscript/RedHat/NetworkManager.in
6158                 - No longer start named; it's D-Bus interface is going away
6159
6160 2007-12-04  Dan Williams  <dcbw@redhat.com>
6161
6162         Patch from Michael Biebl <biebl@debian.org>
6163
6164         * system-settings/plugins/ifcfg/Makefile.am
6165           system-settings/src/main.c
6166           system-settings/src/Makefile.am
6167                 - Put system settings plugins in NM plugins dir
6168
6169         * src/ppp-manager/Makefile.am
6170           src/ppp-manager/nm-ppp-manager.c
6171                 - Move pppd plugin to NM plugins dir
6172
6173 2007-12-04  Dan Williams  <dcbw@redhat.com>
6174
6175         * libnm-util/nm-setting-vpn-properties.h
6176                 - Clarify usage of the 'data' member of the setting
6177
6178         * libnm-util/nm-setting-vpn-properties.c
6179                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6180                 - (set_property): just remove all the settings; don't recreate the has
6181                 - (update_one_secret): don't need to create the hash table here since
6182                         it should always be present
6183
6184 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6185
6186         Implement PIN and PUK requesting.
6187
6188         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6189         (enter_pin): Handle PIN and PUK requests.
6190         (real_act_stage1_prepare): Clear the secret type.
6191         (real_connection_secrets_updated): Implement this class method to get
6192         notified when new secrets arrive.
6193         (nm_umts_device_class_init): Add private data back to the umts device class
6194         to store the required secret type.
6195
6196 2007-12-01  Dan Williams  <dcbw@redhat.com>
6197
6198         * system-settings/plugins/ifcfg/parser.c
6199                 - (parser_parse_file): don't try to verify NULL connections
6200
6201 2007-12-01  Dan Williams  <dcbw@redhat.com>
6202
6203         * system-settings/src/main.c
6204                 - (load_connections, add_connection_to_settings): actually export
6205                         plugin-provided connections over D-Bus so NM can get them
6206
6207 2007-12-01  Dan Williams  <dcbw@redhat.com>
6208
6209         * system-settings/plugins/ifcfg/parser.c
6210           system-settings/plugins/ifcfg/parser.h
6211           system-settings/plugins/ifcfg/plugin.c
6212                 - Hook up more inotify bits (untested)
6213
6214 2007-11-29  Dan Williams  <dcbw@redhat.com>
6215
6216         * system-settings/src/nm-system-config-interface.h
6217           system-settings/src/nm-system-config-interface.c
6218                 - (nm_system_config_interface_init,
6219                    nm_system_config_interface_get_connections): add
6220
6221         * system-settings/src/main.c
6222                 - (load_plugins, load_connections, main): use a GSList for plugins
6223                         to ensure priority ordering
6224
6225         * system-settings/plugins/ifcfg/parser.c
6226                 - (ifcfg_error_quark): move to plugin.c, and rename
6227
6228         * system-settings/plugins/ifcfg/plugin.h
6229           system-settings/plugins/ifcfg/plugin.c
6230                 - (ifcfg_plugin_error_quark): move here from parser.c
6231                 - rework connection loading and initialization
6232                 - Add preliminary inotify support for network profile config file
6233
6234 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6235
6236         Merge the beginnings of the new GSM card support.
6237
6238         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6239         ppp watch source before killing pppd - If this happens from g_object_unref()
6240         then the ppp manager is already destroyed by the time the watch callback runs.
6241
6242         * src/nm-hal-manager.c: Add a device_type_name string to the device
6243         creators, so that we can print a nice human readable string when a
6244         device is added.
6245
6246         * src/nm-umts-device.c (automatic_registration_get_network): Query
6247         for the activated network, not much is done with the result thought.
6248
6249         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6250         (ppp_ip4_config): Change the device state to activated here for now.
6251         (real_check_connection): Make sure the connection includes ppp setting.
6252
6253         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6254
6255         * libnm-glib/Makefile.am: Add the new files to build.
6256
6257         * libnm-glib/nm-umts-device.c: 
6258         * libnm-glib/nm-umts-device.h: Implement.
6259
6260 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6261
6262         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6263         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6264
6265         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6266         the timeout source - this function is only called when the timeout source has
6267         been removed.
6268         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6269         to be big enough to contain the terminating zero element as well.
6270         The timeout argument is meant to be in seconds now.
6271         (real_deactivate_quickly): Implement.
6272
6273         * src/NetworkManager.conf: Allow root to own 
6274         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6275
6276         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6277         (not unsigned ints).
6278
6279         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6280         small issue with parity bounds - capital letters have lower ascii codes
6281         than lower case letters.
6282
6283         * libnm-util/nm-connection.c (register_default_settings): Register serial
6284         and umts settings.
6285
6286 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6287
6288         Remove the "index" property from devices as not all device types have this.
6289
6290         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6291
6292         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6293         (wired_device_creator): Get the device interface from hal to create the device.
6294         (wireless_device_creator): Ditto.
6295
6296         * src/nm-device.c (nm_device_init): Remove the index member.
6297         (constructor): Remove the checks for index property, make interface property
6298         a require constructor property.
6299         Use the HAL udi for DBus path for devices.
6300         (nm_device_get_index): Remove.
6301         (set_property): Remove index handling.
6302         (get_property): Ditto.
6303         (nm_device_get_dbus_path): Remove.
6304
6305         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6306         property.
6307
6308         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6309         Access the device index through it's interface.
6310         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6311         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6312         index argument. Add interface argument.
6313
6314         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6315         the useless test_dev argument. Remove index argument. Add interface arugment.
6316
6317         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6318         device index through interface.
6319         (nm_system_set_mtu): Ditto.
6320
6321         * introspection/nm-device.xml: Remove the "Index" property.
6322
6323 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6324
6325         * src/nm-serial-device.c: 
6326         * src/nm-serial-device.c: 
6327         * src/nm-umts-device.c:
6328         * src/nm-umts-device.h: Implement.
6329
6330         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6331         allocated by libhal.
6332         (modem_device_creator): Implement.
6333         (register_built_in_creators): Register the modem creator.
6334
6335         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6336         Remove the unused test_dev argument.
6337
6338         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6339
6340         * src/Makefile.am: Add new files to build.
6341         Link in ppp-manager.
6342
6343         * libnm-util/nm-setting-umts.c: 
6344         * libnm-util/nm-setting-umts.h: 
6345         * libnm-util/nm-setting-serial.c: 
6346         * libnm-util/nm-setting-serial.h: Implement.
6347
6348         * libnm-util/Makefile.am: Add new files to build.
6349
6350 2007-11-28  Dan Williams  <dcbw@redhat.com>
6351
6352         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6353
6354         Support DHCP-provided static routes.
6355
6356         * src/nm-ip4-config.h
6357           src/nm-ip4-config.c
6358                 - Add get/set functions for static routes
6359
6360         * src/dhcp-manager/nm-dhcp-manager.c
6361                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6362                         DHCP response
6363
6364         * src/NetworkManagerSystem.c
6365                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6366                         interface when applying the IP4Config
6367
6368 2007-11-28  Dan Williams  <dcbw@redhat.com>
6369
6370         * src/nm-device-802-11-wireless.c
6371                 - (real_act_stage1_prepare): mark APs created for hidden networks
6372                         as non-broadcasting
6373
6374 2007-11-27  Dan Williams  <dcbw@redhat.com>
6375
6376         * system-settings/src/nm-system-config-interface.h
6377                 - Note how to store secrets on NMSetting objects
6378
6379         * system-settings/src/dbus-settings.c
6380                 - (connection_settings_get_secrets): implement
6381
6382 2007-11-27  Dan Williams  <dcbw@redhat.com>
6383
6384         * system-settings/plugins/ifcfg/Makefile.am
6385           system-settings/plugins/ifcfg/parser.c
6386           system-settings/plugins/ifcfg/parser.h
6387           system-settings/plugins/ifcfg/plugin.c
6388                 - Parse wireless connections too
6389
6390         * system-settings/src/dbus-settings.c
6391           system-settings/src/dbus-settings.h
6392           system-settings/src/main.c
6393                 - Handle connection update/removal if the plugin supports it
6394
6395 2007-11-27  Dan Williams  <dcbw@redhat.com>
6396
6397         * src/nm-dbus-manager.h
6398           src/nm-hal-manager.c
6399                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6400                         do it for them
6401
6402         * src/Makefile.am
6403           src/NetworkManagerDbusUtils.c
6404           src/NetworkManagerDbusUtils.h
6405                 - Remove these two source files; they are unused
6406
6407 2007-11-27  Dan Williams  <dcbw@redhat.com>
6408
6409         * src/vpn-manager/nm-vpn-manager.c
6410                 - (impl_vpn_manager_connect): fix system settings check (found by
6411                         James M. Leddy)
6412
6413 2007-11-26  Dan Williams  <dcbw@redhat.com>
6414
6415         * Fix warnings so everything compiles with --enable-more-warnings
6416
6417 2007-11-25  Dan Williams  <dcbw@redhat.com>
6418
6419         * system-settings/*
6420                 - Rework structure and code to use GModule-loaded plugins and a plugin
6421                         interface that plugins export to the system settings service
6422
6423 2007-11-21  Dan Williams  <dcbw@redhat.com>
6424
6425         * system-settings/*
6426                 - Add Soren's system settings service.  Needs work for distros other
6427                         than Fedora; the backends from NM should mostly migrate to here
6428                         and be converted to GObjects
6429
6430 2007-11-21  Dan Williams  <dcbw@redhat.com>
6431
6432         * libnm-util/nm-setting-vpn-properties.c
6433                 - (set_property): must deep-copy the given settings hash, otherwise
6434                         double-free errors occur when the setting is disposed of
6435
6436 2007-11-21  Dan Williams  <dcbw@redhat.com>
6437
6438         * src/vpn-manager/nm-vpn-act-request.h
6439           src/vpn-manager/nm-vpn-act-request.c
6440                 - Remove; unused
6441
6442 2007-11-20  Dan Williams  <dcbw@redhat.com>
6443
6444         * libnm-util/nm-utils.c
6445                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6446                    nm_utils_convert_ip4_addr_struct_array_to_string,
6447                    nm_utils_register_value_transformations): print out the readable
6448                         values of more types of properties of NMSettings subclasses
6449
6450 2007-11-20  Dan Williams  <dcbw@redhat.com>
6451
6452         * libnm-util/nm-setting-ip4-config.c
6453                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6454                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6455                         marshal GValueArrays inside collections, so switch to types that it
6456                         can actually marshal/demarshal
6457
6458 2007-11-16  Dan Williams  <dcbw@redhat.com>
6459
6460         * libnm-util/nm-setting-wireless-security.c
6461                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6462                         minimal verification of EAP methods too
6463                 - (verify): verify phase1 eap methods too
6464
6465 2007-11-15  Dan Williams  <dcbw@redhat.com>
6466
6467         * libnm-glib/nm-device.h
6468           libnm-glib/nm-device.c
6469                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6470                         const char *
6471
6472 2007-11-15  Dan Williams  <dcbw@redhat.com>
6473
6474         * libnm-glib/nm-device.c
6475                 - (get_product_and_vendor): don't try to free things that should be
6476                         freed
6477
6478 2007-11-15  Dan Williams  <dcbw@redhat.com>
6479
6480         * src/NetworkManagerUtils.c
6481                 - (nm_ethernet_address_is_valid): unbreak previous fix
6482
6483 2007-11-15  Dan Williams  <dcbw@redhat.com>
6484
6485         * src/supplicant-manager/nm-supplicant-config.c
6486                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6487                         options
6488
6489 2007-11-15  Dan Williams  <dcbw@redhat.com>
6490
6491         * src/NetworkManagerUtils.c
6492                 - (nm_ethernet_address_is_valid): fix style, clarify
6493                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6494
6495         * src/nm-device-802-11-wireless.c
6496                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6497                 - (nm_device_802_11_wireless_get_ssid,
6498                    nm_device_802_11_wireless_get_bssid,
6499                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6500                         before calling the ioctl; fixes valgrind-reported jump depends on
6501                         uninitialized value errors
6502
6503 2007-11-15  Dan Williams  <dcbw@redhat.com>
6504
6505         * libnm-util/nm-setting.c
6506                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6507                         unecessary to serialize 'name'
6508
6509         * src/nm-activation-request.c
6510                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6511                         the GetSecrets call
6512
6513 2007-11-15  Dan Williams  <dcbw@redhat.com>
6514
6515         * libnm-util/nm-setting-connection.h
6516           libnm-util/nm-setting-connection.c
6517                 - Rename the 'name' property to 'id', because it conflicted with the
6518                         NMSetting superclass' 'name' property.
6519
6520         * libnm-util/nm-setting.c
6521                 - (nm_setting_to_hash): serialize the 'name' property
6522                 - (one_property_cb): ignore 'name' on deserialization of a connection
6523
6524         * src/nm-device-802-11-wireless.c
6525           src/vpn-manager/nm-vpn-connection.c
6526           src/NetworkManagerPolicy.c
6527                 - Fix up for NMSettingConnection 'name'->'id' changes
6528
6529 2007-11-13  Dan Williams  <dcbw@redhat.com>
6530
6531         * libnm-glib/nm-device-802-11-wireless.h
6532           libnm-glib/nm-device-802-11-wireless.c
6533                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6534
6535         * test/nm-tool.c
6536           libnm-glib/libnm-glib-test.c
6537                 - Fixes for above change
6538
6539 2007-11-12  Dan Williams  <dcbw@redhat.com>
6540
6541         * src/supplicant-manager/nm-supplicant-settings-verify.c
6542                 - Allow fragment_size option
6543
6544         * src/supplicant-manager/nm-supplicant-settings-verify.c
6545                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6546                         EAP fragment size than the default to help some TLS connections
6547
6548 2007-11-12  Dan Williams  <dcbw@redhat.com>
6549
6550         Make certs actually work.  The private key is now a secret, and should be
6551         decrypted when requested by NM.  The private key and phase2 private key
6552         passwords are no longer interesting to NM because they should be used by
6553         the settings service to decrypt the private key itself before passing it
6554         to NM, and hence have been removed as fields.
6555
6556         * libnm-util/nm-setting-wireless-security.h
6557           libnm-util/nm-setting-wireless-security.c
6558                 - Remove private-key-passwd and phase2-private-key-passwd from
6559                         properties
6560                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6561                    need_secrets): use property #defines instead strings to keep things
6562                         consistent
6563                 - (need_secrets_tls): if a client certificate is present but no
6564                         private key, request the private key
6565                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6566                         remove private key password stuff, mark private keys as secret
6567
6568         * src/supplicant-manager/nm-supplicant-settings-verify.c
6569                 - Remove private_key_passwd and private_key2_passwd from opt_table
6570
6571 2007-11-09  Dan Williams  <dcbw@redhat.com>
6572
6573         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6574         Since the vpn-properties are managed and known by the VPN daemons themselves,
6575         libnm-util doesn't know what's secret and what's in the setting's 'data'
6576         member.
6577
6578         * libnm-util/nm-setting.h
6579           libnm-util/nm-setting.c
6580                 - Add the ability for subclasses to override update_one_secret
6581
6582         * libnm-util/nm-setting-vpn-properties.c
6583                 - Override update_one_secret and just copy the values into the
6584                         internal table
6585
6586 2007-11-09  Dan Williams  <dcbw@redhat.com>
6587
6588         * libnm-glib/nm-settings.h
6589           libnm-glib/nm-settings.c
6590                 - (nm_settings_new_error): remove
6591                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6592                         clients should use g_set_error() with NM_SETTINGS_ERROR
6593
6594 2007-11-09  Dan Williams  <dcbw@redhat.com>
6595
6596         * src/supplicant-manager/nm-supplicant-config.c
6597                 - (nm_supplicant_config_add_setting_wireless_security): private key
6598                         passwords are never sent to wpa_supplicant, because the supplicant
6599                         should never be reading random files from the disk.  Clients like
6600                         the applet are required to decrypt the private keys and send NM
6601                         the decrypted blobs.
6602
6603 2007-11-08  Dan Williams  <dcbw@redhat.com>
6604
6605         * libnm-util/nm-setting-wireless-security.h
6606           libnm-util/nm-setting-wireless-security.c
6607                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6608                         members to 802-11-wireless-security structure.  This should be used
6609                         to indicate that the values in private-key and phase2-private-key
6610                         are already decrypted by the user agent, and that no
6611                         private-key-passwd or phase2-private-key-passwd should be expected.
6612                         It is not meant to be a stored configuration value, but meant to
6613                         be set when the conneciton is sent to NM over dbus.
6614
6615 2007-11-08  Dan Williams  <dcbw@redhat.com>
6616
6617         * libnm-util/nm-connection.h
6618           libnm-util/nm-connection.c
6619                 - (nm_connection_need_secrets): add argument to return hints
6620
6621         * src/nm-device-802-11-wireless.c
6622                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6623                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6624                         nm_connection_need_secrets() change
6625
6626 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6627
6628         Rework NMSetting structures: Move each setting to it's own file.
6629         Convert to GObject. Remove home grown setting types and use GTypes.
6630         Use GObject property introspection for hash conversion, enumerating
6631         properties, etc.
6632
6633         * libnm-util/nm-setting-connection.[ch]
6634         * libnm-util/nm-setting-ip4-config.[ch]
6635         * libnm-util/nm-setting-ppp.[ch]
6636         * libnm-util/nm-setting-vpn.[ch]
6637         * libnm-util/nm-setting-vpn-properties.[ch]
6638         * libnm-util/nm-setting-wired.[ch]
6639         * libnm-util/nm-setting-wireless.[ch]
6640         * libnm-util/nm-setting-wireless-security.[ch]
6641
6642         New files, each containing a setting.
6643
6644         * libnm-util/nm-setting-template.[ch]: A template for creating new
6645         settings. To use it, just replace 'template' with the new setting
6646         name, and you're half-way done.
6647
6648         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6649         introspection instead of internal types and tables.
6650
6651         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6652
6653         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6654         GValue types defined by dbus-glib for composed types like collections,
6655         structures and maps.
6656
6657         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6658         a setting from connection takes the setting type now. Also, since
6659         the settings are in multiple files, include relevant settings.
6660
6661 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6662
6663         * configure.in:
6664         * src/backends/NetworkManagerGentoo.c:
6665         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6666         providers in Gentoo.
6667
6668 2007-10-31  Dan Williams  <dcbw@redhat.com>
6669
6670         * libnm-util/nm-connection.c
6671                 - (gvalue_to_string): handle UINT32 arrays
6672
6673 2007-10-31  Dan Williams  <dcbw@redhat.com>
6674
6675         * libnm-glib/nm-device.h
6676           libnm-glib/nm-device.c
6677                 - (nm_device_get_description): remove
6678                 - (nm_device_get_product, nm_device_get_vendor): add
6679                 - (nm_device_update_description): new function (private); walk HAL
6680                         devices to get product and vendor IDs for a specific device
6681
6682 2007-10-31  Dan Williams  <dcbw@redhat.com>
6683
6684         * src/nm-device-802-11-wireless.c
6685                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6686
6687 2007-10-29  Dan Williams  <dcbw@redhat.com>
6688
6689         * src/nm-hal-manager.c
6690                 - (device_added, device_new_capability): ignore device additions while
6691                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6692                         kernel module is unloaded and reloaded and recognized by NM again.
6693
6694 2007-10-26  Dan Williams  <dcbw@redhat.com>
6695
6696         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6697
6698         * src/NetworkManagerAP.c
6699           src/NetworkManagerAP.h
6700           libnm-glib/nm-access-point.c
6701           libnm-glib/nm-access-point.h
6702                 - Make 'rate' property a guint32 to better match with WEXT and
6703                         wpa_supplicant and to allow representation of higher bitrates
6704
6705         * src/nm-device-802-11-wireless.c
6706           introspection/nm-device-802-11-wireless.xml
6707           libnm-glib/nm-device-802-11-wireless.c
6708           libnm-glib/nm-device-802-11-wireless.h
6709                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6710
6711         * src/nm-device-802-3-ethernet.c
6712           src/nm-device-802-3-ethernet.h
6713           introspection/nm-device-802-3-ethernet.xml
6714           libnm-glib/nm-device-802-3-ethernet.c
6715           libnm-glib/nm-device-802-3-ethernet.h
6716                 - Make 'speed' property a guint32 to match other speed/rate types
6717                 - Make nm_device_802_3_ethernet_get_speed() static
6718
6719         * test/nm-tool.c
6720                 - Update for the changes above
6721
6722 2007-10-26  Dan Williams  <dcbw@redhat.com>
6723
6724         * src/named-manager/nm-named-manager.c
6725                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6726                     not calling fclose() twice on some error conditions
6727
6728 2007-10-26  Dan Williams  <dcbw@redhat.com>
6729
6730         * src/nm-activation-request.c
6731                 - (dispose): clean up indentation; get the right DBusGProxy object to
6732                         cancel the GetSecrets pending call on.  Need to use the Secrets
6733                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6734                         pending call doesn't get canceled, and pressing Cancel in the
6735                         applet's password dialog could cause get_secrets_cb() to be called
6736                         after the activation request has already been destroyed
6737
6738 2007-10-24  Dan Williams  <dcbw@redhat.com>
6739
6740         * src/supplicant-manager/nm-supplicant-config.c
6741                 - (nm_supplicant_config_add_blob): pass blob data and length for
6742                         verification
6743                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6744
6745 2007-10-24  Dan Williams  <dcbw@redhat.com>
6746
6747         * src/supplicant-manager/nm-supplicant-settings-verify.c
6748                 - (opt_table): max length for certificates should be 65536
6749
6750 2007-10-24  Dan Williams  <dcbw@redhat.com>
6751
6752         * src/supplicant-manager/nm-supplicant-interface.c
6753                 - (blob_free): correctly free blob data after use
6754                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6755
6756 2007-10-24  Dan Williams  <dcbw@redhat.com>
6757
6758         * libnm-util/nm-setting.c
6759                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6760                         EAP method need secrets
6761
6762 2007-10-24  Dan Williams  <dcbw@redhat.com>
6763
6764         * src/backends/NetworkManagerRedHat.c
6765                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6766
6767 2007-10-23  Dan Williams  <dcbw@redhat.com>
6768
6769         * libnm-util/nm-setting.c
6770           libnm-util/nm-setting.c
6771                 - (nm_setting_compare): implement
6772                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6773                    compare_one_hash_gvalue): compare the contents of a setting
6774
6775         * libnm-util/nm-connection.c
6776                 - (nm_connection_compare): implement
6777
6778 2007-10-23  Dan Williams  <dcbw@redhat.com>
6779
6780         * src/nm-activation-request.c
6781                 - (get_secrets_cb): handle getting a setting back that is more than
6782                         just secrets (ie, user changed auth or EAP method or something)
6783
6784 2007-10-23  Dan Williams  <dcbw@redhat.com>
6785
6786         * libnm-util/nm-setting.c
6787           libnm-util/nm-setting.h
6788                 - (nm_setting_verify): new function; verify one setting
6789                 - (nm_settings_verify_all): rename from nm_settings_verify()
6790                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6791                         all_settings
6792
6793         * libnm-util/nm-connection.c
6794                 - (nm_connection_replace_settings, nm_connection_verify,
6795                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6796
6797 2007-10-23  Dan Williams  <dcbw@redhat.com>
6798
6799         * src/nm-device-802-11-wireless.c
6800                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6801                         desired behavior
6802
6803 2007-10-23  Dan Williams  <dcbw@redhat.com>
6804
6805         * src/supplicant-manager/nm-supplicant-settings-verify.c
6806                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6807                         nm-settings.c
6808
6809 2007-10-23  Dan Williams  <dcbw@redhat.com>
6810
6811         * src/nm-device-802-11-wireless.c
6812                 - (real_act_stage2_config): after the first association failure,
6813                         if the connection still needs secrets ask the user for them
6814                         explicitly.  After the fourth association failure due to bad
6815                         secrets, fail the connection entirely.  Handles the GetSecrets
6816                         loop that NM gets into when the provided secrets don't match up
6817                         with the connection details.
6818
6819 2007-10-23  Dan Williams  <dcbw@redhat.com>
6820
6821         * src/supplicant-manager/nm-supplicant-config.c
6822                 - (nm_supplicant_config_add_setting_wireless_security): only add
6823                         WPA-specific options when WPA is in use
6824
6825 2007-10-23  Dan Williams  <dcbw@redhat.com>
6826
6827         * src/supplicant-manager/nm-supplicant-config.c
6828                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6829                         secret doesn't need to be unhexified
6830
6831 2007-10-23  Dan Williams  <dcbw@redhat.com>
6832
6833         * libnm-util/nm-setting.c
6834                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6835                         before trying to do something with it
6836
6837 2007-10-23  Dan Williams  <dcbw@redhat.com>
6838
6839         * src/nm-device-802-11-wireless.c
6840                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6841
6842 2007-10-23  Dan Williams  <dcbw@redhat.com>
6843
6844         * src/nm-device-802-11-wireless.c
6845                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6846                         non-SSID-broadcasting APs
6847
6848 2007-10-23  Dan Williams  <dcbw@redhat.com>
6849
6850         * src/NetworkManagerAP.c
6851                 - (match_cipher, security_compatible): remove
6852                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6853                         libnm-util instead
6854
6855 2007-10-23  Dan Williams  <dcbw@redhat.com>
6856
6857         * libnm-util/nm-utils.c
6858           libnm-util/nm-utils.h
6859                 - (nm_utils_ap_security_compatible): common function for checking
6860                         whether a specific AP is compatible with an NMConnection
6861
6862 2007-10-23  Dan Williams  <dcbw@redhat.com>
6863
6864         * libnm-util/nm-setting.c
6865                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6866                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6867                    need_secrets_password, setting_wireless_security_verify): fix
6868                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6869                         secrets logic for each supported EAP method
6870
6871 2007-10-23  Dan Williams  <dcbw@redhat.com>
6872
6873         * src/supplicant-manager/nm-supplicant-config.c
6874                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6875                         config option name, should be "private_key2_passwd"
6876
6877 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6878
6879         Implement support for static IP addresses, additional/overridden DNS and
6880         DNS domain search lists.
6881
6882         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6883         (ip4_addresses_to_gvalue): Implement.
6884         (convert_array_to_byte_array): Implement.
6885         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6886         NM_S_TYPE_IP4_ADDRESSES.
6887         (nm_setting_hash): Ditto.
6888         (default_setting_clear_secrets): Add a default case for the switch: IP address
6889         shouldn't be secret, ever.
6890         (setting_ip4_config_verify): Update, requires addresses in case of manual
6891         configurations.
6892         (setting_ip4_config_destroy): Free stuff.
6893
6894         * src/nm-device.c (merge_ip4_config): Implement.
6895         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6896
6897 2007-10-22  Dan Williams  <dcbw@redhat.com>
6898
6899         * libnm-util/nm-setting.c
6900                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6901                         pairwise cipher options for Dynamic WEP
6902
6903 2007-10-21  Dan Williams  <dcbw@redhat.com>
6904
6905         * src/NetworkManagerAP.c
6906           src/NetworkManagerAP.h
6907                 - Rename 'articifical' -> 'fake' since that's what they are until
6908                         noticed in scans
6909                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6910                         from the attributes in an NMConnection object
6911                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6912                         WPA Enterprise
6913                 - (nm_ap_match_in_list): find a matching AP in a scan list
6914
6915         * src/nm-device-802-11-wireless.c
6916                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6917                         AP when searching the scan list; match on frequency and mode too
6918                 - (nm_device_802_11_wireless_get_frequency): implement
6919                 - (merge_scanned_ap): replace duplicate matching logic with
6920                         nm_ap_match_in_list()
6921                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6922                         the user is trying to connect to a hidden network that is not yet
6923                         known from the scan list
6924                 - (activation_success_handler): now that the card knows the AP's BSSID,
6925                         there may already be a scanned AP in the scan list that is what
6926                         we really wanted to connect to, but didn't know at the time.  Use
6927                         that instead of the 'fake' AP created at activation start and get
6928                         rid of the 'fake' AP 
6929                 - (cull_scan_list): don't remove fake APs
6930
6931 2007-10-21  Dan Williams  <dcbw@redhat.com>
6932
6933         * src/nm-activation-request.h
6934           src/nm-activation-request.c
6935                 - (nm_act_request_set_specific_object): new function; allow setting the
6936                         specific object if one isn't set yet
6937
6938 2007-10-20  Dan Williams  <dcbw@redhat.com>
6939
6940         * src/supplicant-manager/nm-supplicant-config.h
6941           src/supplicant-manager/nm-supplicant-config.c
6942                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6943                         table to store blobs
6944                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6945                         blob hash table
6946                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6947                 - (nm_supplicant_config_add_setting_wireless_security): handle
6948                         options that use certificates (ie, blobs)
6949
6950         * src/nm-device-802-11-wireless.c
6951                 - (build_supplicant_config): pass a UID (just use the connection path)
6952                         to the supplicant config as now required
6953
6954         * src/supplicant-manager/nm-supplicant-interface.c
6955                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6956                         there are any blobs to send to wpa_supplicant, send those first
6957                         before sending the network configuration
6958
6959 2007-10-19  Dan Williams  <dcbw@redhat.com>
6960
6961         Split the GetSecrets() call off to a separate D-Bus interface so that it
6962         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
6963         should be able to call GetSecrets().
6964
6965         * include/NetworkManager.h
6966                 - Define the connection secrets D-Bus interface
6967
6968         * src/vpn-manager/nm-vpn-connection.c
6969                 - (clear_need_auth): get the right proxy object for the connection
6970                         secrets interface
6971                 - (get_connection_secrets): use the connection secrets proxy; send
6972                         empty hints in get secrets request
6973
6974         * src/nm-activation-request.c
6975                 - (nm_act_request_request_connection_secrets): use the connection
6976                         secrets proxy; send empty hints in get secrets request
6977
6978         * src/nm-manager.c
6979           src/nm-manager.h
6980                 - (connection_get_settings_cb): set the connection secrets proxy on
6981                         the connection object too
6982                 - (internal_new_connection_cb): create the connection secrets proxy
6983
6984         * introspection/nm-settings-connection.xml
6985                 - Define Connection.Secrets interface and move GetSecrets there
6986                 - Add a 'hints' argument to GetSecrets
6987
6988         * libnm-glib/nm-settings.c
6989           libnm-glib/nm-settings.h
6990                 - (impl_connection_settings_get_secrets): add 'hints' argument
6991
6992 2007-10-19  Dan Williams  <dcbw@redhat.com>
6993
6994         * src/nm-device.c
6995                 - (constructor): add message about what path a device is exported as
6996                         to help in debugging rh #339011
6997
6998 2007-10-17  Dan Williams  <dcbw@redhat.com>
6999
7000         * libnm-util/nm-utils.h
7001           libnm-util/nm-utils.c
7002                 - (nm_utils_security_valid): common function to help find the intersection
7003                         of capabilities of devices and (optionally) access points
7004
7005 2007-10-17  Dan Williams  <dcbw@redhat.com>
7006
7007         * src/nm-device-802-11-wireless.c
7008                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
7009                         don't get erroneously cleared
7010
7011 2007-10-17  Dan Williams  <dcbw@redhat.com>
7012
7013         * src/nm-manager.h
7014           src/nm-manager.c
7015           src/nm-hal-manager.c
7016                 - (device_removed, finalize, nm_manager_remove_device,
7017                    nm_manager_sleep): add a 'deactivate' argument to 
7018                    nm_manager_remove_device() to fully deactivate devices when necessary
7019                    (ie, always except when waking up)
7020
7021 2007-10-16  Dan Williams  <dcbw@redhat.com>
7022
7023         * libnm-util/nm-setting.c
7024                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
7025                         also isn't valid phase2 autheap method
7026
7027 2007-10-16  Dan Williams  <dcbw@redhat.com>
7028
7029         * libnm-glib/nm-client.c
7030                 - (update_wireless_status): consolidate updates of wireless status
7031                 - (constructor): use update_wireless_status()
7032                 - (manager_running): set wireless status off when NM goes away; requery
7033                         the wireless status when NM comes back
7034
7035 2007-10-16  Dan Williams  <dcbw@redhat.com>
7036
7037         * libnm-glib/nm-client.c
7038                 - (nm_client_activate_device): actually use the fixed-up specific
7039                         object path
7040
7041 2007-10-16  Dan Williams  <dcbw@redhat.com>
7042
7043         * src/nm-hal-manager.c
7044                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
7045                         killswitch error messages once
7046
7047 2007-10-16  Dan Williams  <dcbw@redhat.com>
7048
7049         * src/nm-manager.c
7050                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
7051                         if it's disabled in hardware; don't touch network devices while
7052                         NM is asleep
7053
7054 2007-10-16  Dan Williams  <dcbw@redhat.com>
7055
7056         * libnm-util/nm-client.c
7057                 - (nm_client_activate_device): convert NULL specific_object to "/",
7058                         which is used in place of NULL
7059
7060         * src/nm-manager.c
7061                 - (impl_manager_activate_device): convert "/" specific_object back into
7062                         NULL
7063
7064 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7065
7066         Implement a generic NMSetting creator from setting name.
7067         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
7068         add a virtual function 'populate_fn'.
7069
7070         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
7071         (register_default_creators): Register setting creators instead of functions
7072         that create and then populate.
7073         (parse_one_setting): Use the common setting creator and then setting specific
7074         poplulation function.
7075
7076         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
7077         they all looked exactly the same.
7078         Add a 'populate_fn' virtual function to NMSetting.
7079         Use default virtual functions in case they are not overriden.
7080         (nm_setting_populate_from_hash): Implement.
7081
7082         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
7083         name, use a defined string.
7084         (real_act_stage4_get_ip4_config): Ditto.
7085
7086 2007-10-16  Tambet Ingo  <tambet@gmail.com>
7087
7088         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
7089         HAL is int, not uint.
7090
7091 2007-10-15  Tambet Ingo  <tambet@gmail.com>
7092
7093         Implement killswitch polling through HAL.
7094
7095         * src/nm-manager.c: Add wireless hardware status property. Add 
7096         'properties-changed' signal for changes in wireless and wireless hardware
7097         state changes.
7098
7099         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
7100         and update NMManager's wireless hardware state when it has changed.
7101         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
7102         already does that.
7103
7104         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
7105         values of wireless state and wireless hardware state. Listen for the
7106         'properties-changed' signals, update the cached values and emit notify.
7107
7108         * include/NetworkManager.h: Fix a typo in a comment.
7109
7110 2007-10-14  Dan Williams  <dcbw@redhat.com>
7111
7112         * libnm-util/nm-setting.c
7113                 - (setting_wireless_security_need_secrets): handle LEAP secrets
7114
7115 2007-10-13  Dan Williams  <dcbw@redhat.com>
7116
7117         * libnm-util/nm-setting.h
7118           libnm-util/nm-setting.c
7119           src/supplicant-manager/nm-supplicant-config.c
7120                 - Make the 'proto' field of the 802-11-wireless-security field a
7121                         string list
7122
7123 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7124
7125         Rework the "properties-changed" signal listening implementation.
7126         Add a generic implementation to NMObject class that listens for
7127         the signal and calls property setters of the target NMObject.
7128
7129         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
7130
7131         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
7132         code to the end of file so that all the static functions are available
7133         without extra declarations.
7134         Remove the "properties-changed" signal handling and use the framework from
7135         NMObject.
7136         Implement property setters for properties that change with 
7137         "properties-changed" signal.
7138
7139         * libnm-glib/nm-access-point.c: Ditto.
7140
7141 2007-10-12  Tambet Ingo  <tambet@gmail.com>
7142
7143         Rework the "properties-changed" signal implementation.
7144         In classes that need to use it, just emit "GObject::notify" and the new
7145         framework takes care of the rest to make the signal available on dbus.
7146         The framework queues the notifications and tries to send as many together
7147         in one signal as possible.
7148
7149         * src/nm-properties-changed-signal.c:
7150         * src/nm-properties-changed-signal.h: Implement.
7151
7152         * src/Makefile.am: Add new files to build.
7153
7154         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7155         signal.
7156
7157         * src/nm-device-802-11-wireless.c: Ditto.
7158
7159 2007-10-10  Dan Williams  <dcbw@redhat.com>
7160
7161         * src/nm-manager.c
7162                 - (wait_for_connection_expired): ensure info is valid
7163                 - (connection_added_default_handler): Should only remove pending
7164                         connection info when the manager has the connection that it's
7165                         waiting for.  Fixes segfault in wait_for_connection_info().  
7166
7167 2007-10-10  Dan Williams  <dcbw@redhat.com>
7168
7169         * libnm-util/nm-setting.c
7170           libnm-util/nm-setting.h
7171                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7172                         can use if they choose.  Should be filled in by the settings service
7173                         on-the-fly with the currently logged in user's username
7174
7175 2007-10-10  Dan Williams  <dcbw@redhat.com>
7176
7177         * src/nm-device-802-11-wireless.c
7178                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7179                         as such, because even if the manager fills in the SSID, NM still
7180                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7181                         its SSID
7182
7183 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7184
7185         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7186         code that used NM's own version of dbus signal handling and custom dictionary
7187         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7188         and we get to maintain over 2000 lines less code.
7189
7190         * libnm-util/dbus-dict-helpers.c:
7191         * libnm-util/dbus-dict-helpers.h: Remove.
7192
7193         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7194
7195         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7196
7197         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7198         handlers.
7199
7200         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7201
7202         * configure.in: Remove test/libnm-util/Makefile creation.
7203
7204         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7205
7206         * test/libnm-util/: Remove the whole directory.
7207
7208 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7209
7210         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7211         device_state_changed_idle_id variable or it would contain some random value and the
7212         schedule_change_check calls would not do anything.
7213
7214 2007-10-09  Dan Williams  <dcbw@redhat.com>
7215
7216         * src/nm-device-802-11-wireless.c
7217                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7218                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7219                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7220                         merging of non-SSID-broadcasting APs
7221
7222 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7223
7224         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7225         "guint8 *" since it's usually used with GByteArray->data.
7226         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7227
7228 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7229
7230         * src/NetworkManagerUtils.c
7231         (nm_utils_is_empty_ssid):
7232         (nm_utils_escape_ssid):
7233         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7234         lot of places, so they belong to libnm-utils instead.
7235
7236         Now with 100% less compiler warnings:
7237
7238         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7239         (nm_dbus_unescape_object_path): Ditto.
7240         (nm_utils_ssid_to_utf8): Ditto.
7241         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7242         (nm_utils_escape_ssid): Ditto.
7243         (nm_utils_same_ssid): Ditto.
7244
7245         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7246         (add_one_connection_element): Remove an unused variable.
7247         (impl_manager_get_active_connections): Ditto.
7248
7249         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7250         variable.
7251
7252         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7253         from the previous commit.
7254
7255         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7256         (real_act_stage1_prepare): Ditto.
7257         (activation_success_handler): Ditto.
7258         (get_property): Ditto.
7259
7260         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7261         variable.
7262
7263         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7264         it's always set.
7265
7266         * src/supplicant-manager/nm-supplicant-config.c 
7267         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7268         to expected "char *".
7269         (nm_supplicant_config_add_setting_wireless): Ditto.
7270         (nm_supplicant_config_remove_option): Remove, not used.
7271
7272         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7273         not double.
7274         (test_wireless_enabled): Ifdef out unused function.
7275         (device_deactivate): Ditto.
7276         (device_state_changed): Ditto.
7277         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7278         (nm_utils_escape_ssid): Ditto.
7279
7280         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7281         (nm_utils_is_empty_ssid): Ditto.
7282
7283         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7284         unused variable.
7285
7286         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7287         (setting_vpn_properties_update_secrets): Ditto.
7288         (int_to_gvalue): Ifdef out for now, not used.
7289         (byte_to_gvalue): Ditto.
7290
7291         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7292         Unused, remove.
7293
7294 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7295
7296         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7297         about dbus manager, not named manager.
7298         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7299
7300         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7301         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7302         However, the same signal is emitted when we destroy it and there's 
7303         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7304
7305         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7306         releasing the DBusGConnection, since proxy needs a conneciton.
7307         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7308
7309 2007-10-08  Dan Williams  <dcbw@redhat.com>
7310
7311         * src/NetworkManager.c
7312                 - (main): error on unknown command-line options
7313
7314 2007-10-08  Dan Williams  <dcbw@redhat.com>
7315
7316         Reimplement the invalid connection list.  Don't try to re-activate a
7317         connection that just failed or was canceled.
7318
7319         * src/nm-device.c
7320                 - (connection_secrets_failed_cb): fail device activation, don't just
7321                         deactivate the device.  Listeners have to know about the failure.
7322
7323         * src/NetworkManagerPolicy.c
7324                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7325                         the connection list given to a device's get_best_connection()
7326                         method
7327                 - (device_state_changed): tag failed connections as invalid; clear the
7328                         tag from successful connections
7329
7330 2007-10-08  Dan Williams  <dcbw@redhat.com>
7331
7332         Fix problems with interrupted activation.  Previously, choosing an AP
7333         from the menu, then choosing another one before the first connection was
7334         successful wouldn't deactivate the device before starting the new connection
7335         on that same device.
7336
7337         * src/NetworkManagerPolicy.c
7338                 - (deactivate_old_device, device_state_changed, state_changed,
7339                    nm_policy_new): wrong place to deactivate old devices
7340
7341         * src/nm-manager.c
7342                 - (pending_connection_info_destroy, finalize,
7343                    wait_for_connection_expired): decouple destruction of the pending
7344                         connection info from the manager device
7345                 - (connection_added_default_handler): deactivate any active or
7346                         activating device before starting a new activation
7347                 - (impl_manager_activate_device): deactivate any active or activating
7348                         device before starting a new activation; be sure not to leak
7349                         pending connection info if a new activation request arrives but
7350                         there's already a pending one in-process
7351
7352 2007-10-08  Dan Williams  <dcbw@redhat.com>
7353
7354         * src/NetworkManagerAP.h
7355           src/NetworkManagerAP.c
7356                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7357                         should handle default SSIDs and whether or not to autoconnect
7358                         to them
7359
7360 2007-10-08  Dan Williams  <dcbw@redhat.com>
7361
7362         * src/NetworkManagerPolicy.c
7363                 - (nm_policy_device_change_check): print out connection name where
7364                         possible
7365
7366 2007-10-08  Dan Williams  <dcbw@redhat.com>
7367
7368         * src/nm-device-802-11-wireless.c
7369           src/nm-device-802-11-wireless.h
7370                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7371                         'hidden-ap-found' signal (for internal use only) that allows the
7372                         NMManager to fill in the AP's SSID if a connection has that AP's
7373                         BSSID in its seen-bssids list
7374
7375         * src/nm-manager.c
7376                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7377                         wireless device's hidden-ap-found signal and fill in the APs SSID
7378                         if possible
7379
7380 2007-10-07  Dan Williams  <dcbw@redhat.com>
7381
7382         * src/nm-manager.c
7383           src/nm-manager.h
7384                 - Add a 'connections-added' signal to batch together updates of large
7385                         numbers of connections, like when reading from a settings service
7386                         the first time.  Otherwise, the policy would just activate the first
7387                         suitable connection it saw rather than waiting for the full list
7388                         to arrive.
7389                 - (nm_manager_class_init): register new signal
7390                 - (get_type_for_proxy, connection_get_settings_cb,
7391                    get_connection_for_proxy): centralize places where a proxy's setting
7392                         service is determined
7393                 - (free_get_settings_info): if the call being freed is the last call
7394                         in a pending call group, fire off the connections-added signal
7395                 - (internal_new_connection_cb): add call to a pending call group if
7396                         requested
7397                 - (list_connections_cb): always create a call group here, because this
7398                         call results in a batch of new connections
7399                 - (initial_get_connections): start getting system connections first
7400                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7401                         removed signal when destroying connections
7402
7403         * src/NetworkManagerPolicy.c
7404                 - (nm_policy_new, connections_added): handle connections-added signal
7405                         from the manager
7406
7407 2007-10-06  Dan Williams  <dcbw@redhat.com>
7408
7409         * src/nm-device-802-11-wireless.c
7410                 - (constructor): fix leaked socket
7411
7412 2007-10-06  Dan Williams  <dcbw@redhat.com>
7413
7414         * src/NetworkManagerPolicy.c
7415                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7416                         connection in the list returned by nm_manager_get_connections() is
7417                         reffed, but they weren't getting unreffed before returning
7418
7419 2007-10-06  Dan Williams  <dcbw@redhat.com>
7420
7421         * src/nm-manager.c
7422                 - (connections_to_slist): sort connections first on autoconnect, then
7423                         on timestamp
7424
7425 2007-10-06  Dan Williams  <dcbw@redhat.com>
7426
7427         * libnm-util/nm-connection.c
7428                 - (gvalue_to_string): handle UINT64
7429
7430 2007-10-06  Dan Williams  <dcbw@redhat.com>
7431
7432         * src/NetworkManagerPolicy.c
7433                 - (connection_updated, nm_policy_new): recheck state when a connection
7434                         gets updated
7435
7436 2007-10-06  Dan Williams  <dcbw@redhat.com>
7437
7438         * src/nm-manager.c
7439           src/nm-manager.h
7440                 - (nm_manager_get_connection_dbus_path): make static
7441                 - (nm_manager_update_connections): remove; unused
7442                 - Add a connection-updated signal
7443                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7444                         handle connection object updates
7445
7446 2007-10-06  Dan Williams  <dcbw@redhat.com>
7447
7448         * src/NetworkManagerPolicy.c
7449                 - (connection_removed): deactivate removed connections
7450
7451 2007-10-06  Dan Williams  <dcbw@redhat.com>
7452
7453         * libnm-util/nm-connection.c
7454           libnm-util/nm-connection.h
7455                 - (nm_connection_replace_settings): new function
7456
7457 2007-10-06  Dan Williams  <dcbw@redhat.com>
7458
7459         * libnm-glib/nm-device-802-11-wireless.c
7460                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7461                         on error when getting the active access point over D-Bus from NM
7462
7463 2007-10-05  Dan Williams  <dcbw@redhat.com>
7464
7465         * libnm-util/nm-setting.c
7466                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7467                         to the NMSettingWireless table; it's now a string array not an array
7468                         of byte arrays
7469
7470 2007-10-05  Dan Williams  <dcbw@redhat.com>
7471
7472         * libnm-glib/nm-device-802-11-wireless.c
7473                 - Cache properties and update cached properties on D-Bus signals from NM
7474
7475 2007-10-05  Dan Williams  <dcbw@redhat.com>
7476
7477         * src/nm-device-802-11-wireless.c
7478                 - (set_current_ap): consolidate current_ap handling code into one place
7479                         to ensure that PropertiesChanged signals are emitted in all cases
7480                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7481                    nm_device_802_11_wireless_dispose): use set_current_ap()
7482
7483 2007-10-05  Dan Williams  <dcbw@redhat.com>
7484
7485         * libnm-glib/nm-access-point.c
7486           libnm-glib/nm-access-point.h
7487                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7488                         because the value is cached internally now.  Callers should not
7489                         free the internal value.
7490                 - Make signal name defines private
7491
7492         * test/nm-tool.c
7493           libnm-glib/libnm-glib-test.c
7494                 - Don't free value returned from nm_access_point_get_hw_address()
7495
7496 2007-10-04  Dan Williams  <dcbw@redhat.com>
7497
7498         * introspection/nm-device-802-11-wireless.xml
7499           src/nm-device-802-11-wireless.h
7500           src/nm-device-802-11-wireless.c
7501                 - Add a PropertiesChanged signal for wireless device
7502                 - Store currently associated access point
7503                 - (periodic_update): generalize; update rate here too and emit the
7504                         correct PropertiesChanged signal when stuff changes
7505                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7506                    real_activation_cancel_handler): clear current_ap when device is
7507                         deactivated
7508                 - (link_to_specific_ap, get_ap_blacklisted,
7509                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7510                         code
7511                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7512                         outside this file
7513                 - (real_set_hw_address): emit property changed signal if the card's
7514                         MAC address changes
7515                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7516                         the card is supposed to be connecting to
7517                 - (activation_success_handler): send out property updates on successful
7518                         activation
7519                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7520                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7521                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7522                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7523                         is now boxed; add PropertiesChanged signal
7524
7525 2007-10-04  Dan Williams  <dcbw@redhat.com>
7526
7527         * libnm-util/nm-connection.c
7528           libnm-util/nm-connection.h
7529                 - (nm_connection_verify): new function
7530
7531 2007-10-04  Dan Williams  <dcbw@redhat.com>
7532
7533         * libnm-util/nm-setting.c
7534                 - (nm_settings_verify): use #defines when possible rather than strings
7535                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7536                 - (setting_vpn_verify): tighter validity check on 'service_type'
7537
7538 2007-10-04  Dan Williams  <dcbw@redhat.com>
7539
7540         * libnm-glib/nm-settings.c
7541                 - (nm_connection_settings_class_init): provide correct type for argument
7542                         to the Updated signal so that dbus-glib knows how to marshal it
7543
7544 2007-10-03  Dan Williams  <dcbw@redhat.com>
7545
7546         * src/nm-device-802-3-ethernet.c
7547                 - (real_get_best_connection): don't create automatic connections
7548                         internally; clients should provide a setting that applies to
7549                         the device with 'autoconnect: True'.  Problem was that these
7550                         internally auto-created connections don't have a proxy or service
7551                         name becuase they weren't created by a settings daemon, and therefore
7552                         clients have no idea what to do with them.
7553
7554 2007-10-03  Dan Williams  <dcbw@redhat.com>
7555
7556         * src/nm-device-802-11-wireless.c
7557           src/nm-device-802-11-wireless.h
7558           introspection/nm-device-802-11-wireless.xml
7559                 - GetActiveNetworks -> GetAccessPoints
7560                 - ActiveNetwork -> ActiveAccessPoint
7561                 - NetworkAdded -> AccessPointAdded
7562                 - NetowrkRemoved -> AccessPointRemoved
7563
7564         * libnm-glib/nm-device-802-11-wireless.c
7565           libnm-glib/nm-device-802-11-wireless.h
7566                 - network-added signal -> access-point-added
7567                 - network-removed signal -> access-point-removed
7568                 - nm_device_802_11_wireless_get_active_network() ->
7569                         nm_device_802_11_wireless_get_active_access_point()
7570                 - nm_device_802_11_wireless_get_network_by_path() ->
7571                         nm_device_802_11_wireless_get_access_point_by_path()
7572                 - nm_device_802_11_wireless_get_networks() ->
7573                         nm_device_802_11_wireless_get_access_points()
7574
7575         * libnm-glib/libnm-glib-test.c
7576           test/nm-tool.c
7577           src/NetworkManagerPolicy.c
7578                 - Fixups for Network -> AccessPoint
7579
7580 2007-10-03  Dan Williams  <dcbw@redhat.com>
7581
7582         Add a GetActiveConnections() method on the Manager object.
7583
7584         * src/nm-manager.c
7585           src/nm-manager.h
7586           introspection/nm-manager.xml
7587                 - (connection_get_settings_cb): keep connection type around too
7588                 - (impl_manager_get_active_connections, add_one_connection_element):
7589                         implement; returns all active connections and what devices they
7590                         apply to
7591
7592         * libnm-glib/nm-client.c
7593           libnm-glib/nm-client.h
7594           introspection/nm-manager-client.xml
7595                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7596                         by the caller; free here to avoid memory leak
7597                 - (nm_client_get_active_connections): implement; return the list of
7598                         active connections
7599                 - (nm_client_free_active_connection_element): implement; free an element
7600                         of the GSList returned by nm_client_get_active_connections()
7601
7602 2007-10-03  Dan Williams  <dcbw@redhat.com>
7603
7604         * src/nm-device-802-11-wireless.c
7605                 - (nm_device_802_11_wireless_update_bssid): remove
7606                 - (get_active_ap): new function; find the AP in the scan list which
7607                         matches the current BSSID and SSID of the wireless device
7608                 - (nm_device_802_11_periodic_update): get current AP using
7609                         get_active_ap() and print AP roam messages
7610
7611 2007-10-01  Dan Williams  <dcbw@redhat.com>
7612
7613         * libnm-util/nm-setting.h
7614                 - Add a 'timestamp' option to NMSettingConnection
7615                 - Add a UINT64 type
7616
7617         * libnm-util/nm-setting.c
7618                 - (uint64_to_gvalue): new function
7619                 - (nm_setting_populate_from_hash, nm_setting_hash,
7620                    default_setting_clear_secrets): handle UINT64 type
7621                 - con_table: add 'timestamp' member
7622
7623 2007-10-01  Dan Williams  <dcbw@redhat.com>
7624
7625         * src/nm-manager.c
7626                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7627                         value when the connection can be activated immediately
7628
7629 2007-10-01  Dan Williams  <dcbw@redhat.com>
7630
7631         * libnm-glib/nm-device.c
7632                 - (nm_device_class_init): actually tell glib about the carrier-changed
7633                         signal
7634
7635 2007-10-01  Dan Williams  <dcbw@redhat.com>
7636
7637         * configure.in
7638           src/marshallers/Makefile.am
7639           src/marshallers/nm-marshal.list
7640           src/marshallers/nm-marshal-main.c
7641                 - Consolidate glib marshallers into one place
7642
7643         * src/dhcp-manager/Makefile.am
7644           src/dhcp-manager/nm-dhcp-manager.c
7645           src/supplicant-manager/Makefile.am
7646           src/supplicant-manager/nm-supplicant-manager.c
7647           src/supplicant-manager/nm-supplicant-interface.c
7648           src/ppp-manager/Makefile.am
7649           src/ppp-manager/nm-ppp-manager.c
7650           src/vpn-manager/Makefile.am
7651           src/vpn-manager/nm-vpn-connection.c
7652           src/Makefile.am
7653                 - Use consolidated marshallers
7654
7655         * src/dhcp-manager/nm-dhcp-marshal.list
7656           src/dhcp-manager/nm-dhcp-marshal-main.c
7657           src/supplicant-manager/nm-supplicant-marshal-main.c
7658           src/supplicant-manager/nm-supplicant-marshal.list
7659           src/nm-marshal-main.c
7660           src/nm-marshal.list
7661           src/ppp-manager/nm-ppp-marshal-main.c
7662           src/ppp-manager/nm-ppp-marshal.list
7663           src/vpn-manager/nm-vpn-marshal-main.c
7664           src/vpn-manager/nm-vpn-marshal.list
7665                 - Remove
7666
7667 2007-10-01  Dan Williams  <dcbw@redhat.com>
7668
7669         * include/NetworkManagerVPN.h
7670                 - define VPN connection state change reason codes
7671
7672         * src/vpn-manager/Makefile.am
7673           src/vpn-manager/nm-vpn-marshal.list
7674           src/vpn-manager/nm-vpn-marshal-main.c
7675                 - Add marshallers for StateChanged signal
7676
7677         * introspection/nm-vpn-connection.xml
7678                 - New Banner property
7679                 - StateChanged signal now includes a 'reason' argument
7680
7681         * src/vpn-manager/nm-vpn-connection.c
7682           src/vpn-manager/nm-vpn-connection.h
7683                 - Add a "Banner" property that contains the returned VPN server login
7684                         banner (if any); valid only in the ACTIVATED state
7685                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7686                         a 'reason' argument and emits that reason along with the
7687                         state-changed signal
7688                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7689                 - (nm_vpn_connection_ip4_config_get): save banner for later
7690                 - (nm_vpn_connection_get_banner, get_property,
7691                    nm_vpn_connection_class_init): implement Banner property
7692
7693         * src/vpn-manager/nm-vpn-service.c
7694                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7695                         connection list because elements may get added/removed from it
7696                         while iterating over the list
7697                 - (connection_state_changed): signal now includes the 'reason' argument
7698
7699         * libnm-glib/nm-vpn-connection.c
7700           libnm-glib/nm-vpn-connection.h
7701                 - (nm_vpn_connection_get_banner): new function
7702                 - (state_changed_proxy): handle reason argument
7703
7704 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7705
7706         * src/nm-manager.c:
7707         * src/nm-manager.h:
7708         Implement device activation through NMManager.
7709         Implement "pending device activation" here - If the connection isn't found,
7710         we try to wait for up to 5 seconds for the connection to be provided.
7711         Add NMConnectionType argument to "connection-added" and "connection-removed"
7712         signals.
7713         (nm_manager_get): Remove. Finally.
7714
7715         * src/nm-activation-request.c: 
7716         * src/nm-activation-request.h: 
7717         Remove all the deferred activation code.
7718
7719         * src/nm-device.c: Remove all the deferred activation code. Once the device
7720         activation is started, it's started. Update the activation virtual function
7721         signature.
7722
7723         * src/nm-device-interface.c:
7724         * src/nm-device-interface.h:
7725         Device activation now takes only NMActRequest argument.
7726         Don't expose device activation directly on dbus, it's supposed to go through
7727         NMManager now.
7728
7729         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7730         a bit more compact.
7731         Use the new device activation methods through NMManager.
7732
7733         * introspection/nm-manager-client.xml: 
7734         * introspection/nm-manager.xml: 
7735         * libnm-glib/nm-client.c:
7736         * libnm-glib/nm-client.h:
7737         Add device activation method.
7738         
7739         * libnm-glib/nm-device.c: 
7740         * libnm-glib/nm-device.h: 
7741         * introspection/nm-device.xml: 
7742         Remove device activation method. It's done through NMManager now.
7743
7744         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7745         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7746
7747 2007-09-28  Dan Williams  <dcbw@redhat.com>
7748
7749         * libnm-glib/nm-vpn-connection.c
7750                 - (nm_vpn_connection_get_state): try to update state if the current
7751                         state is UNKNOWN
7752
7753 2007-09-27  Dan Williams  <dcbw@redhat.com>
7754
7755         Patch from Bill Nottingham
7756
7757         * src/supplicant-manager/nm-supplicant-config.c
7758                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7759                         data to the supplicant
7760
7761 2007-09-27  Dan Williams  <dcbw@redhat.com>
7762
7763         * src/NetworkManagerSystem.c
7764                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7765                         and all address manipulation here should be happening on the
7766                         _VPN_ device, not the active device
7767
7768 2007-09-26  Dan Williams  <dcbw@redhat.com>
7769
7770         * src/nm-manager.c
7771           src/nm-manager.h
7772           src/nm-activation-request.c
7773           src/nm-activation-request.h
7774                 - Move the GetSecrets stuff out of the NMManager instance because it
7775                         doesn't really need to be there and complicates things
7776
7777         * src/nm-device.c
7778                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7779                         connection-secrets-failed signal and deactivate the device if
7780                         the GetSecrets call fails
7781
7782         * src/nm-device-802-11-wireless.c
7783                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7784                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7785                         secrets and give correct hints about whether new secrets should be
7786                         asked for by the client or not
7787
7788 2007-09-26  Dan Williams  <dcbw@redhat.com>
7789
7790         * src/vpn-manager/nm-vpn-connection.c
7791                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7792                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7793                         to the secrets-updated signal of the NMConnection since updating
7794                         the secrets is done within the scope of the NMVPNConnection object
7795                         already
7796                 - (get_connection_secrets): fix an uninialized variable usage error
7797
7798 2007-09-26  Dan Williams  <dcbw@redhat.com>
7799
7800         * libnm-util/nm-setting.c
7801                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7802                         actually get updated when the user enters them
7803
7804 2007-09-26  Dan Williams  <dcbw@redhat.com>
7805
7806         * libnm-glib/nm-vpn-plugin.c
7807                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7808
7809 2007-09-26  Dan Williams  <dcbw@redhat.com>
7810
7811         * include/NetworkManagerVPN.h
7812                 - Add a NEED_AUTH state
7813
7814         * src/vpn-manager/nm-vpn-connection.c
7815                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7816                         the connection needs secrets, and if so, then ask the settings
7817                         service to fill in the secrets.  Then start the connection.
7818
7819 2007-09-26  Dan Williams  <dcbw@redhat.com>
7820
7821         * src/vpn-manager/nm-vpn-manager.c
7822                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7823
7824 2007-09-26  Dan Williams  <dcbw@redhat.com>
7825
7826         * introspection/nm-vpn-plugin.xml
7827           libnm-glib/nm-vpn-plugin.c
7828           libnm-glib/nm-vpn-plugin.h
7829                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7830                         the name of the NMSetting in an NMConnection that may require
7831                         secrets specific to that VPN plugin
7832
7833 2007-09-26  Dan Williams  <dcbw@redhat.com>
7834
7835         * src/nm-manager.c
7836           src/nm-manager.h
7837                 - (nm_manager_get_connection_secrets): make static, unused outside
7838                         the file
7839                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7840
7841 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7842
7843         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7844         method.
7845         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7846         unreference the connection.
7847
7848         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7849         passing properties hash and routes string list, pass NMConnection (in hashed form).
7850
7851         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7852         as GSList, no need to copy stuff around anymore.
7853         (nm_vpn_connection_activate): Update the plugin activation method.
7854
7855         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7856         routes argument to GSList.
7857
7858 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7859
7860         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7861         state and try to get the secrets.
7862
7863         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7864         connections from NMManager and let the device to choose the best from the list.
7865         Since the connection list is sorted by system ones first and user ones later,
7866         the devices still prefer system connections like they did before.
7867         (deactivate_old_device): Implement. When a device starts activation, we have a
7868         policy (for now at least) to deactivate any other device that might be either
7869         active or still activating.
7870
7871         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7872         It's set on construction, there will be no other way to access it.
7873
7874         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7875         device events and drive the device, not the other way around.
7876
7877         * src/nm-device-802-3-ethernet.c: Ditto.
7878
7879         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7880         sent along, pass it on to virtual functions.
7881
7882         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7883         for now, but should really be public instead of nm_device_get_iface() since iface
7884         is a property of the DeviceInterface, not Device.
7885         (impl_device_activate): Don't touch NMManager!
7886
7887 2007-09-26  Jürg Billeter  <j@bitron.ch>
7888
7889         * initscript/paldo/NetworkManager.in:
7890         * initscript/paldo/NetworkManagerDispatcher.in:
7891         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7892         (nm_system_flush_loopback_routes): update paldo backend
7893
7894 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7895
7896         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7897         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7898         which means none of the devices get brought down properly, which in turn leaves
7899         DHCP client running.
7900
7901         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7902         (supplicant_connection_timeout_cb): Ditto.
7903
7904 2007-09-25  Dan Williams  <dcbw@redhat.com>
7905
7906         * src/nm-device.c
7907                 - (device_activation_go): small hack to work around race when
7908                         activating deferred connections; should solve this in a better way
7909
7910 2007-09-25  Dan Williams  <dcbw@redhat.com>
7911
7912         * introspection/nm-device.xml
7913           libnm-glib/nm-device.c
7914           libnm-glib/nm-device.h
7915                 - Add 'Carrier' property to exported NMDevice objects
7916
7917         * src/nm-device-interface.h
7918           src/nm-device-interface.c
7919           src/nm-device.c
7920                 - Add a 'carrier' property to internal NMDevice objects
7921
7922 2007-09-25  Dan Williams  <dcbw@redhat.com>
7923
7924         * src/nm-device-802-11-wireless.c
7925                 - (ap_auth_enforced): also return the encryption status of the AP so
7926                         that callers can differentiate easily between unencrypted APs
7927                         and encrypted ones, in addition to whether the AP has an
7928                         authenticator
7929                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7930                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7931                         previously would request secrets from unencrypted APs at times
7932
7933 2007-09-25  Dan Williams  <dcbw@redhat.com>
7934
7935         * src/nm-manager.c
7936                 - (nm_manager_update_state): new function; updates state and emits
7937                         appropriate signals ensuring a state-change signal for the same state
7938                         never gets emitted twice in a row.
7939                 - (manager_device_state_changed): handle more device state to get a
7940                         better picture of the overall NM state
7941
7942 2007-09-25  Dan Williams  <dcbw@redhat.com>
7943
7944         * libnm-glib/nm-settings.c
7945           libnm-glib/nm-settings.h
7946                 - (new_error -> nm_settings_new_error): make public so that subclasses
7947                         can use the same error domain.  Also pass a valid error code to
7948                         g_error_new_literal() so that libdbus doesn't assert when converting
7949                         the GError into a DBusError
7950                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7951                    impl_connection_settings_get_settings,
7952                    impl_connection_settings_get_secrets): use new error creator
7953                         function
7954
7955 2007-09-25  Dan Williams  <dcbw@redhat.com>
7956
7957         * src/NetworkManager.c
7958                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7959
7960 2007-09-25  Dan Williams  <dcbw@redhat.com>
7961
7962         * src/supplicant-manager/nm-supplicant-manager.c
7963                 - (poke_supplicant_cb, nm_supplicant_manager_init,
7964                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
7965                    nm_supplicant_manager_startup): when the supplicant isn't running,
7966                         try to start it periodically via system bus activation.  Fixes
7967                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
7968                         for the supplicant to come back
7969
7970 2007-09-25  Dan Williams  <dcbw@redhat.com>
7971
7972         Ensure that old activation requests are forgotten about; previously
7973         hitting Cancel in the password dialog would deactivate whatever device
7974         that password was requested for, even if that wasn't the currently
7975         activating connection.
7976
7977         * src/nm-manager.c
7978           src/nm-manager.h
7979                 - (nm_manager_get_connection_secrets): track the pending call
7980                         object so it can be canceled later if needed
7981                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
7982                         GetSecrets call for a particular connection
7983
7984         * src/nm-activation-request.c
7985                 - (dispose): cancel any outstanding GetSecrets calls on the
7986                         connection
7987
7988 2007-09-25  Dan Williams  <dcbw@redhat.com>
7989
7990         * src/NetworkManagerPolicy.c
7991                 - (nm_policy_device_change_check): handle devices that have a
7992                         deferred activation.  These devices are not really active _yet_,
7993                         but need to be treated as such here.  Don't interrupt them
7994                         automatically.
7995
7996         * src/nm-device-interface.c
7997                 - (impl_device_activate): handle devices that have a deferred activation
7998                         like activating or active devices.  When multiple active devices
7999                         get committed, the device shouldn't be deactivated until the
8000                         connection details are available to avoid DoS and such.  Currently,
8001                         any active, activating, or deferred activation device is deactivated
8002                         here before starting the new activation request.
8003
8004 2007-09-25  Dan Williams  <dcbw@redhat.com>
8005
8006         Properly re-query secrets from the settings daemon when stuff fails.
8007
8008         * src/nm-device-802-11-wireless.c
8009                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
8010                         between Shared Key and Open System auth modes
8011                 - (link_timeout_cb, supplicant_connection_timeout_cb,
8012                    real_act_stage4_ip_config_timeout): clear existing secrets and
8013                         request new ones when something fails due to a suspected wrong key
8014                 - (real_act_stage2_config): fix for new request_new argument to
8015                         nm_manager_get_connection_secrets()
8016
8017         * src/nm-manager.c
8018           src/nm-manager.h
8019                 - (nm_manager_get_connection_secrets): return error status; pass
8020                         new request_new argument on to the settings daemon
8021
8022         * introspection/nm-settings-connection.xml
8023                 - New 'request_new' argument to the GetSecrets call that hints to the
8024                         settings daemon to ask the user for completely new secrets
8025
8026         * libnm-glib/nm-settings.c
8027           libnm-glib/nm-settings.h
8028                 - (impl_connection_settings_get_secrets): handle new 'request_new'
8029                         argument
8030
8031 2007-09-25  Dan Williams  <dcbw@redhat.com>
8032
8033         * libnm-util/nm-connection.c
8034           libnm-util/nm-connection.h
8035                 - (nm_connection_clear_secrets): new function; clear secrets out of
8036                         each NMSetting in an NMConnection
8037
8038         * libnm-util/nm-setting.h
8039           libnm-util/nm-setting.c
8040                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
8041                         secrets out of an NMSetting
8042                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
8043                    nm_setting_wired_new, nm_setting_wireless_new,
8044                    nm_setting_wireless_security_new, nm_setting_ppp_new,
8045                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
8046                         to default handler default_setting_clear_secrets()
8047
8048 2007-09-25  Dan Williams  <dcbw@redhat.com>
8049
8050         * src/nm-activation-request.c
8051           src/nm-activation-request.h
8052                 - (nm_act_request_is_deferred): new function
8053
8054 2007-09-24  Dan Williams  <dcbw@redhat.com>
8055
8056         * src/nm-device-802-11-wireless.c
8057                 - (activation_success_handler): update signal strength immediately
8058                         after activation
8059
8060 2007-09-24  Dan Williams  <dcbw@redhat.com>
8061
8062         * libnm-util/nm-setting.c
8063                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
8064
8065 2007-09-24  Dan Williams  <dcbw@redhat.com>
8066
8067         * src/NetworkManagerPolicy.c
8068                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
8069                         device by deactivating it because it doesn't have a "best connection".
8070                         Since autoconnect=False connections aren't automatically chosen,
8071                         NM would interrupt activation of such a connection because it
8072                         would never be "best" due to autoconnect=False.
8073
8074 2007-09-24  Dan Williams  <dcbw@redhat.com>
8075
8076         * src/nm-manager.c
8077                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
8078                         actually has some time to enter a key before the GetSecrets call
8079                         times out
8080
8081 2007-09-24  Dan Williams  <dcbw@redhat.com>
8082
8083         * introspection/nm-manager.xml
8084           src/nm-manager.c
8085                 - (impl_manager_legacy_state): fix 'state' method call return value
8086
8087 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
8088
8089         * test/Makefile.am: Install nm-tool
8090
8091 2007-09-24  Dan Williams  <dcbw@redhat.com>
8092
8093         Patch from Ross Burton <ross@burtonini.com>
8094
8095         * test/nm-tool.c
8096           callouts/nm-dhcp-client-action.c
8097           src/nm-netlink.c
8098           src/vpn-manager/nm-vpn-connection.c
8099           libnm-glib/libnm-glib-test.c
8100                 - warning fixes
8101
8102 2007-09-24  Dan Williams  <dcbw@redhat.com>
8103
8104         * libnm-util/nm-utils.h
8105           libnm-util/nm-utils.c
8106                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
8107                         remove, unused
8108
8109 2007-09-23  Dan Williams  <dcbw@redhat.com>
8110
8111         * vpn-daemons/vpnc/properties/nm-vpnc.c
8112                 - Update for new VPN properties API bits; instead of passing around
8113                         a lot of random things, everything goes into the NMConnection
8114                         object.
8115
8116 2007-09-23  Dan Williams  <dcbw@redhat.com>
8117
8118         * libnm-util/nm-setting.c
8119                 - Correctly dispose of settings objects if creating them from a hash
8120                         table fails
8121
8122 2007-09-23  Dan Williams  <dcbw@redhat.com>
8123
8124         * libnm-util/nm-setting.c
8125                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
8126                         the hash table in a standard manner.  Clients of libnm-util should
8127                         only call g_hash_table_remove_all(), never destroy the hash table
8128                         and recreate it.
8129
8130 2007-09-22  Dan Williams  <dcbw@redhat.com>
8131
8132         * src/nm-device-802-11-wireless.c
8133                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
8134                         real reason to do it so often, and reduces wakeups for clients.
8135
8136 2007-09-21  Dan Williams  <dcbw@redhat.com>
8137
8138         * src/nm-device-802-11-wireless.c
8139                 - (build_supplicant_config): wpa_supplicant requires the option
8140                         key_mgmt=NONE for unencrypted networks
8141                 - (real_act_stage2_config): clarify log message on activation
8142
8143 2007-09-21  Dan Williams  <dcbw@redhat.com>
8144
8145         * test/nm-supplicant-test.c
8146           test/Makefile.am
8147                 - Remove supplicant test binary; no longer applicable
8148
8149 2007-09-21  Dan Williams  <dcbw@redhat.com>
8150
8151         * src/supplicant-manager/nm-supplicant-manager.c
8152                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8153                         activate it on the system bus
8154
8155 2007-09-20  Dan Williams  <dcbw@redhat.com>
8156
8157         * initscript/RedHat/NetworkManager.in
8158                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8159
8160 2007-09-20  Dan Williams  <dcbw@redhat.com>
8161
8162         * src/nm-device.c
8163                 - (nm_device_is_activating): work around a race between auto-activation
8164                         and the user activating the same device that is being auto-activated
8165
8166 2007-09-20  Dan Williams  <dcbw@redhat.com>
8167
8168         * src/nm-device-interface.c
8169                 - (impl_device_activate): until multiple active device support lands,
8170                         ensure only one device can be active at a time
8171
8172 2007-09-20  Dan Williams  <dcbw@redhat.com>
8173
8174         * src/supplicant-manager/nm-supplicant-config.c
8175           src/supplicant-manager/nm-supplicant-config.h
8176                 - (nm_supplicant_config_add_option): hide secrets from system logs
8177
8178 2007-09-20  Dan Williams  <dcbw@redhat.com>
8179
8180         * src/NetworkManagerPolicy.c
8181                 - (nm_policy_device_change_check): re-enable the wireless device change
8182                         checking code; insted of checking for SSIDs, check for the same
8183                         connection instead
8184
8185 2007-09-20  Dan Williams  <dcbw@redhat.com>
8186
8187         * src/nm-device-802-11-wireless.c
8188                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8189                         composite link state when determining when to start the disconnection
8190                         timer; that link state is already based on the supplicant interface's
8191                         status which is exactly what's already being examined, plus the link
8192                         state is a conglomeration of various things that we don't want here
8193
8194 2007-09-20  Dan Williams  <dcbw@redhat.com>
8195
8196         * libnm-glib/nm-access-point.c
8197                 - (handle_property_changed): strength is a UCHAR
8198
8199 2007-09-20  Dan Williams  <dcbw@redhat.com>
8200
8201         * src/supplicant-manager/nm-supplicant-config.c
8202                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8203                         string list keywords too since that's what wpa_supplicant wants
8204
8205 2007-09-20  Dan Williams  <dcbw@redhat.com>
8206
8207         * libnm-util/nm-setting.c
8208                 - (convert_strv_to_slist): dupe the values in the list because since
8209                         the list is a boxed value, it'll get destroyed when it's container
8210                         (like a hash table or whatever) gets destroyed
8211
8212 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8213
8214         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8215         GSList.
8216
8217         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8218
8219         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8220         just use (g_object_set_data_full).
8221
8222         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8223         that NMSettingVPN->routes is a GSList, convert it to char **.
8224         (nm_vpn_connection_ip4_config_get): Free routes when done.
8225         (nm_vpn_connection_activate): Ditto.
8226
8227         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8228         (real_act_stage2_config): Use defined setting names.
8229
8230 2007-09-20  Dan Williams  <dcbw@redhat.com>
8231
8232         * src/nm-device-802-11-wireless.c
8233           src/nm-manager.c
8234           src/nm-manager.h
8235                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8236                         so that the device can be deactivated if secrets are wrong
8237
8238 2007-09-20  Dan Williams  <dcbw@redhat.com>
8239
8240         * introspection/nm-settings-connection.xml
8241           libnm-glib/nm-settings.c
8242           libnm-glib/nm-settings.h
8243                 - Make GetSecrets asynchronous on the server side
8244
8245 2007-09-20  Dan Williams  <dcbw@redhat.com>
8246
8247         * src/nm-manager.h
8248           src/nm-device.c
8249                 - (nm_device_activate): actually check if a given connection
8250                         exists before assuming it doesn't
8251
8252 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8253
8254         * libnm-util/nm-connection.c (register_default_creators): Use defined
8255         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8256
8257         * libnm-util/nm-setting.c: Define property name strings, use them.
8258         Implement NMSettingVPN and NMSettingVPNProperties settings.
8259         Implement NM_S_TYPE_GVALUE_HASH.
8260         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8261         (setting_connection_verify): Rename 'devtype' property to 'type'.
8262
8263         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8264         properties.
8265
8266         * src/vpn-manager/nm-vpn-service.c: Ditto.
8267
8268         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8269
8270         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8271         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8272
8273         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8274         names. NMSettingConnection->devtype got renamed to 'type'.
8275
8276         * src/nm-device-802-3-ethernet.c (find_best_connection):
8277         (real_get_best_connection): Ditto.
8278
8279         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8280
8281         * libnm-glib/nm-vpn-manager.[ch]: Update.
8282
8283 2007-09-19  Dan Williams  <dcbw@redhat.com>
8284
8285         * src/NetworkManagerAP.c
8286           src/NetworkManagerAP.h
8287           introspection/nm-access-point.xml
8288                 - Change strength-changed signal into a properties-changed signal
8289                         for all properties, not just strength.  Export that signal over dbus
8290                         so listeners don't have to poll NM for changes.
8291                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8292                         get exported over D-Bus, so break up the logic and let other bits
8293                         decided when to export the AP
8294                 - (nm_ap_new_from_ap): remove, unused
8295
8296         * src/nm-device-802-11-wireless.c
8297                 - (merge_scanned_ap): only export APs that are actually on the device
8298                         list, not every AP created internally
8299
8300         * libnm-glib/nm-access-point.c
8301           libnm-glib/nm-access-point.h
8302                 - Cache properties internally and only hit DBus when needed.  Get
8303                         property updates from NM signals
8304
8305 2007-09-16  Dan Williams  <dcbw@redhat.com>
8306
8307         * libnm-util/nm-connection.c
8308           libnm-util/nm-connection.h
8309                 - (nm_connection_for_each_setting_value): new function; iterate over
8310                         each setting's value and call a user-provided function with details
8311                         about that value
8312
8313         * libnm-util/nm-setting.c
8314           libnm-util/nm-setting.h
8315                 - (nm_setting_enumerate_values): new function; enumerate the values
8316                         of a specific NMSetting subclass for a user-provided function with
8317                         details about that value
8318                 - Change wep_tx_keyidx to a uint32
8319                 - Create settings value tables for each setting defining their type,
8320                         key name, offset into the NMSetting subclass' structure, and whether
8321                         they are required and/or a secret
8322                 - (nm_setting_populate_from_hash): generic function to populate an
8323                         NMSetting from a GHash table, make all settings use it
8324                 - (nm_setting_hash): generic function to derive a GHashTable from
8325                         an NMSetting object, make all settings use it
8326
8327 2007-09-14  Dan Williams  <dcbw@redhat.com>
8328
8329         Remove unused stuff in libnm-util
8330
8331         * configure.in
8332           libnm-util/Makefile.am
8333           libnm-util/cipher-private.h
8334           libnm-util/cipher-wep-ascii.c
8335           libnm-util/cipher-wep-ascii.h
8336           libnm-util/cipher-wep-hex.c
8337           libnm-util/cipher-wep-hex.h
8338           libnm-util/cipher-wep-passphrase.c
8339           libnm-util/cipher-wep-passphrase.h
8340           libnm-util/cipher-wpa-psk-hex.c
8341           libnm-util/cipher-wpa-psk-hex.h
8342           libnm-util/cipher-wpa-psk-passphrase.c
8343           libnm-util/cipher-wpa-psk-passphrase.h
8344           libnm-util/cipher.c
8345           libnm-util/cipher.h
8346           libnm-util/dbus-helpers.c
8347           libnm-util/dbus-helpers.h
8348           libnm-util/gnome-keyring-md5.c
8349           libnm-util/gnome-keyring-md5.h
8350           libnm-util/sha1.c
8351           libnm-util/sha1.h
8352           src/nm-device-802-11-wireless.c
8353           test/libnm-util/Makefile.am
8354           test/libnm-util/test-ciphers.c
8355           test/libnm-util/test-dbus-helpers.c
8356           test/libnm-util/test-inputs.h
8357                 - Removed
8358
8359 2007-09-14  Dan Williams  <dcbw@redhat.com>
8360
8361         * libnm-util/dbus-method-dispatcher.c
8362           libnm-util/dbus-method-dispatcher.h
8363                 - Remove, unused
8364
8365 2007-09-14  Dan Williams  <dcbw@redhat.com>
8366
8367         Implement deferred activation support in the device class.
8368
8369         * src/nm-device-interface.c
8370           src/nm-device-interface.h
8371                 - (nm_device_interface_activate): take more arguments to support
8372                         deferred activation; callers must pass one of (connection) OR
8373                         (service_name, connection_path)
8374                 - (impl_device_activate): connection validation is punted to the device
8375                         to be able to handle deferred activation.  Yes, this means errors
8376                         don't get returned from the Activate() dbus call, and yes, that
8377                         should be fixed somehow later.
8378
8379         * src/nm-device.c
8380           src/nm-device.h
8381                 - (clear_act_request): clear additional deferred activation stuff too
8382                 - (deferred_activation_timeout_cb): new function; clean up when
8383                         deferred activation times out.
8384                 - (deferred_activation_start_cb): new function; when the connection
8385                         finally becomes available, start device activation
8386                 - (nm_device_activate): attach to the right signals of the activation
8387                         request if we need to defer activation until the connection is valid
8388
8389         * src/NetworkManagerPolicy.c
8390                 - (nm_policy_device_change_check): update for additional arguments
8391                         required for nm_device_interface_activate().  Pass NULL for these
8392                         though because this function already knows exactly which
8393                         NMConnection to use
8394
8395 2007-09-14  Dan Williams  <dcbw@redhat.com>
8396
8397         Implement deferred activation handling in the NMActRequest class.  When a
8398         client wants to activate a device but must create the NMConnection details
8399         on the fly, there likely hasn't been enough time yet for NM to receive the
8400         new connection signal and grab all the connection details.  So the
8401         activation is deferred (and bounded by a timer) for a while, and if the
8402         connection appears within the window, it is activated.
8403
8404         * src/nm-activation-request.c
8405           src/nm-activation-request.h
8406                 - (nm_act_request_class_init): two new signals to support deferred
8407                         activation, to allow the listener to handle both timeout and success
8408                 - (nm_act_request_new_deferred): new function, starts the deferred
8409                         activation timeout handler and listens to the NMManager for
8410                         new-connection signals to notice when the connection comes in
8411
8412 2007-09-14  Dan Williams  <dcbw@redhat.com>
8413
8414         * src/nm-manager.h
8415           src/nm-manager.c
8416                 - (nm_manager_get_connection_service_name,
8417                    nm_manager_get_connection_dbus_path): get details about a connection
8418                         known internally by the NMManager
8419                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8420                         because NMConnection is now a GObject subclass
8421                 - Use constant for the gobject data tag used on NMConnection objects for
8422                         storing the associated DBusGProxy
8423
8424 2007-09-14  Dan Williams  <dcbw@redhat.com>
8425
8426         * utils/Makefile.am
8427           utils/nm-utils.c
8428           utils/nm-utils.h
8429           src/supplicant-manager/Makefile.am
8430           src/dhcp-manager/Makefile.am
8431           src/backends/Makefile.am
8432           src/named-manager/Makefile.am
8433           src/ppp-manager/Makefile.am
8434           src/vpn-manager/Makefile.am
8435           test/libnm-util/Makefile.am
8436           test/test-common/Makefile.am
8437                 - Remove utils/; it was unused
8438
8439 2007-09-13  Dan Williams  <dcbw@redhat.com>
8440
8441         * libnm-glib/nm-vpn-manager.h
8442           libnm-glib/nm-vpn-manager.c
8443                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8444
8445 2007-09-13  Dan Williams  <dcbw@redhat.com>
8446
8447         * src/nm-device-802-3-ethernet.c
8448                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8449                         netlink monitor carrier signals on dispose, not bring down.  The
8450                         carrier signals should be handled over the entire lifetime of the
8451                         device anyway, not created/destroyed on up or down.
8452
8453 2007-09-13  Dan Williams  <dcbw@redhat.com>
8454
8455         * libnm-glib/nm-device.c
8456           libnm-glib/nm-device.h
8457                 - (nm_device_activate): take a connection object path rather than an
8458                         NMConnection because NMConnection isn't exported over D-Bus and
8459                         therefore it dbus-glib can't automatically get an object path from it
8460
8461 2007-09-13  Dan Williams  <dcbw@redhat.com>
8462
8463         * libnm-util/nm-setting.c
8464                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8465
8466 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8467
8468         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8469
8470 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8471
8472         * src/vpn-manager/nm-vpn-connection.[ch]: 
8473         * src/vpn-manager/nm-vpn-manager.[ch]:
8474         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8475         dbus-glib, GObjects, signals etc.
8476
8477         * libnm-glib/nm-vpn-manager.[ch]: 
8478         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8479         so much, rewrite these too.
8480
8481         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8482         the new introspection files.
8483
8484         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8485
8486         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8487         the header with the same name from libnm-utils.
8488
8489         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8490
8491         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8492
8493         * introspection/nm-vpn-plugin.xml: Implement.
8494
8495         * introspection/nm-vpn-connection.xml: Implement.
8496
8497         * introspection/nm-vpn-manager.xml: Implement.
8498
8499         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8500         the named manager argument, it can just as easily get it as the caller.
8501         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8502
8503         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8504
8505         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8506
8507         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8508         libnm-utils.
8509
8510         * libnm-util/nm-connection.c: Ditto.
8511
8512         * src/NetworkManagerMain.h: Remove, it's finally empty.
8513
8514         * configure.in: Remove utils/ from build.
8515
8516         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8517         of hard-coded strings.
8518
8519         * utils/: Move it over to libnm-util.
8520
8521         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8522
8523         * dispatcher-daemon/Makefile.am: Ditto.
8524
8525         * src/Makefile.am: Ditto.
8526
8527 2007-09-12  Dan Williams  <dcbw@redhat.com>
8528
8529         Wireless connections can be made with config data from the applet now.
8530         
8531         Yay.
8532
8533         * src/supplicant-manager/nm-supplicant-config.h
8534           src/supplicant-manager/nm-supplicant-config.c
8535                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8536                 - (nm_supplicant_config_add_setting_wireless,
8537                    nm_supplicant_config_add_setting_wireless_security): new functions;
8538                         add key/value pairs from the settings objects to the supplicant
8539                         config
8540
8541         * src/nm-device-802-11-wireless.c
8542                 - (cull_scan_list): fix check to not prune currently associated AP
8543                 - (build_supplicant_config, real_act_stage2_config): call the functions
8544                         of the NMSupplicantConfig that parse settings objects rather than
8545                         doing it manually here
8546
8547 2007-09-12  Dan Williams  <dcbw@redhat.com>
8548
8549         * src/supplicant-manager/nm-supplicant-interface.c
8550           src/supplicant-manager/nm-supplicant-marshal.list
8551                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8552                         "connection-error" signal arguments should be STRING not CHAR
8553
8554 2007-09-12  Dan Williams  <dcbw@redhat.com>
8555
8556         * src/NetworkManagerUtils.c
8557           src/NetworkManagerUtils.h
8558                 - (nm_utils_hexstr2bin): new function
8559
8560 2007-09-11  Dan Williams  <dcbw@redhat.com>
8561
8562         * src/nm-manager.c
8563                 - (connection_get_settings_cb): emit connection-added signal
8564                 - (connection_removed_cb): uncomment bits for system settings service,
8565                         send connection-removed when appropriate
8566                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8567                         the stack by trying to g_object_set_data() on something that's
8568                         not a GObject; handle case where settings service returns
8569                         empty settings hash table
8570
8571 2007-09-11  Dan Williams  <dcbw@redhat.com>
8572
8573         * src/NetworkManagerPolicy.c
8574                 - (connection_added, connection_removed): trigger device change checks
8575                         on connection changes
8576
8577 2007-09-11  Dan Williams  <dcbw@redhat.com>
8578
8579         * src/nm-activation-request.c
8580                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8581
8582 2007-09-11  Dan Williams  <dcbw@redhat.com>
8583
8584         * src/nm-device-802-11-wireless.c
8585                 - (real_connection_secrets_updated): fix erroneous check
8586
8587 2007-09-11  Dan Williams  <dcbw@redhat.com>
8588
8589         * introspection/nm-device.xml
8590           libnm-glib/nm-device.c
8591           libnm-glib/nm-device.c
8592                 - Fix Activate call argument borkage; Activate takes 3 arguments
8593
8594 2007-09-11  Dan Williams  <dcbw@redhat.com>
8595
8596         * libnm-glib/nm-access-point.c
8597           libnm-glib/nm-access-point.c
8598                 - (nm_access_point_get_frequency): now returns guint32 to match
8599                         property change on 2007-09-10
8600
8601 2007-09-11  Dan Williams  <dcbw@redhat.com>
8602
8603         * src/nm-device-802-11-wireless.c
8604                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8605                         somewhere defines 'index' and I missed this one when I fixed the
8606                         shadow declaration errors earlier
8607
8608 2007-09-11  Dan Williams  <dcbw@redhat.com>
8609
8610         * libnm-util/nm-connection.c
8611                 - (nm_connection_update_secrets, need_secrets_check): move
8612                         802-11-wireless-security need_secrets checks to the setting object
8613                         itself, where it belongs
8614
8615         * libnm-util/nm-setting.c
8616           libnm-util/nm-setting.h
8617                 - (nm_setting_need_secrets): new function
8618                 - (setting_wireless_security_verify,
8619                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8620                 - (setting_wireless_security_need_secrets): mostly copy code over
8621                         from nm-connection.c
8622
8623 2007-09-11  Dan Williams  <dcbw@redhat.com>
8624
8625         * libnm-util/nm-setting.c
8626           libnm-util/nm-setting.h
8627                 - (nm_setting_update_secrets): new function; add a virtual function that
8628                         subclasses can implement to update their secrets
8629                 - (setting_wireless_security_update_secrets): implement that function
8630                         for the 802-11-wireless-security subclass
8631
8632         * libnm-util/nm-connection.c
8633           libnm-util/nm-connection.h
8634                 - (nm_connection_update_secrets): update secrets for a Setting and
8635                         emit a signal on success
8636
8637         * src/nm-manager.c
8638           src/nm-manager.h
8639           src/nm-marshal.list
8640                 - (connection_get_settings_cb): enable system settings bits
8641                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8642                         to request secrets from the settings dbus service and to
8643                         push those secrets to the NMConnection itself
8644
8645         * src/nm-activation-request.c
8646           src/nm-activation-request.h
8647                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8648                         currently being activated, and proxy that signal to other listeners.
8649                         Goes through the activation request because the activation request
8650                         is the thing that manages the lifetime of the NMConnection that's
8651                         being activated.
8652
8653         * src/nm-device-802-11-wireless.c
8654                 - (real_connection_secrets_updated): implement the connection secrets
8655                         updated notification and restart activation when secrets are
8656                         received
8657                 - (real_act_stage2_config): request secrets from the settings dbus
8658                         service if secrets are needed
8659
8660         * src/nm-device.c
8661           src/nm-device.h
8662                 - (clear_act_request, nm_device_activation_cancel,
8663                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8664                         where the activation request is cleared
8665                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8666                         updated secrets signal of activation request and add a function
8667                         that subclasses can override to handle it easily
8668
8669 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8670
8671         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8672         removal of NetworkManagerAPList.
8673
8674 2007-09-10  Dan Williams  <dcbw@redhat.com>
8675
8676         * src/NetworkManagerAP.c
8677           src/NetworkManagerAP.h
8678           introspection/nm-access-point.xml
8679                 - Change 'freq' property to a guint32 instead of a double since we
8680                         weren't using the floating point bits anyway
8681
8682 2007-09-10  Dan Williams  <dcbw@redhat.com>
8683
8684         * NetworkManagerAP.c
8685           NetworkManagerAP.h
8686           NetworkManagerPolicy.c
8687           NetworkManagerSystem.c
8688           NetworkManagerUtils.c
8689           NetworkManagerUtils.h
8690           nm-device-802-11-wireless.c
8691           nm-device-802-3-ethernet.c
8692           nm-hal-manager.c
8693           nm-manager.c
8694           vpn-manager/nm-dbus-vpn.c
8695                 - Warning fixes; casts and removal of unused variables
8696
8697 2007-09-10  Dan Williams  <dcbw@redhat.com>
8698
8699         * include/NetworkManager.h
8700                 - Kill NMNetworkType; AP types don't matter any more
8701
8702         * src/NetworkManagerAPList.c
8703           src/NetworkManagerAPList.h
8704           src/Makefile.am
8705                 - Kill; NMAccessPointList has outlived it's usefulness
8706
8707         * src/NetworkManagerAP.c
8708           src/NetworkManagerAP.h
8709                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8710                         functions; check if an NMConnection object is compatible with the
8711                         settings of this AP
8712                 - (freq_to_channel, channel_to_freq): utility functions for
8713                         channel <-> frequency conversion
8714
8715         * src/nm-device.c
8716           src/nm-device.h
8717                 - (nm_device_get_best_connection): pass the specific object around
8718                          (which might be the object path of a specific AP to connect to).
8719                          The get_best_connection() call should populate this on return
8720                          if needed (wireless does).
8721
8722         * src/nm-device-802-3-ethernet.c
8723                 - (real_get_best_connection): handle specific_object argument
8724
8725         * src/NetworkManager.c
8726           src/NetworkManagerMain.h
8727                 - Remove unused includes
8728
8729         * src/nm-device-802-11-wireless.c
8730           src/nm-device-802-11-wireless.h
8731                 - Convert the ap_list into a GSList from an NMAccessPointList
8732                 - No need for caching the 'activation_ap' since this is now determined
8733                         from the specific_object of the activation request, which is
8734                         populated from the get_best_connection() call or from a user request
8735                 - (nm_device_802_11_wireless_update_bssid): fix warning
8736                 - (get_wireless_capabilities): fix error message format arguments
8737                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8738                 - (find_best_connection, real_get_best_connection): implement
8739                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8740                         move here from NetworkManagerAPList
8741                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8742                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8743                         already verified earlier
8744                 - (real_act_stage2_config): use nm_connection_need_secrets()
8745
8746         * src/NetworkManagerPolicy.c
8747                 - (nm_policy_auto_get_best_device): handle specific objects
8748                 - (create_connection): remove; automatic connection creation functionality
8749                         is handled by the Connection objects
8750                 - (nm_policy_device_change_check): handle specific_object
8751
8752         * libnm-util/nm-connection.c
8753                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8754
8755 2007-09-10  Dan Williams  <dcbw@redhat.com>
8756
8757         * src/nm-manager.c
8758                 - (query_connections): fix uninitialized variable problem that caused
8759                         segfault
8760                 - (nm_manager_add_device): take devices down on startup so that we can
8761                         be assured that nm_device_is_up() won't short-circuit the init
8762                         process.  Hack until the is_up check gets split into two pieces
8763                         that aren't behaviorally confusing.
8764
8765 2007-09-09  Dan Williams  <dcbw@redhat.com>
8766
8767         * introspection/nm-device.xml
8768                 - The 'Activate' method now takes 3 arguments, a service name for the
8769                 settings service (user or system), the object path of the connection
8770                 to activate, and the specific object to activate, if any
8771
8772         * src/nm-device-interface.c
8773                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8774                 Add error bits
8775                 - (impl_device_activate): adapt to new Activate arguments; validate
8776                 the service name and get the Connection object from the NMManager
8777                 before starting to activate the device with the specified connection
8778
8779         * src/nm-device-802-3-ethernet.c
8780                 - (real_get_best_connection): find the best connection, or create a
8781                 default one if no existing connections can be used
8782
8783         * src/NetworkManagerPolicy.c
8784                 - (nm_policy_auto_get_best_device): Get the device's best connection
8785                 and only pick the device if it has one
8786                 - (nm_policy_device_change_check): disable wireless bits for now until
8787                 wireless get_best_connection() can be implemented (replacing "best_ap");
8788                 don't create a default connection here as the device subclass will do
8789                 that if needed
8790
8791         * src/nm-manager.h
8792           src/nm-manager.c
8793                 - (nm_manager_get): make NMManager a singleton and expose the getter
8794                 internally
8795                 - Rework internal NMManager connection handling to use the same
8796                 routines for both the system and user settings services.  Most calls
8797                 take a new NMConnectionType argument specifying either system or user
8798                 connections
8799                 - (nm_manager_get_connection_by_object_path): new function; get a
8800                 connection keyed on its object path
8801
8802         * src/NetworkManager.c
8803                 - (main): use nm_manager_get()
8804
8805 2007-09-09  Dan Williams  <dcbw@redhat.com>
8806
8807         * src/nm-device.h
8808           src/nm-device.c
8809                 - (nm_device_get_best_connection): new function; get best connection
8810                         for the device at that time
8811
8812 2007-09-09  Dan Williams  <dcbw@redhat.com>
8813
8814         * src/nm-device-interface.h
8815                 - Add NMDeviceInterfaceError with an UnknownConnection error
8816
8817 2007-09-09  Dan Williams  <dcbw@redhat.com>
8818
8819         Stupid mistake on my part; object path and interface for settings service
8820         and connection objects can be the same, only the service name must be
8821         different for the system and user settings services.
8822
8823         * include/NetworkManager.h
8824           src/nm-manager.c
8825           introspection/nm-settings-connection.xml
8826           introspection/nm-settings.xml
8827           libnm-glib/nm-settings.c
8828                 - (nm_connection_settings_init, query_user_connections,
8829                    new_connection_cb): Unify NetworkManagerSettings and Connection
8830                    interface name and object path
8831
8832 2007-09-06  Dan Williams  <dcbw@redhat.com>
8833
8834         * libnm-glib/nm-object.c
8835                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8836                    nm_object_get_int_property, nm_object_get_uint_property,
8837                    nm_object_get_boolean_property, nm_object_get_byte_property,
8838                    nm_object_get_double_property, nm_object_get_byte_array_property):
8839                         clear GValues after copying their contents, fixes memory leaks
8840                         after every property access because dbus-glib copies the values
8841                         from the DBusMessage into the GValue already.
8842
8843 2007-09-06  Dan Williams  <dcbw@redhat.com>
8844
8845         * introspection/nm-access-point.xml
8846                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8847                         them to be.  There's some magic property name parsing going on in
8848                         dbus-glib that breaks up property names based on studly-caps and
8849                         puts - between words.
8850
8851         * libnm-glib/nm-access-point.c
8852                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8853                         Fix property names
8854
8855 2007-09-06  Dan Williams  <dcbw@redhat.com>
8856
8857         * src/nm-manager.c
8858                 - (nm_manager_user_connections_destroy): clear the user connections hash
8859                         table, don't destroy it
8860                 - (finalize): only destroy the hash table on NMManager finalization
8861
8862 2007-09-02  Dan Williams  <dcbw@redhat.com>
8863
8864         * include/NetworkManager.h
8865           libnm-glib/nm-settings.c
8866                 - defines for the user settings daemon D-Bus bits
8867
8868         * src/NetworkManager.c
8869                 - Remove stuff that referred to the old NetworkManagerInfo service
8870
8871         * src/vpn-manager/nm-dbus-vpn.h
8872                 - Move old NMI defines to the only place they are used still
8873
8874         * libnm-util/nm-connection.c
8875           libnm-util/nm-connection.h
8876           src/nm-activation-request.c
8877                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8878
8879         * src/nm-manager.c
8880           src/nm-manager.h
8881                 - Get connections and their settings from the user settings daemon
8882                         at the appropriate times
8883
8884 2007-09-02  Dan Williams  <dcbw@redhat.com>
8885
8886         * libnm-util/nm-setting.c
8887                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8888                 - (setting_wireless_hash): set the right value on the item
8889
8890 2007-09-02  Dan Williams  <dcbw@redhat.com>
8891
8892         * test/Makefile.am
8893           test/nminfotest.c
8894                 - Remove, no longer useful
8895
8896 2007-08-30  Dan Williams  <dcbw@redhat.com>
8897
8898         * src/Makefile.am
8899           src/NetworkManagerDbus.c
8900           src/NetworkManagerDbus.h
8901           src/vpn-manager/nm-dbus-vpn.c
8902                 - Remove, no longer necessary.  Move last bits to the only place its
8903                 used, in nm-dbus-vpn.c
8904
8905         * src/NetworkManagerAPList.c
8906           src/nm-device.c
8907           src/NetworkManager.c
8908           src/nm-device-802-11-wireless.c
8909           src/vpn-manager/nm-vpn-manager.c
8910           src/vpn-manager/nm-vpn-service.c
8911           src/NetworkManagerPolicy.c
8912           src/nm-manager.c
8913                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8914                 that was message_is_error()
8915
8916 2007-08-30  Dan Williams  <dcbw@redhat.com>
8917
8918         * libnm-util/sha1.c
8919                 - Include config.h to get defines for endiannes (gnome.org #420216)
8920
8921 2007-08-30  Dan Williams  <dcbw@redhat.com>
8922
8923         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8924
8925         * src/ppp-manager/Makefile.am
8926                 - use -fPIC (gnome.org #471825)
8927
8928 2007-08-29  Dan Williams  <dcbw@redhat.com>
8929
8930         * include/NetworkManager.h
8931                 - Keep NMConnection object path in sync
8932
8933         * libnm-glib/nm-settings.c
8934           libnm-glib/nm-settings.h
8935                 - Break D-Bus object registration out of the init function, because
8936                 every object that's exported over D-Bus needs to use the _same_
8937                 DBusConnection.  Otherwise, each object would get a different object
8938                 path tree and wouldn't be callable.
8939
8940 2007-08-29  Dan Williams  <dcbw@redhat.com>
8941
8942         * libnm-util/nm-setting.h
8943           libnm-util/nm-setting.c
8944           libnm-util/nm-connection.c
8945           src/NetworkManagerPolicy.c
8946                 - 'info' settings object should be 'connection' says the spec
8947                 at NetworkManagerConfigurationSpecification
8948
8949 2007-08-29  Dan Williams  <dcbw@redhat.com>
8950
8951         * libnm-glib/nm-settings.c
8952           libnm-glib/nm-settings.h
8953                 - make the dbus path a property of the object, and autogenerate it.
8954                 It can't be composed of the 'id' field becuase that's not available
8955                 yet during the GObject creation in nm_connection_settings_init()
8956
8957 2007-08-29  Dan Williams  <dcbw@redhat.com>
8958
8959         * introspection/nm-settings-connection.xml
8960           introspection/nm-settings.xml
8961                 - Service name -> NetworkManagerUserSettings because two services
8962                 can't share part of the same path.  I'm not really sure how we'll use
8963                 the same code with the system-settings daemon...
8964
8965 2007-08-28  Dan Williams  <dcbw@redhat.com>
8966
8967         * src/nm-device-interface.c
8968           src/nm-device-interface.h
8969                 - Kill one more bit of NMData
8970
8971 2007-08-28  Dan Williams  <dcbw@redhat.com>
8972
8973         * src/NetworkManagerSystem.h
8974           src/nm-device.c
8975           src/nm-device.h
8976           src/nm-hal-manager.c
8977           src/NetworkManager.c
8978           src/nm-device-802-11-wireless.c
8979           src/nm-hal-manager.h
8980           src/nm-device-802-3-ethernet.c
8981           src/vpn-manager/nm-vpn-service.h
8982           src/vpn-manager/nm-vpn-manager.c
8983           src/vpn-manager/nm-vpn-manager.h
8984           src/vpn-manager/nm-vpn-service.c
8985           src/nm-device-802-11-wireless.h
8986           src/NetworkManagerMain.h
8987           src/nm-device-802-3-ethernet.h
8988           src/backends/NetworkManagerGentoo.c
8989           src/backends/NetworkManagerPaldo.c
8990           src/backends/NetworkManagerFrugalware.c
8991           src/backends/NetworkManagerRedHat.c
8992           src/backends/NetworkManagerSlackware.c
8993           src/backends/NetworkManagerGeneric.c
8994           src/backends/NetworkManagerArch.c
8995           src/backends/NetworkManagerSuSE.c
8996           src/backends/NetworkManagerGeneric.h
8997           src/backends/NetworkManagerDebian.c
8998                 - Kill NMData
8999
9000 2007-08-28  Dan Williams  <dcbw@redhat.com>
9001
9002         * src/NetworkManagerMain.h
9003           src/nm-device-802-11-wireless.c
9004           src/NetworkManager.c
9005                 - Remove invalid AP list from NMData; need to rework this somewhat, but
9006                 for now we should set the 'invalid' property on individual APs, and when
9007                 we need to invalidate a whole ESS, set the 'invalid' on every member of
9008                 that ESS
9009
9010 2007-08-28  Dan Williams  <dcbw@redhat.com>
9011
9012         * src/NetworkManagerAP.c
9013           src/NetworkManagerAP.h
9014                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
9015                         'autoconnect' property instead
9016
9017         * src/NetworkManager.c
9018           src/NetworkManagerMain.h
9019           src/NetworkManagerPolicy.c
9020           src/NetworkManagerPolicy.h
9021                 - Remove the 'allowed_ap_list', which should be replaced by 
9022                         NMConnection/NMSettings instead, since _those_ are the allowed
9023                         things that NM can connect to
9024
9025         * src/nm-device-802-11-wireless.c
9026                 - Remove both allowed_ap_list usage and 'fallback' checking
9027
9028 2007-08-28  Dan Williams  <dcbw@redhat.com>
9029
9030         * src/nm-device.c
9031           src/named-manager/nm-named-manager.c
9032           src/named-manager/nm-named-manager.h
9033           src/NetworkManager.c
9034           src/vpn-manager/nm-vpn-manager.c
9035           src/NetworkManagerMain.h
9036           src/NetworkManagerSystem.c
9037                 - Remove the named-manager object from NMData structure in preparation
9038                 for NMData's timely death.  Make the NMNamedManager the singleton that
9039                 it really is
9040
9041 2007-08-28  Dan Williams  <dcbw@redhat.com>
9042
9043         Remove NMAPSecurity objects, they are replaced with flags on the APs for
9044         each AP's capabilities, and by NMConnection/NMSettings objects for user
9045         defined connections.
9046
9047         * include/NetworkManager.h
9048                 - Redefine 802.11 security properties.  There are now device capabilities
9049                         and AP flags and AP security flags.  It was way to unclear before.
9050
9051         * src/Makefile.am
9052           src/nm-ap-security-leap.h
9053           src/nm-ap-security-leap.c
9054           src/nm-ap-security-wpa-eap.c
9055           src/nm-ap-security-wpa-eap.h
9056           src/nm-ap-security-private.h
9057           src/nm-ap-security-wpa-psk.c
9058           src/nm-ap-security-wpa-psk.h
9059           src/nm-ap-security-wep.c
9060           src/nm-ap-security-wep.h
9061           src/nm-ap-security.c
9062           src/nm-ap-security.h
9063                 - Removed, to be replaced with NMConnection/NMSettings objects
9064
9065         * src/nm-dbus-nmi.c
9066           src/nm-dbus-nmi.h
9067                 - Removed, to be replaced by code that talks to the new info daemon
9068                         interface and gets NMConnection/NMSettings objects
9069
9070         * src/backends/NetworkManagerSuSE.c
9071                 - Remove usage of NMAPSecurity; should be replaced by a system-level
9072                         info-daemon that does the same thing but talks the new info-daemon
9073                         D-Bus interface
9074
9075         * src/NetworkManagerAP.h
9076           src/NetworkManagerAP.c
9077           src/NetworkManagerAPList.c
9078           libnm-glib/libnm-glib-test.c
9079                 - Remove usage of NMAPSecurity objects and adjust to new flags for
9080                         WPA/RSN
9081
9082         * libnm-glib/nm-access-point.c
9083           libnm-glib/nm-access-point.h
9084           introspection/nm-access-point.xml
9085           test/nm-tool.c
9086                 - Adjust to new flags for AP security
9087
9088         * utils/nm-utils.c
9089           utils/nm-utils.h
9090           src/vpn-manager/nm-dbus-vpn.c
9091                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
9092                         stuff which is the only place it's used
9093
9094         * src/nm-device-interface.c
9095           src/nm-device-interface.h
9096           introspection/nm-device.xml
9097           src/nm-activation-request.c
9098           src/nm-activation-request.h
9099           src/nm-device.c
9100                 - Add a new 'specific_object' argument that hints to NM what actual
9101                         AP or other device-specific thing the connection should apply to.
9102                         NMConnection objects can apply to more than one actual device/AP.
9103
9104         * libnm-util/nm-connection.c
9105         * libnm-util/nm-connection.h
9106                 - Add 'have_secrets" call stubs
9107
9108         * libnm-util/cipher.h
9109                 - Move NM_AUTH_TYPE_* defines here for now
9110
9111         * src/nm-device-802-11-wireless.c
9112                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
9113                         NMSettings objects
9114
9115         * src/NetworkManagerDbus.c
9116         * src/NetworkManagerPolicy.c
9117                 - Remove usage of update_allowed_networks, should be pushing data in
9118                         a different manner
9119
9120 2007-08-27  Tambet Ingo  <tambet@gmail.com>
9121
9122         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
9123         dbus-glib frees it when the call is done.
9124
9125 2007-08-26  Dan Williams  <dcbw@redhat.com>
9126
9127         * introspection/nm-device.xml
9128                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
9129
9130 2007-08-26  Dan Williams  <dcbw@redhat.com>
9131
9132         * src/nm-device-802-3-ethernet.c
9133                 - (constructor): move connection of interface-connected/disconnected
9134                         signals here from real_bring_up().  Should be listening to netlink
9135                         for carrier events no matter what the initial state of the device
9136                         is.
9137
9138 2007-08-26  Dan Williams  <dcbw@redhat.com>
9139
9140         * src/nm-netlink-monitor.c
9141                 - (nm_netlink_monitor_class_init): fix marshalling types for
9142                         interface-connected/interface-disconnected
9143                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
9144                         check
9145
9146 2007-08-26  Dan Williams  <dcbw@redhat.com>
9147
9148         Convert to using interface indexes as the primary method of identifying
9149         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9150         be renamed at any time.  Device object paths now refer to the device
9151         index rather than the name, and you can map those two manually if you like
9152         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9153         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9154         to use interface indexes rather than names.
9155
9156 2007-08-26  Dan Williams  <dcbw@redhat.com>
9157
9158         * src/nm-netlink-monitor.h
9159                 - Remove one last bit of wireless-event signal
9160
9161 2007-08-26  Dan Williams  <dcbw@redhat.com>
9162
9163         * src/nm-netlink-monitor.c
9164                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9165                         don't need the 'wireless-event' signal anymore since that's all
9166                         handled by wpa_supplicant
9167
9168 2007-08-25  Dan Williams  <dcbw@redhat.com>
9169
9170         It's 2007. Remove support for drivers that don't support wireless scanning.
9171
9172         * test/nm-tool.c
9173           include/NetworkManager.h
9174           src/NetworkManagerUtils.c
9175           src/NetworkManagerPolicy.c
9176           src/nm-device-802-11-wireless.c
9177                 - Remove special handling for non-scanning devices and mark them
9178                         as unsupported/unhandled
9179
9180 2007-08-20  Dan Williams  <dcbw@redhat.com>
9181
9182         * src/nm-device-802-11-wireless.c
9183           src/nm-device-802-3-ethernet.c
9184                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9185                         because when the card is pulled or the module removed, the device
9186                         is already !IFF_UP and then device-specific cleanup (removing
9187                         the supplicant interface, periodic checks, etc) never gets done
9188
9189 2007-08-20  Dan Williams  <dcbw@redhat.com>
9190
9191         * src/nm-manager.c
9192                 - (nm_manager_remove_device): bring device down before disconnecting
9193                         signal handlers, so that the 'state' signal will get broadcast when
9194                         the device enters the DOWN state
9195                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9196                         of states that cause the NMManager to recheck its state
9197
9198 2007-08-20  Dan Williams  <dcbw@redhat.com>
9199
9200         * src/supplicant-manager/nm-supplicant-interface.c
9201                 - (interface_disconnect_done): don't try to dispose of the net proxy
9202                         when it may already have been disposed of
9203
9204 2007-08-20  Dan Williams  <dcbw@redhat.com>
9205
9206         * src/nm-device-802-11-wireless.c
9207                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9208                         the SSID isn't available; this can happen when the card is pulled
9209                         or the module unloaded, during the post-removal deactivation
9210                         paths, when the ioctl returns ENODEV
9211
9212 2007-08-20  Dan Williams  <dcbw@redhat.com>
9213
9214         * src/nm-device-802-11-wireless.c
9215                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9216                         frequency, and mode match.  Applets are now responsible for grouping
9217                         access points
9218
9219 2007-08-20  Dan Williams  <dcbw@redhat.com>
9220
9221         * src/NetworkManagerAP.c
9222         * src/NetworkManagerAP.h
9223                 - (nm_ap_print_self): new function
9224
9225         * src/NetworkManagerAPList.c
9226                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9227                         to do it all here
9228         
9229 2007-08-17  Dan Williams  <dcbw@redhat.com>
9230
9231         * src/nm-device-802-3-ethernet.c
9232                 - (real_bring_down): don't try to dispose of stuff that might not
9233                         exist
9234
9235 2007-08-17  Dan Williams  <dcbw@redhat.com>
9236
9237         * src/NetworkManagerAP.c
9238                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9239                         applet.  This ensures that the case between the seen-bssids and
9240                         the bssids reported by the driver match.
9241
9242 2007-08-17  Dan Williams  <dcbw@redhat.com>
9243
9244         * src/nm-device-802-11-wireless.c
9245                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9246                         we dispose of the interface proxy in NM
9247
9248 2007-08-16  Dan Williams  <dcbw@redhat.com>
9249
9250         * libnm-glib/nm-client.c
9251                 - (nm_client_init): create VPN connections hash table with key free
9252                         function
9253                 - (proxy_vpn_connection_added): VPN connections hash table key should
9254                         be a duplicated value, not the same memory address as the VPN
9255                         connection name.  This is because the VPN connection name could
9256                         potentially be freed and set to something else during the lifetime
9257                         of the NMVPNConnection object.
9258
9259 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9260
9261         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9262         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9263         with the file descriptors. Send a child setup function to change the pppd
9264         progress group.
9265
9266 2007-08-15  Dan Williams  <dcbw@redhat.com>
9267
9268         * src/supplicant-manager/nm-supplicant-interface.c
9269                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9270                         an interface
9271                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9272                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9273                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9274                         the interface internally
9275
9276 2007-08-15  Dan Williams  <dcbw@redhat.com>
9277
9278         * src/nm-device-802-11-wireless.c
9279                 - (real_bring_down): move most of this function into device_cleanup()
9280                         so that it can be called from elsewhere
9281                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9282                         and stuff on dispose.  These would normally get cleaned up when
9283                         the device is marked down and deactivated, but when the device is
9284                         hot-unplugged, it's already down and real_down() never gets run
9285
9286 2007-08-15  Dan Williams  <dcbw@redhat.com>
9287
9288         * src/nm-dbus-nmi.c
9289                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9290                         caused a reference leak on device for which NM requested a key
9291
9292 2007-08-15  Dan Williams  <dcbw@redhat.com>
9293
9294         * libnm-glib/nm-client.c
9295                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9296
9297 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9298
9299         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9300         nothing is using it at the moment, but it'll be all useful and stuff later on.
9301
9302         * libnm-util/nm-setting.h: Define NMSettingPPP.
9303
9304         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9305
9306         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9307
9308         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9309
9310         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9311
9312         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9313
9314 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9315
9316         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9317
9318         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9319         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9320         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9321         name and different arguments and it won't compile anymore. To fix this, we now have
9322         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9323         that is new API + compatibility API and used by the daemon. The other, 
9324         nm-manager-client.xml is only the new API without compatibility bits and is used
9325         by libnm-glib to make it compile.
9326
9327         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9328
9329         * src/nm-manager.c (impl_manager_legacy_sleep)
9330         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9331         interface functions for 0.6 branch.
9332
9333 2007-08-14  Dan Williams  <dcbw@redhat.com>
9334
9335         * src/NetworkManagerAP.c
9336                 - (nm_ap_new_from_properties): fix mistaken check of return value
9337                         from memcmp (should expect 0)
9338
9339 2007-08-14  Dan Williams  <dcbw@redhat.com>
9340
9341         (force-commit to fix wrong comment and partial commit of r2685; this
9342          commit actually applies to r2685)
9343
9344         * src/NetworkManagerUtils.c
9345                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9346                         ignores trailing nulls in the SSID to work around mismatches in
9347                         expectations between WEXT and what the info-daemon passes back.  The
9348                         info-daemon would pass back the correct length, but due to the
9349                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9350                         the device would always have an SSID + 1 depending on what versions
9351                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9352                         visible by just quitting the applet and relaunching, which caused
9353                         NM to reassociated to the same network over again when reloading
9354                         the save networks.
9355
9356         * src/NetworkManagerPolicy.c
9357           src/NetworkManagerUtils.h
9358           src/nm-device-802-11-wireless.c
9359                 - Update for new parameter to nm_utils_same_ssid()
9360
9361 2007-08-14  Dan Williams  <dcbw@redhat.com>
9362
9363         * src/NetworkManagerAP.c
9364                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9365                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9366                         setting the BSSID to all 0s.  That confused the heck out of NM,
9367                         plus it's useless and probably out-of-spec.
9368
9369 2007-08-14  Dan Williams  <dcbw@redhat.com>
9370
9371         * callouts/Makefile.am
9372           src/dhcp-manager/nm-dhcp-manager.c
9373           src/dhcp-manager/nm-dhcp-manager.h
9374           src/dhcp-manager/Makefile.am
9375                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9376
9377 2007-08-14  Dan Williams  <dcbw@redhat.com>
9378
9379         * src/dhcp-manager/nm-dhcp-manager.c
9380                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9381                         it's really needed, get rid of unused xtra_args parameter
9382
9383 2007-08-14  Dan Williams  <dcbw@redhat.com>
9384
9385         * include/NetworkManagerVPN.h
9386           src/vpn-manager/nm-dbus-vpn.c
9387           src/vpn-manager/nm-dbus-vpn.h
9388           src/vpn-manager/nm-vpn-act-request.c
9389           src/vpn-manager/nm-vpn-act-request.h
9390           src/vpn-manager/nm-vpn-service.c
9391           src/vpn-manager/nm-vpn-service.h
9392           libnm-glib/nm-vpn-connection.c
9393           libnm-glib/nm-vpn-connection.h
9394           libnm-glib/nm-client.h
9395                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9396                         NMVPNServiceState to clarify what they apply to
9397                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9398                         NMVPNActStage -> NMVPNConnectionState for the same reason
9399
9400         * libnm-glib/nm-client.c
9401                 - Constant + type renames from above
9402                 - Properly handle NameOwnerChanged/manager_running signals
9403                         for NM service; only emit when state really changes
9404                 - Use hash tables correctly so that the key (which was previously owned
9405                         by the D-Bus message) now has the same lifetime as the value, since
9406                         the key is now taken from the the NMVPNConnection itself.  This
9407                         really fixes the double-VPN names in the applet
9408
9409 2007-08-13  Dan Williams  <dcbw@redhat.com>
9410
9411         Patch from Michael Biebl <biebl@debian.org>
9412
9413         * po/POTFILES.in
9414           po/POTFILES.skip
9415                 - Update for vpn-properties move
9416
9417 2007-08-13  Dan Williams  <dcbw@redhat.com>
9418
9419         * libnm-glib/nm-client.c
9420                 - Convert internal VPN connection tracking from a list to a hash table
9421                         to easily avoid duplicates
9422                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9423                         must be freed by the caller, like nm_client_get_devices()
9424                 - (nm_client_remove_vpn_connection): don't let the removal signal
9425                         leak through for NMVPNConnection objects that aren't actually
9426                         tracked.
9427                 - (manager_running): throw away VPN connection list when NM goes away,
9428                         like with the device list
9429
9430 2007-08-13  Dan Williams  <dcbw@redhat.com>
9431
9432         * src/dhcp-manager/nm-dhcp-manager.c
9433                 - Stop any dhclient instance that might be already running for a
9434                         particular interface before starting an NM spawned dhclient.  Fixes
9435                         dhclient processes left over if NM crashes, stuff like that.
9436
9437 2007-08-13  Dan Williams  <dcbw@redhat.com>
9438
9439         * src/NetworkManagerAP.c
9440                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9441                         when the AP wasn't broadcasting it's SSID
9442
9443 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9444
9445         * include/NetworkManager.h: added DBus path for connection settings.
9446
9447         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9448         nm_connection_settings_signal_updated,
9449         nm_connection_settings_signal_removed): new functions to wrap the
9450         objects' signals.
9451         (nm_connection_settings_init): register GObject with DBus.
9452         (nm_connection_settings_get_dbus_object_path): new function.
9453
9454         * libnm-glib/Makefile.am: added libnmutil to link flags.
9455
9456 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9457
9458         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9459
9460         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9461         libnm_glib directory got merged with libnm-glib/.
9462
9463         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9464
9465         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9466         Rename the library from libnm-glib to libnm_glib to maintain the library API
9467         compatibility with 0.6 branch.
9468
9469         * Makefile.am: Remove gnome/ SUBDIR.
9470
9471         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9472
9473         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9474
9475         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9476
9477         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9478         anymore.
9479         Remove checks for wpa_supplicant binary, it's used over dbus.
9480         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9481
9482         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9483         Link the binaries with libnm_glib.la.
9484
9485 2007-08-12  Dan Williams  <dcbw@redhat.com>
9486
9487         * src/NetworkManagerPolicy.c
9488                 - (nm_policy_device_change_check): fix policy to deactivate old device
9489                         before activating new one, at least until the multiple active
9490                         device support lands
9491
9492 2007-08-12  Dan Williams  <dcbw@redhat.com>
9493
9494         * src/NetworkManagerPolicy.c
9495                 - (nm_policy_new): hook up to connection-added / connection-removed
9496                         signals instead of connections-changed
9497
9498 2007-08-12  Dan Williams  <dcbw@redhat.com>
9499
9500         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9501         Robert Frank <rfrank@redhat.com>
9502
9503         * src/dhcp-manager/nm-dhcp-manager.c
9504           src/dhcp-manager/nm-dhcp-manager.c
9505           src/nm-device.c
9506                 - Spawn and communicate with dhclient directly, through means of a
9507                 custom dhclient callout script.  Process callout D-Bus signals
9508                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9509                 sent via gobject signals rather than being driven by the dhcp manager
9510                 directly.
9511
9512 2007-08-12  Dan Williams  <dcbw@redhat.com>
9513
9514         * callouts/nm-dhcp-client-action.c
9515                 - (build_message): ignore non-DHCP-related environment variables
9516
9517 2007-08-12  Dan Williams  <dcbw@redhat.com>
9518
9519         * Makefile.am
9520           configure.in
9521           callouts/Makefile.am
9522           callouts/nm-dhcp-client-action.c
9523           callouts/nm-dhcp-client.conf
9524                 - Add dhclient-executed callout that takes the place of dhclient-script
9525                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9526                 NM then listens for
9527
9528 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9529
9530         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9531
9532         * libnm-glib/nm-client.h:
9533         * libnm-glib/nm-object.h:
9534         * libnm-glib/nm-vpn-connection.h:
9535         * libnm-glib/nm-settings.h:
9536         * libnm-glib/nm-device.h:
9537         * libnm-glib/nm-ip4-config.h:
9538         * libnm-glib/nm-access-point.h:
9539         * libnm-glib/nm-device-802-3-ethernet.h:
9540         * libnm-util/nm-setting.h: 
9541         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9542
9543         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9544
9545         * libnm-glib/nm-access-point.c: Strength has type char.
9546
9547         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9548         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9549
9550         * introspection/nm-access-point.xml: Strength property is char, not int.
9551
9552         * src/NetworkManagerAP.c (set_property): Set strength from char.
9553         (get_property): Handle hidden APs (with empty SSID).
9554         Get strength value from char.
9555         (nm_ap_class_init): Strength property has char type.
9556
9557 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9558
9559         * introspection/Makefile.am:
9560         * introspection/nm-settings.xml:
9561         * introspection/nm-settings-connection.xml: added Settings interfaces.
9562
9563         * libnm-glib/nm-settings.[ch]:
9564         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9565         containing the DBus implementation.
9566
9567 2007-07-26  Dan Williams  <dcbw@redhat.com>
9568
9569         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9570
9571         * src/NetworkManagerSystem.c
9572                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9573                         same subnet (#437396)
9574
9575 2007-07-26  Dan Williams  <dcbw@redhat.com>
9576
9577         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9578
9579         * gnome/vpn-properties/nm-vpn-properties.c
9580                 - Fix translatable strings (#445865)
9581
9582 2007-07-26  Dan Williams  <dcbw@redhat.com>
9583
9584         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9585
9586         * configure.in
9587                 - Remove useless junk (#412530)
9588
9589 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9590
9591         Patch from Robert Buchholz <rbu@gentoo.org>:
9592
9593         * configure.in:
9594         * Makefile.am:
9595         * introspection/Makefile.am:
9596         Make make distcheck work again.
9597
9598 2007-06-27  Dan Williams  <dcbw@redhat.com>
9599
9600         * Make SSIDs GByteArrays everywhere
9601         * Rename "essid" -> "ssid" everywhere that's appropriate
9602         * Refcount activation_ap member of the 802.11 wireless device class
9603
9604 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9605
9606         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9607
9608 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9609
9610         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9611         that we got a new AP when we just update existing AP properties.
9612
9613 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9614
9615         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9616
9617         * nm-utils.[ch]: Remove.
9618
9619         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9620         objects for easy property access and dbus connection handling.
9621
9622         * libnm-glib/nm-client.c: Derive from NMObject.
9623
9624         * libnm-glib/nm-device.c: Ditto.
9625
9626         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9627
9628         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9629
9630         * libnm-glib/nm-ip4-config.c: Ditto.
9631
9632         * libnm-glib/nm-access-point.c: Ditto.
9633
9634         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9635         comparision. Currently used by the device activation code to determine if the new
9636         activation is the same as the old one.
9637
9638         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9639         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9640         able to ask password for the AP.
9641
9642         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9643         up if the device is already connected, tear down it's connection (if it isn't the
9644         same as new one) and start the activation.
9645
9646         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9647
9648         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9649         the issue where all APs are always listed as encrypted.
9650
9651         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9652         their own registered paths.
9653
9654         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9655         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9656
9657 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9658
9659         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9660         (0 & 0 == 0, doh)
9661
9662         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9663         because the handling code will cause the next state change and signal listeners
9664         get the signals in wrong order.
9665
9666         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9667         correctly in case of pending activation.
9668
9669         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9670         Convert the essid byte array to string correctly, including the terminating NULL.
9671
9672         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9673         mode with correct types.
9674
9675         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9676         constructed info to dbus call instead of the activation request.
9677
9678 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9679
9680         Patch from Christian Persch <chpe@gnome.org>
9681
9682         * libnm-glib/Makefile.am:
9683         * dispatcher-daemon/Makefile.am:
9684         Use the correct variables, the correct paths, and correct ordering. (446315)
9685
9686 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9687
9688         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9689         argument. The activation request is easy to retrieve.
9690
9691         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9692         just to be a convenient location for devices to store random stuff.
9693
9694 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9695
9696         Patch from Alex Smith <alex@alex-smith.me.uk>
9697
9698         * src/backends/NetworkManagerFrugalware.c:
9699         Update the FrugalWare backend to fix a few segfaults. (#392642)
9700
9701 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9702
9703         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9704
9705         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9706         setting.
9707         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9708
9709 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9710
9711         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9712         automagically.
9713         Implement NMSettingIP4Config.
9714         Finish NMSettingWired by adding all known members.
9715         (setting_wired_verify): Implement.
9716         Finish NMSettingWireless by adding all known members.
9717         (setting_wireless_verify): Implement.
9718
9719         * libnm-util/nm-connection.c: Register "ipv4" setting.
9720         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9721         dump function, we can introspect the GHashTable which is used for sending connections
9722         over dbus.
9723
9724         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9725         Take GByteArray for essid, it's really not a string.
9726
9727         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9728         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9729         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9730         means overriding the values we got from DHCP.
9731         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9732         (nm_device_deactivate_quickly): Ditto.
9733
9734         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9735         for debugging.
9736
9737 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9738
9739         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9740         NMConnection.
9741
9742         * libnm-glib/nm-device-802-11-wireless.c:
9743         (nm_device_802_3_ethernet_activate): Remove.
9744
9745         * libnm-glib/nm-device-802-3-ethernet.c
9746         (nm_device_802_3_ethernet_activate): Remove.
9747
9748         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9749
9750         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9751         NMConnection.
9752
9753         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9754         activation has started.
9755         Implement the new activation using NMConnection.
9756
9757         * src/nm-activation-request.c: Store a generic connection object instead
9758         of a wireless-specific AP.
9759
9760         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9761         on device type, create a device specific connection object suitable for
9762         device activation.
9763
9764         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9765         specific check to validate the connection and on success start the
9766         activation.
9767
9768         * src/nm-device-interface.h: Add a activate virtual function to the
9769         interface definition.
9770
9771         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9772         (impl_device_activate): Implement.
9773
9774         * introspection/nm-device.xml: Add a generic device activation interface
9775         that accepts an abstract NMConnection structure that has device-specific
9776         information in it.
9777
9778         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9779         activation interface.
9780
9781         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9782         activation interface.
9783
9784         * libnm-util/nm-connection.c: 
9785         * libnm-util/nm-connection.h: 
9786         * libnm-util/nm-setting.c:
9787         * libnm-util/nm-setting.h: Add.
9788
9789         * libnm-util/Makefile.am: Build the added files.
9790
9791         * src/nm-dbus-manager.c
9792         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9793         DbusConnection argument from 'name-owner-changed' signal. The manager
9794         is already passed as a first argument to the signal and the connection
9795         is easy enough to get from it.
9796
9797         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9798         Update the signature of the function.
9799
9800         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9801         Ditto.
9802
9803         * src/NetworkManager.c: Ditto.
9804
9805         * src/named-manager/nm-named-manager.c
9806         (nm_named_manager_name_owner_changed): Ditto.
9807
9808         * src/supplicant-manager/nm-supplicant-manager.c
9809         (nm_supplicant_manager_name_owner_changed): Ditto.
9810
9811         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9812
9813         * src/dhcp-manager/nm-dhcp-manager.c
9814         (nm_dhcp_manager_name_owner_changed): Ditto.
9815
9816         * src/nm-hal-manager.c: Add a list of device detectors and creators
9817         to make it easier to add new devices. Each device type has it's own
9818         entry in the table so adding new device types is only a matter of
9819         implementing a couple of functions, one for device detection and the
9820         other for device creation.
9821
9822 2007-04-25  Dan Williams  <dcbw@redhat.com>
9823
9824         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9825                 (gnome.org #432401)
9826
9827 2007-03-30  Dan Williams  <dcbw@redhat.com>
9828
9829         * src/NetworkManagerSystem.c
9830                 - (nm_system_device_set_ip4_route): clean up and fix argument
9831                         to nm_dev_sock_open()
9832
9833 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9834
9835         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9836         data to correct types instead of always using string.
9837
9838         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9839         _not_ have NM_802_11_CAP_PROTO_NONE.
9840         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9841         is not set.
9842
9843 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9844
9845         * libnm-glib/Makefile.am: Fix the build issue.
9846
9847 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9848
9849         * libnm-glib/nm-vpn-connection.h: 
9850         * libnm-glib/nm-vpn-connection.c: Implement.
9851
9852         * libnm-glib/nm-client.c: Add VPN support.
9853
9854         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9855         handler for VPN.
9856
9857         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9858         on DBUS again.
9859
9860 2007-03-26  Dan Williams  <dcbw@redhat.com>
9861
9862         * src/NetworkManagerAPList.c
9863         * src/nm-device-802-11-wireless.c
9864         * src/NetworkManagerAP.c:
9865                 - Store last seen as glong instead of GTimeVal.
9866                 - Fix the upper bound of capabilities, it's a bitfield.
9867
9868 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9869
9870         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9871
9872         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9873         "manager-running" signal that notifies the appearance/disappearance of NM.
9874         (nm_client_sleep): Implement.
9875
9876         * libnm-glib/nm-device.c:
9877         * libnm-glib/nm-device-802-11-wireless.c: 
9878         * libnm-glib/nm-device-802-3-ethernet.c: 
9879
9880         Don't inherit from DBusGProxy, add a proxy to private
9881         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9882         for anything but their own dbus interface. DBusGProxy objects support only one
9883         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9884         interface. The nice side effect of this change is that we do not create a new
9885         DBusGProxy object for each property access.
9886
9887 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9888
9889         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9890         with zeroes before passing them to functions - the functions never do that and
9891         reading the values back may produce wrong values.
9892         (real_bring_up): Store the signal handler id ...
9893         (real_bring_down): ... So that it can be removed here.
9894         Disconnect the supplicant interface here as well.
9895         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9896         from the access point instead of old $device/Networks/$essid.
9897
9898         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9899         device state is connected (instead of just having link/carrier).
9900
9901         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9902         already easily accessible through the device.
9903
9904         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9905         store it within the object.
9906         (nm_ap_get_dbus_path): Export it to public as well.
9907
9908         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9909         of the singleton.
9910
9911 2007-03-12  Dan Williams  <dcbw@redhat.com>
9912
9913         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9914         for non-carrier-detect capable devices, and useless for carrier-detect
9915         devices since we get notifications from netlink about carrier status anyway.
9916
9917         * src/nm-device-802-3-ethernet.c
9918                 - remove 'link_source_id' member from private data
9919                 - (probe_link): remove and collapse into real_update_link()
9920                 - (nm_device_802_3_periodic_update): remove
9921                 - (real_is_up): check for sup_iface rather than link_source_id
9922                 - (real_bring_up): return gboolean for success/fail; require that
9923                         sup_iface be valid for device bringup to succeed
9924                 - (real_bring_down): zero out link signal ids
9925
9926         * src/nm-device.c
9927                 - (nm_device_activate_stage2_device_config): fail activation if device
9928                         bringup fails
9929                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9930                         fails
9931                 - (nm_device_bring_up): return success/fail
9932
9933         * src/nm-device.h
9934                 - bring_up now returns success/fail
9935
9936         * src/nm-device-802-11-wireless.c
9937                 - (real_bring_up): return success from bringup
9938
9939 2007-03-07  Dan Williams  <dcbw@redhat.com>
9940
9941         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9942         * src/nm-ap-security-wpa-psk.c
9943                 - (real_write_supplicant_config): work with PSKs that may contain
9944                         zeros in the binary format rather than treating it as a string
9945
9946 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9947
9948         * libnm-glib/nm-device-802-11-wireless.c
9949         (nm_device_802_11_wireless_get_capabilities): Implement.
9950
9951         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9952
9953         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9954
9955         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9956         reply only if it's not NULL. Not sure why this started happening right now.
9957
9958         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9959         code paths for when devices get removed on shutdown or when a device is just
9960         removed.
9961         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
9962         gets freed so any signal from a device (disconnected for instance) would invoke
9963         NMState update which would crash.
9964         (nm_manager_remove_device): Bring the device down when it gets removed.
9965
9966         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
9967         the unused dev_type.
9968
9969         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
9970         reference to the added device, NMManager will own it (if it wants).
9971
9972         * test/nm-tool.c: Rewrite using libnm-glib.
9973
9974         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
9975         We get signalled when it changes.
9976
9977         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
9978         when it changes.
9979
9980         * libnm-glib/nm-device.c: Cache the device state property.
9981
9982         * libnm-glib/nm-access-point.c: Cache the strength property.
9983
9984         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
9985         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
9986         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
9987         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
9988         the device is down, activating, or activated (in case of A/B/G cards).
9989         Remove some old dead ifdef'ed out code that used to configure wireless devices,
9990         it's all done through supplicant now.
9991
9992         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
9993         counting issues with pending calls which caused leaks and crashes when
9994         interface was removed (now that the interface actually gets removed).
9995
9996         * src/nm-call-store.c: Make a copy of data before running a foreach
9997         with user callback on it - The most common usage pattern is to cancel
9998         (and thus remove) all pending calls with foreach which would modify
9999         the hash table we're iterating over.
10000
10001         * src/nm-manager.c: When a device is added, make sure it is "up". When
10002         it's removed or disabled due to disabling wireless or networking, bring
10003         it down.
10004
10005         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
10006
10007         * src/nm-device-802-11-wireless.c: 
10008         * src/nm-device-802-3-ethernet.c: 
10009         * src/nm-device.c:
10010                 - Remove "init" virtual function, all gobjects have a place for that
10011                   already (constructor).
10012                 - Replace "start" virtual function with "bring_up", devices can be
10013                   brought up and down more than just on startup now.
10014                 - Add "is_up" virtual function.
10015                 - Implement one way to bring a device down instead of previous 4 different
10016                   ways, each of witch did something different.
10017
10018         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
10019         all it needs is the device interface.
10020
10021         Get rid of NMData.dev_list (3 members to go).
10022         Get rif of NMData in a lot of places.
10023
10024         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
10025
10026 2007-02-23  Dan Williams  <dcbw@redhat.com>
10027
10028         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
10029
10030         * src/NetworkManagerAP.c
10031                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
10032                         OR-ing rather than AND-ing
10033
10034 2007-02-20  Tambet Ingo  <tambet@ximian.com>
10035
10036         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
10037         "network-removed" signals.
10038
10039         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
10040
10041         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
10042         when receiving the signal from dbus.
10043
10044         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
10045         property.
10046
10047         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
10048         deactivation of the previously activated device working again.
10049
10050         * src/nm-activation-request.c: Remove NMActStage property and it's getter
10051         and setter.
10052
10053         * src/nm-device.c (nm_device_is_activated): Remove.
10054         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
10055
10056         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
10057         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
10058         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
10059         NM_DBUS_SIGNAL_STATE_CHANGE signal.
10060         Remove NMNetworkStatus and NMActStage enums.
10061
10062 2007-02-19  Tambet Ingo  <tambet@ximian.com>
10063
10064         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
10065         Handle device state changes and disconnect VPN if it's device deactivates.
10066
10067         * src/nm-dbus-nm.c: 
10068         * src/nm-dbus-nm.h: 
10069         * src/nm-dbus-device.c: 
10070         * src/nm-dbus-device.c: 
10071         * src/nm-dbus-net.c: 
10072         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
10073
10074         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
10075
10076         * src/nm-device.c (nm_device_get_by_udi):
10077         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
10078         implemented in the correct location (NMManager).
10079         Rip out all the test_device stuff.
10080
10081         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
10082         failure handlers, it's all done by NMDevice already.
10083
10084         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
10085         Remove the iochannel hack to route the unix signals to the main thread since
10086         we're not threaded anymore.
10087
10088         * src/NetworkManagerAP.c: Implement HWAddress property.
10089
10090         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
10091         automatically with dbus-glib.
10092
10093         * src/nm-netlink-monitor.c: 
10094         * src/nm-netlink-monitor.h:
10095                 - Move it low in the class hierarchy, don't reference any NM types.
10096                 - Remove private data from the header.
10097                 - Use type safe checks in public API methods.
10098                 - Make it a singleton so we don't have to pass the single reference around.
10099
10100 2007-02-16  Tambet Ingo  <tambet@ximian.com>
10101
10102         * introspection/nm-ip4-config.xml: Implement.
10103
10104         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
10105
10106         * libnm-glib/nm-ip4-config.c:
10107         * libnm-glib/nm-ip4-config.c: Implement.
10108
10109         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
10110         securities. APs reference security.
10111
10112         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
10113         be exported over DBUS.
10114
10115         * src/nm-device-802-3-ethernet.c: Ditto.
10116
10117         * src/NetworkManagerAP.c:
10118         * src/NetworkManagerAP.h:
10119                 - Convert to GObject, export over DBUS.
10120
10121         * src/nm-ip4-config.h:
10122         * src/nm-ip4-config.h:
10123                 - Convert to GObject, export over DBUS.
10124
10125 2007-02-12  Dan Williams  <dcbw@redhat.com>
10126
10127         Patch from Helmut Schaa <hschaa@suse.de>
10128
10129         * vpn-daemons/pptp/configure.in
10130           vpn-daemons/pptp/Makefile.am
10131           vpn-daemons/openvpn/configure.in
10132           vpn-daemons/openvpn/Makefile.am
10133           vpn-daemons/vpnc/configure.in
10134           vpn-daemons/vpnc/Makefile.am
10135                 - Add --without-gnome switch which disables building gnome bits
10136
10137 2007-02-12  Tambet Ingo  <tambet@ximian.com>
10138
10139         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
10140
10141         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
10142
10143         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
10144         'HwAddress'.
10145
10146         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10147
10148         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10149
10150         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10151
10152         * src/:
10153                 - Remove old low-level dbus interface implementations and replace them
10154                   with dbus-glib one.
10155
10156         * configure.in:
10157                 - Require dbus-glib >= 0.72.
10158                 - Plug in new sources to build.
10159
10160         * libnm-glib/:
10161                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10162                   to make it more convenient to use from GObject based programs.
10163
10164         * introspection/:
10165                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10166
10167 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10168
10169         * src/nm-device-802-11-wireless.c:
10170                 - Add "network-added" and "network-removed" signals.
10171                 - Use gobject boilerplate macros to define the GObject.
10172                 - Implement wireless device activation.
10173                 - Remove activation_failure_handler and activation_success_handler
10174                   and instead listen on state-changed signals and run the same code
10175                   from there.
10176
10177         * src/nm-device.c:
10178                 - Implment NMDeviceInterface::deactivate.
10179                 - Remove activation_failure_handler and activation_success_handler
10180                   virtual methods. Each device which is interested in these events
10181                   can just listen on it's state changed signals.
10182
10183         * src/NetworkManagerPolicy.c:
10184                 - Move a bit more NMData usage to NMManager.
10185                 - Remove activation scheduling bits.
10186                 - Add listeners for wireless device's "network-added" and
10187                   "network-removed" signals.
10188                 - Listen device changed signals and deactivate currently activated
10189                   device when another device start activating (for now).
10190                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10191                   for calling this, the policy code knows exactly when this should happen,
10192                   by listening on events from NMManager and NMDevices.
10193
10194         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10195         Implement.
10196
10197         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10198         method on the specific device instead of going to through policy code
10199         and determining the device type by passed in AP's existance.
10200
10201         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10202         abstract NMDevice deactivation.
10203
10204 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10205
10206         * src/NetworkManager.c:
10207                 - Set up all the shiny new managers.
10208
10209         * src/NetworkManagerPolicy.c:
10210                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10211                   classes to call into policy code, make the policy code kind of like
10212                   a supervisor that monitors what's going on and drives the whole NM.
10213
10214         * src/nm-hal-manager.c: 
10215         * src/nm-hal-manager.h:
10216                 - Collect all libhal code scattered around NM to this one class.
10217                 - Listen libhal and NMManager events and add/remove devices to
10218                   NMManager.
10219
10220         * src/nm-manager.c:
10221         * src/nm-manager.h:
10222                 - Implment a replacement for NMData. NMData is now officially
10223                 deprecated.
10224
10225 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10226
10227         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10228         * src/supplicant-manager/nm-supplicant-interface.h
10229         * src/supplicant-manager/nm-supplicant-interface.c
10230         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10231         argument to boolean from enum.
10232
10233         Make NMDevice abstract class, remove almost all references to it's
10234         subclasses (the last place gets removed with new policy manager). Add
10235         NMDeviceInterface (which NMDevice implements) so that when we have
10236         NMDevice exported over DBUS, there's a common NMDevice interface which
10237         all instances have, plus there's a device specific interface for each
10238         specific type.
10239         Remove functions (nm_device_is_802_3_ethernet) and
10240         (nm_device_is_802_11_wireless). There are already standard GObject macros
10241         for type safe checks.
10242         Use the updated supplican manager API.
10243
10244         * src/nm-device-interface.h: 
10245         * src/nm-device-interface.c: 
10246         * src/nm-call-store.h: 
10247         * src/nm-call-store.c: Implement.
10248
10249         * src/supplicant-manager/nm-supplicant-interface.c:
10250         * src/supplicant-manager/nm-supplicant-interface.h:
10251         * src/supplicant-manager/nm-supplicant-manager.c:
10252         * src/supplicant-manager/nm-supplicant-manager.h:
10253                 - Remove all private data type references from public header files.
10254                 - Remove all references to other NM classes, this class is just a
10255                   proxy between wpa_supplicant and NM so it doesn't have to know
10256                   any internals.
10257                 - Convert to dbus-glib bindings.
10258                 - Type safe checks for public methods' arguments.
10259                 - Store pending DBUS call ids to NMCallStore.
10260
10261         * src/supplicant-manager/nm-supplicant-config.c:
10262                 - Store config values in a GHashTable instead of GSList.
10263
10264         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10265
10266         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10267         singleton now.
10268
10269         * src/nm-device.c: Use the new DHCP manager API.
10270
10271         * src/nm-activation-request.c:
10272         * src/nm-activation-request.h:
10273                 - Remove all dhcp related properties and methods.
10274
10275         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10276
10277         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10278
10279         * src/dhcp-manager/nm-dhcp-manager.c:
10280         * src/dhcp-manager/nm-dhcp-manager.h:
10281                 - Convert it to GObject since we need to signal state changes.
10282                 - Remove all references to other NM classes, this class is one
10283                   of the lowest classes in our hierarchy.
10284                 - One less class to use NMActRequest.
10285                 - Make it singleton, one less user of NMData.
10286                 - Remove a couple of sleep() calls.
10287                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10288                   One less class to use the NM's custom tailored signal handlig.
10289
10290         * Makefile.am: Generate marshallers, add them to build.
10291
10292 2007-02-02  Dan Williams  <dcbw@redhat.com>
10293
10294         * configure.in
10295           gnome/Makefile.am
10296           nm-applet.desktop
10297           Makefile.am
10298                 - Remove last bits referencing gnome applet
10299
10300 2007-02-02  Dan Williams  <dcbw@redhat.com>
10301
10302         * src/vpn-manager/nm-vpn-service.c
10303                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10304                         and NBNS server addresses
10305
10306 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10307
10308         * src/nm-dbus-manager.c:
10309         * src/nm-dbus-manager.h:
10310                 - Convert all internal DBUS code to use dbus-glib bindings.
10311                 - Remove GObject properties, we don't need them here.
10312                 - Don't explicitly set things to NULL after freeing, glib is
10313                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10314                 - Make public API argument checks type safe.
10315                 - Remove unnecessary (and wrong) cast to GObject for the first
10316                   argument to g_signal_* calls - The first argument is a gpointer.
10317                 - Export DBusGConnection to other cool classes that (are going to)
10318                   use dbus-glib.
10319
10320 2007-01-26  Dan Williams  <dcbw@redhat.com>
10321
10322         * libnm-util/dbus-dict-helpers.c
10323           libnm-util/dbus-dict-helpers.h
10324                 - Coordinate style with wpa_supplicant version to minimize diff
10325                 - Add uint32 array support
10326                 - (nmu_dbus_dict_append_uint32_array): new function
10327                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10328                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10329                         version; allow adding string array elements individually
10330
10331         * test/libnm-util/test-dbus-dict-helpers.c
10332                 - Test uint32 arrays
10333
10334 2007-01-27  Jürg Billeter  <j@bitron.ch>
10335
10336         * src/backends/NetworkManagerPaldo.c
10337                 - (nm_system_update_dns): clear nscd hosts cache
10338
10339 2007-01-04  Dan Williams  <dcbw@redhat.com>
10340
10341         Threading removal related cleanups:
10342
10343         - Use the glib default main context.  Remove the device main context
10344                 member from NMDevice, and the main_context member from NMData.  Change
10345                 all the idle and timeout scheduler functions to use plain
10346                 g_idle_add() and g_timeout_add().
10347
10348         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10349                 takes an argument; fix that up too.
10350
10351         - Remove all locking, which is useless since we no longer use threads.  For
10352                 example, nm_get_device_by_iface_locked() has been removed.  The global
10353                 device list lock, the AP List lock, and all static locks in
10354                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10355                 in NetworkManagerUtils.c have also been removed.
10356
10357         - Other cleanups in spacing and code style
10358
10359 2007-01-01  Dan Williams  <dcbw@redhat.com>
10360
10361         Found by Bill Moss:
10362
10363         * src/supplicant-manager/nm-supplicant-interface.c
10364                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10365                         the supplicant interface wasn't already disconnected.  Always
10366                         call removeNetwork and disconnect unless the supplicant interface
10367                         is in the DISCONNECTED or INACTIVE state.
10368
10369 2006-12-28  Dan Williams  <dcbw@redhat.com>
10370
10371         Use a single thread for everything.  With the move to wpa_supplicant
10372         and communication over D-Bus, there's no reason for multiple threads.
10373         Almost all of the blocking code has been removed, with one exception in
10374         the DHCP manager and a few in the VPN manager.  This commit removes the
10375         per-device worker thread and fixes activation cancellation in the absence
10376         of threads.  Further removal of thread-related code would be removing
10377         any locking code (like the device list lock) and simplification of logic
10378         around areas of code or data structures that are currently locked.
10379
10380         * autoip.c
10381           dhcp-manager/nm-dhcp-manager.c 
10382           nm-device-802-11-wireless.c
10383           nm-device-802-3-ethernet.c
10384           nm-device.c
10385           nm-device.h
10386                 - Remove usage of multiple threads
10387
10388 2006-12-19  Dan Williams  <dcbw@redhat.com>
10389
10390         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10391         plus a few other patches from wpa_supplicant bugzilla.
10392
10393         * src/Makefile.am
10394           src/NetworkManagerPolicy.c
10395           src/NetworkManagerUtils.c
10396           src/NetworkManagerUtils.h
10397           src/nm-ap-security-leap.c
10398           src/nm-ap-security-wep.c
10399           src/nm-ap-security-wpa-eap.c
10400           src/nm-ap-security-wpa-psk.c
10401           src/nm-ap-security.c
10402           src/nm-ap-security.h
10403           src/nm-device-802-11-wireless.c
10404           src/nm-device-802-11-wireless.h
10405           src/supplicant-manager/nm-supplicant-config.c
10406           src/supplicant-manager/nm-supplicant-config.h
10407           src/supplicant-manager/nm-supplicant-interface.c
10408           src/supplicant-manager/nm-supplicant-interface.h
10409           src/supplicant-manager/nm-supplicant-marshal.list
10410           src/supplicant-manager/nm-supplicant-settings-verify.c
10411           src/supplicant-manager/nm-supplicant-settings-verify.h
10412                 - Move all connection management and association handling to
10413                         wpa_supplicant over dbus, rather than spawning a private copy
10414
10415 2006-12-19  Dan Williams  <dcbw@redhat.com>
10416
10417         * src/NetworkManagerPolicy.c
10418                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10419                         better locking of the device change check handler ID.  Incorrect
10420                         locking was causing lost device change requests
10421
10422 2006-12-18  Dan Williams  <dcbw@redhat.com>
10423
10424         * libnm-util/dbus-dict-helpers.c
10425                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10426                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10427                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10428
10429 2006-12-18  Dan Williams  <dcbw@redhat.com>
10430
10431         * gnome/libnm_glib/libnm_glib.c
10432                 - Change dbus_connection_close() -> dbus_connection_unref()
10433
10434 2006-12-11  Dan Williams  <dcbw@redhat.com>
10435
10436         * src/supplicant-manager/nm-supplicant-interface.c
10437                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10438                         wpa_supplicant interface state
10439                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10440                         state before transitioning to READY state
10441
10442 2006-12-04  Dan Williams  <dcbw@redhat.com>
10443
10444         * src/nm-device-802-11-wireless.c
10445                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10446                         odd length of ESSID returned from ieee80211 stack-based drivers
10447
10448 2006-12-04  Dan Williams  <dcbw@redhat.com>
10449
10450         * src/nm-device-802-11-wireless.c
10451                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10452                         IE handling blocks that cause mis-parsing of the IE
10453
10454 2006-12-04  Dan Williams  <dcbw@redhat.com>
10455
10456         * src/nm-device-802-11-wireless.c
10457                 - (init_supplicant_interface): new function; pull supplicant interface
10458                         setup code out into standalone function since it must be called from
10459                         two different places
10460                 - (real_init): sup_mgr is now in private object data; get and track
10461                         the supplicant manager object over the NMDevice subclass' lifetime
10462                         and register a signal handler for its state signals; only try to
10463                         initialize the supplicant interface if the supplicant manager is in
10464                         the IDLE state (and therefore is ready for requests)
10465                 - (request_wireless_scan): reschedule the scan request if (a) there is
10466                         no supplicant interface yet (meaning wpa_supplicant isn't running
10467                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10468                         for requests yet
10469                 - (supplicant_iface_connection_state_cb): new function; stub for
10470                         handling supplicant interface connection state signals
10471                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10472                         comes and goes
10473                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10474                         supplicant manager object that's being tracked starting with this
10475                         commit
10476
10477 2006-12-04  Dan Williams  <dcbw@redhat.com>
10478
10479         * src/supplicant-manager/nm-supplicant-interface.c
10480                 - (nm_supplicant_interface_set_property): track signal handler ID
10481                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10482
10483 2006-12-04  Dan Williams  <dcbw@redhat.com>
10484
10485         * src/supplicant-manager/nm-supplicant-interface.[ch]
10486                 - (nm_supplicant_interface_get_state): new function
10487
10488 2006-12-04  Dan Williams  <dcbw@redhat.com>
10489
10490         * src/supplicant-manager/nm-supplicant-interface.c
10491                 - (bssid_properties_cb): don't treat DBus errors as valid
10492                         scanned AP messages
10493
10494 2006-12-04  Dan Williams  <dcbw@redhat.com>
10495
10496         * src/supplicant-manager/nm-supplicant-interface.[ch]
10497                 - (nm_supplicant_interface_get_connection_state): new function
10498                 - define new supplicant connection states
10499                 - send a signal when the supplicant connection state changes
10500
10501 2006-12-03  Dan Williams  <dcbw@redhat.com>
10502
10503         * src/supplicant-manager/Makefile.am
10504           src/supplicant-manager/nm-supplicant-connection.h
10505           src/supplicant-manager/nm-supplicant-connection.c
10506           src/supplicant-manager/nm-supplicant-config.h
10507           src/supplicant-manager/nm-supplicant-config.c
10508           src/supplicant-manager/nm-supplicant-types.h
10509           src/supplicant-manager/nm-supplicant-interface.h
10510           src/supplicant-manager/nm-supplicant-interface.c
10511                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10512
10513 2006-12-03  Dan Williams  <dcbw@redhat.com>
10514
10515         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10516
10517         * po/POTFILES.in
10518           po/POTFILES.skip
10519                 - Move VPN-related translatables to .skip
10520
10521         * vpn-daemons/pptp/po/POTFILES.in
10522                 - Update with new translatables
10523
10524 2006-12-02  Dan Williams  <dcbw@redhat.com>
10525
10526         Patch from Christian Persch <chpe@gnome.org>
10527
10528         * gnome/applet/Makefile.am
10529           gnome/applet/applet-dbus-devices.c
10530           gnome/applet/applet-notifications.c
10531           gnome/applet/applet.c
10532           gnome/applet/applet.h
10533           gnome/applet/main.c
10534                 - Be a GtkStatusIcon on GTK+ >= 2.10
10535
10536 2006-12-02  Dan Williams  <dcbw@redhat.com>
10537
10538         * gnome/applet/applet.c
10539                 - (nma_update_info): fix two unecessary allocations
10540
10541 2006-12-02  Dan Williams  <dcbw@redhat.com>
10542
10543         Patch from Michael Biebl <biebl@teco.edu>
10544         * configure.in
10545           man/NetworkManager.1.in
10546           man/NetworkManagerDispatcher.1.in
10547           man/NetworkManager.8.in
10548           man/NetworkManagerDispatcher.8.in
10549                 - Add .SH NAME stanzas
10550                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10551
10552 2006-12-02  Dan Williams  <dcbw@redhat.com>
10553
10554         Patch from Christian Persch <chpe@gnome.org>
10555
10556         * configure.in
10557                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10558
10559 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10560
10561         Patch by Timo Hoenig <thoenig@suse.de>:
10562         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10563         DBUS-1.0.
10564
10565         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10566         we can't use the one from the main source directory.
10567
10568 2006-11-27  Dan Williams  <dcbw@redhat.com>
10569
10570         Patch from Christian Persch <chpe@gnome.org>
10571
10572         * gnome/applet/applet-dbus-devices.c
10573                 - (hal_info_product_cb): fix memleak; free duped string.
10574                         Gnome.org #379908
10575
10576 2006-11-27  Dan Williams  <dcbw@redhat.com>
10577
10578         Patch from Christian Persch <chpe@gnome.org>
10579
10580         * gnome/applet/menu-items.c
10581                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10582                         as gtk_progress_set_percentage is deprecated.  Should
10583                         work as far back as GTK+ 2.4.  Gnome.org #379780
10584
10585 2006-11-26  Dan Williams  <dcbw@redhat.com>
10586
10587         Scan using wpa_supplicant over DBus.
10588
10589         * src/nm-device-802-11-wireless.c
10590                 - remove wireless extensions netlink event handler bits
10591                         (wireless_event_helper, nm_device_802_11_wireless_event)
10592                 - remove wireless extensions scan event handler bits
10593                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10594                         hex2byte, hex2num, request_and_convert_scan_results,
10595                         free_process_scan_cb_data, scan_results_timeout,
10596                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10597                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10598                         and request scans from the supplicant interface rather than directly
10599                 - Move functionality of convert_scan_results() to cull_scan_list() and
10600                         supplicant_iface_scanned_ap_cb()
10601                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10602                         at the scan interval when the current scan has finished
10603                 - (supplicant_iface_state_cb): start scanning when the supplicant
10604                         interface enters the READY state, and stop scanning when it
10605                         enters the DOWN state
10606                 - (cull_scan_list): weed out old access points from the scan list
10607                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10608                         point into an NMAccessPoint and merge it into the device's scan list
10609
10610         * src/supplicant-manager/nm-supplicant-interface.c
10611           src/supplicant-manager/nm-supplicant-interface.h
10612                 - Add a new signal "scan-result" which is issued when the supplicant
10613                         notifies NM that a scan has completed
10614                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10615                         point found in the scan.  Called once for each access point that
10616                         the supplicant interface object receives from the supplicant as a
10617                         result of the "scanResults" method call
10618                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10619                         for the initial scan results
10620                 - (scan_request_cb): new function; send listeners the result
10621                         (success, error) of a wireless scan request
10622                 - (nm_supplicant_interface_request_scan): new function; ask the
10623                         supplicant to perform an immediate wireless scan
10624
10625 2006-11-25  Dan Williams  <dcbw@redhat.com>
10626
10627         * src/supplicant-manager/Makefile.am
10628                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10629                         add HAL cflags/includes and named-manager includes directory
10630
10631         * src/supplicant-manager/nm-supplicant-interface.h
10632                 - New state STARTING to handle transition from INIT to READY where
10633                         the addInterface pending call is still outstanding
10634
10635         * src/supplicant-manager/nm-supplicant-interface.c
10636                 - track pending calls differently since we may have more than one
10637                         going on at any given time
10638                 - request scan results from wpa_supplicant; but don't do it more often
10639                         than every 4 seconds.  Drivers that do background scanning
10640                         (like the 'ipw' drivers) send a continuous stream of scan completion
10641                         notifications, so we don't want to hammer the supplicant or dbus
10642                         with requests for all scan results every time we get a completion
10643                         notification.
10644
10645 2006-11-25  Dan Williams  <dcbw@redhat.com>
10646
10647         * src/supplicant-manager/nm-supplicant-types.h
10648                 - new file; move all supplicant manager object typedefs here for
10649                         #include sanity
10650
10651         * src/supplicant-manager/nm-supplicant-interface.c
10652           src/supplicant-manager/nm-supplicant-interface.h
10653                 - new file; an object that interfaces an NMDevice object to the
10654                         supplicant and handles signals from the supplicant.  This object
10655                         does all necessary DBus communication with wpa_supplicant.
10656
10657         * src/supplicant-manager/nm-supplicant-manager.c
10658           src/supplicant-manager/nm-supplicant-manager.h
10659                 - Actually do something.  Track the state of the wpa_supplicant service
10660                         and deal with its comings & goings.  Handle life events of
10661                         supplicant interfaces too.
10662                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10663
10664         * src/supplicant-manager/nm-supplicant-connection.h
10665                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10666
10667         * src/supplicant-manager/Makefile.am
10668                 - Add new files to build, and add libnm-util to includes
10669
10670         * src/nm-marshal.list
10671                 - New marshaler type: VOID:UINT,UINT
10672
10673         * src/nm-device-802-3-ethernet.c
10674                 - (real_init): grab a supplicant interface
10675                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10676                 - (supplicant_iface_state_cb): new function, stub for handling
10677                         supplicant interface state changes
10678
10679         * src/nm-device-802-11-wireless.c
10680                 - (real_init): grab a supplicant interface
10681                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10682                 - (supplicant_iface_state_cb): new function, stub for handling
10683                         supplicant interface state changes
10684
10685         * src/NetworkManager.c
10686                 - (main): create and keep the supplicant manager around for the lifetime
10687                         of NetworkManager
10688
10689         * src/Makefile.am
10690                 - Link to the supplicant manager sub-library and use the supplicant
10691                         manager includes
10692
10693 2006-11-25  Dan Williams  <dcbw@redhat.com>
10694
10695         Rework DBus manager signal handling to be more flexible.  Previously,
10696         only one signal handler could be registered for a particular interface.
10697         The DBus manager now reference counts DBus bus matches and allows multiple
10698         clients to register signal handlers for the same interface and sender.
10699
10700         * src/NetworkManager.c
10701                 - (main): track NMI signal handler ID and remove it when we quit
10702
10703         * src/NetworkManagerMain.h
10704                 - Keep track of NMI signal handler ID
10705
10706         * src/nm-dbus-manager.c
10707           src/nm-dbus-manager.h
10708                 - rework signal handling; each signal handler references one signal
10709                         match, but a signal match may be referenced by one or more
10710                         signal handlers.  Matches are refcounted and are destroyed when the
10711                         last signal handler that references the match is removed.  This is
10712                         necessary because two signal handlers may end up requiring the same
10713                         dbus bus match, so the match must live until the last signal handler
10714                         is destroyed (for example, with the wpa_supplicant network interface
10715                         dbus interface).
10716
10717         * src/dhcp-manager/nm-dhcp-manager.c
10718                 - (nm_dhcp_manager_new): track DHCP signal handler id
10719                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10720
10721         * src/vpn-manager/nm-vpn-service.c
10722                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10723                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10724
10725 2006-11-25  Dan Williams  <dcbw@redhat.com>
10726
10727         Suggested by Helmut Schaa <hschaa@suse.de>
10728
10729         * src/vpn-daemons/nm-vpn-service.c
10730                 - (supplicant_child_setup): new function
10731                 - (supplicant_exec): make child process use a new process group id
10732
10733         * src/nm-device-802-11-wireless.c
10734                 - (nm_vpn_service_child_setup): new function
10735                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10736                         process group id
10737
10738 2006-11-19  Dan Williams  <dcbw@redhat.com>
10739
10740         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10741         * gnome/vpn-properties/nm-vpn-properties.c
10742                 - clean up after renamed VPN connection
10743
10744 2006-11-19  Dan Williams  <dcbw@redhat.com>
10745
10746         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10747         * gnome/applet/applet-dbus-vpn.c
10748                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10749
10750         * gnome/vpn-properties/nm-vpn-properties.c
10751                 - (init_app): sort VPN connections
10752
10753 2006-11-09  Dan Williams  <dcbw@redhat.com>
10754
10755         * src/NetworkManagerAPList.c
10756                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10757                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10758                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10759                 broke hidden SSID matching.  Found by Bill Moss.
10760
10761 2006-10-25  Dan Williams  <dcbw@redhat.com>
10762
10763         * src/nm-dbus-nm.c
10764                 - (nm_dbus_nm_set_active_device): return an empty success message on
10765                         success, rather than falling through to the error case.
10766
10767 2006-10-25  Dan Williams  <dcbw@redhat.com>
10768
10769         * src/NetworkManagerUtils.c
10770                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10771                         "SCAN" command
10772
10773 2006-10-24  Dan Williams  <dcbw@redhat.com>
10774
10775         Reduce the number of times the Gnome applet wakes up, especially when
10776         it's doing absolutely nothing and is hidden.  Initial patch by
10777         Chris Aillon.
10778
10779         * gnome/applet/applet-dbus.c
10780                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10781                         kill the redraw timeout.  When NM starts up, start the redraw
10782                         timeout.  Also, if we get kicked off the bus for some reason,
10783                         start the reconnection timeout if one's not already running.
10784                 - (nma_dbus_init): better handling of error conditions, don't leak
10785                         a half-initialized dbus connection
10786                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10787                         the applet's data, just call nm_dbus_init_helper()
10788                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10789                         timeout that calls nma_dbus_connection_watcher()
10790                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10791                         reconnection timeout, and don't start the reconnection timeout
10792                         unconditionally anymore
10793
10794         * gnome/applet/applet-dbus.h
10795                 - Expose nma_start_dbus_connection_watch()
10796
10797         * gnome/applet/applet.c
10798                 - (nma_update_state): no longer static, called from applet-dbus.c for
10799                         immediate UI updates on certain events
10800                 - (nma_set_running): new function; take over setting applet->running,
10801                         when not running (ie, NM is not active), don't activate the redraw
10802                         timeout because we're not showing the applet anyway.  When we are
10803                         running (ie, NM is active), and only when we're running, start the
10804                         redraw timeout.
10805                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10806                         kill any reconnection timeout
10807                 - (nma_get_instance): move one-off dbus initialization code here since
10808                         nm_dbus_init_helper() gets called more than once, possibly by the
10809                         reconnection timeout function too.  And, when we start up, if we
10810                         can't get a connection to the bus, start the reconnection timeout.
10811                         But don't start the redraw timeout yet, only do that when we get
10812                         NM's state and find out if it's running or not.
10813
10814         * gnome/applet/applet.h
10815                 - Add the reconnection GSource ID
10816                 - Add prototypes for nma_set_running() and the no-longer-static
10817                         nma_update_state()
10818
10819 2006-10-24  Dan Williams  <dcbw@redhat.com>
10820
10821         * src/vpn-daemons/nm-dbus-vpnc.c
10822                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10823                         pending call tracker
10824                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10825                         pending call tracker; register one-vpn-connection update pending
10826                         call in pending call tracker
10827                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10828                         update pending call in pending call tracker
10829                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10830                         update pending call in pending call tracker; don't block waiting
10831                         for call to return
10832
10833 2006-10-19  Robert Love  <rml@novell.com>
10834
10835         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10836           refresh the cache.
10837
10838 2006-10-14  Dan Williams  <dcbw@redhat.com>
10839
10840         * src/dhcp-manager/nm-dhcp-manager.c
10841                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10842                 the dbus connection and the device object path rather than
10843                 constructing it inside both functions.  Saves a bit of memory
10844                 and clarifies a failure path.
10845                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10846                 and allocate device path here rather than each of the two
10847                 functions above.
10848
10849 2006-10-13  Dan Williams  <dcbw@redhat.com>
10850
10851         * src/NetworkManager.c
10852                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10853                 this somehow droppout in the refactor
10854
10855 2006-10-13  Dan Williams  <dcbw@redhat.com>
10856
10857         * Huge DBus refactor:
10858                 - Create a "DBus Manager" object which manages the connection and
10859                 sends signals on NameOwnerChanged and connection/disconnection events,
10860                 handles reconnection to the bus if NM gets kicked off, and abstracts
10861                 signal handling
10862                 - Remove DBusConnection members from places where they are no
10863                 longer needed due to the refactor, like the dbus-connection
10864                 property of the named manager, and from NMData
10865                 - Reformats a bunch of the code to gnome style
10866                 (8-space tabs, braces on same line as statement, 80-col width).
10867                 Consider it open season to reformat any bits to gnome style.
10868                 style that aren't already.
10869
10870 2006-10-13  Dan Williams  <dcbw@redhat.com>
10871
10872         * src/supplicant-manager/Makefile.am
10873                 - Add new files
10874
10875         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10876                 - Make it a minimal GObject
10877
10878         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10879                 - Verify settings destined for wpa_supplicant
10880
10881         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10882                 - Minimal GObject to track wpa_supplicant controlled device
10883                 connections
10884
10885 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10886
10887         * gnome/applet/applet.c: (nma_update_info),
10888         (nma_act_stage_to_pixbuf), (nma_update_state):
10889         Mark missing strings for translation. Fixes bug #343306.
10890
10891 2006-10-01  Dan Williams  <dcbw@redhat.com>
10892
10893         * src/vpn-manager/nm-vpn-manager.c
10894                 - (nm_vpn_manager_load_services): split and clean up
10895                 for readability and correctness.  Restrict VPN service
10896                 files to ending in ".name", as was meant from the
10897                 beginning (but not coded in).  Better error reporting.
10898
10899 2006-10-01  Dan Williams  <dcbw@redhat.com>
10900
10901         * utils/nm-utils.h
10902                 - Clean up formatting of debug/info/warning log messages
10903
10904 2006-09-27  Robert Love  <rml@novell.com>
10905
10906         Patch by Tambet Ingo <tambet@ximian.com>:
10907         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10908           actually work.
10909
10910 2006-09-07  Dan Williams <dcbw@redhat.com>
10911
10912         * test/Makefile.am
10913           test/libnm-util/Makefile.am
10914           test/nm-supplicant-test.c
10915                 - Add test program emulating the way NM drives wpa_supplicant
10916                 to help debug supplicant issues
10917
10918 2006-08-24  Dan Williams <dcbw@redhat.com>
10919
10920         * configure.in
10921           src/Makefile.am
10922           src/supplicant-manager/Makefile.am
10923           src/supplicant-manager/nm-supplicant-manager.c
10924           src/supplicant-manager/nm-supplicant-manager.h
10925                 - Add skeleton bits of the wpa_supplicant manager
10926
10927 2006-08-24  Dan Williams <dcbw@redhat.com>
10928
10929         Patch from Ed Catmur:
10930         * src/NetworkManagerUtils.c
10931                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10932                 if netmask is 0 (Gnome #352634)
10933
10934 2006-08-17  Robert Love  <rml@novell.com>
10935
10936         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10937           package is now DBUS-enabled and listens for the NM signals.
10938
10939 2006-08-14  Dan Williams  <dcbw@redhat.com>
10940
10941         * Patch from Christian Persch <chpe gnome org>
10942         * configure.in
10943           po/LINGUAS
10944           vpn-daemons/openvpn/po/LINGUAS
10945           vpn-daemons/openvpn/configure.in
10946           vpn-daemons/pptp/po/LINGUAS
10947           vpn-daemons/pptp/configure.in
10948           vpn-daemons/vpnc/po/LINGUAS
10949           vpn-daemons/vpnc/configure.in
10950                 - Convert to LINGUAS method so translators don't have to modify
10951                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10952                 0.35 or higher
10953
10954 2006-08-14  Dan Williams  <dcbw@redhat.com>
10955
10956         Patch from Alex Smith <alex.extreme2@gmail.com>
10957         * configure.in
10958           src/backends/Makefile.am
10959           src/backends/NetworkManagerFrugalware.c
10960                 - Add support for Frugalware
10961
10962 2006-08-13  Dan Williams  <dcbw@redhat.com>
10963
10964         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10965         * src/nm-device-802-11-wireless.c
10966                 - (supplicant_exec): spawn wpa_supplicant without debug spew
10967                 Gnome #346875
10968
10969 2006-08-13  Dan Williams  <dcbw@redhat.com>
10970
10971         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10972         * src/nm-ap-security.c
10973           src/nm-ap-security.h
10974                 - Add authentication_required bits for subclasses to specify whether
10975                 or not real authentication is required for connections, i.e. whether
10976                 the AP rejects us when an encryption key is wrong or not.
10977
10978         * src/nm-ap-security-wep.c
10979           src/nm-ap-security-wpa-eap.c
10980           src/nm-ap-security-wpa-psk.c
10981           src/nm-ap-security-leap.c
10982                 - Implement authentication_required appropriately for each method
10983
10984         * src/nm-device-802-11-wireless.c
10985                 - Be smarter about when to request a key; for example, using a wrong key
10986                 in WEP shared key mode previously just timed out and did not request
10987                 a new key
10988
10989 2006-08-13  Dan Williams  <dcbw@redhat.com>
10990
10991         * gnome/libnm_glib/libnm_glib.c
10992                 - dbus_connection_disconnect() -> dbus_connection_close() for
10993                 dbus >= 0.90
10994
10995 2006-08-07  Dan Williams  <dcbw@redhat.com>
10996
10997         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10998         * src/NetworkManagerSystem.c
10999                 - Respect specified MTU.  Gnome #344967
11000
11001 2006-08-07  Dan Williams  <dcbw@redhat.com>
11002
11003         * src/vpn-manager/nm-vpn-service.c
11004                 - Simplify print_vpn_config() arguments
11005
11006         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
11007         * src/vpn-manager/Makefile.am
11008           src/vpn-manager/nm-vpn-service.c
11009                 - Add new API for passing VPN config options as a dict. Gnome #344967
11010
11011 2006-08-06  Dan Williams  <dcbw@redhat.com>
11012
11013         * gnome/applet/applet-dbus-devices.c
11014           gnome/applet/applet-dbus-vpn.c
11015           gnome/applet/applet-dbus.c
11016           gnome/applet/applet-dbus.h
11017           src/nm-dbus-nmi.c
11018           utils/nm-utils.c
11019           utils/nm-utils.h
11020                 - Make pending call tracking code generic,
11021                 so we can use it in NM as well as the applet
11022
11023 2006-08-06  Dan Williams  <dcbw@redhat.com>
11024
11025         * src/nm-activation-request.c
11026                 - Refcount pending call objects
11027
11028 2006-08-06  Dan Williams  <dcbw@redhat.com>
11029
11030         Patch from Christan Chiesa <christanc@gmail.com>
11031         * configure.in
11032                 - Tell sha1.c to use bigendian mode on PPC
11033
11034 2006-08-04  Robert Love  <rml@novell.com>
11035
11036         Glib Memory Slices!
11037         * configure.in: Require glib 2.10 or later.
11038         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
11039           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
11040           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
11041           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
11042           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
11043           Memory Slices are the greatest thing since bread slices.
11044         * src/NetworkManagerAP.c: Also, fix memory leak.
11045
11046 2006-08-01  Robert Love  <rml@novell.com>
11047
11048         * gnome/applet/main.c: Shutdown all VPN connections on logout.
11049
11050 2006-07-31  Robert Love  <rml@novell.com>
11051
11052         * src/backends/interface_parser.c: Declarations must begin the block.
11053
11054 2006-07-24  Dan Williams  <dcbw@redhat.com>
11055
11056         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11057         * src/backends/Makefile.am
11058           src/backends/NetworkManagerArch.c
11059           src/backends/NetworkManagerDebian.c
11060           src/backends/NetworkManagerGeneric.c
11061           src/backends/NetworkManagerGeneric.h
11062           src/backends/NetworkManagerGentoo.c
11063           src/backends/NetworkManagerPaldo.c
11064           src/backends/NetworkManagerRedHat.c
11065           src/backends/NetworkManagerSlackware.c
11066           src/backends/NetworkManagerSuSE.c
11067                 - Genericize common backend functions
11068
11069 2006-07-18  Robert Love  <rml@novell.com>
11070
11071         * configure.in: Add "--with-notify" option to allow disabling of
11072           libnotify support.
11073
11074 2006-07-13  Dan Williams  <dcbw@redhat.com>
11075
11076         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
11077         * gnome/applet/applet.glade
11078           gnome/applet/Makefile.am
11079           gnome/applet/nm-gconf-wso.c
11080           gnome/applet/nm-gconf-wso-leap.c
11081           gnome/applet/nm-gconf-wso-leap.h
11082           gnome/applet/wireless-security-manager.c
11083           gnome/applet/wso-leap.c
11084           gnome/applet/wso-leap.h
11085           include/NetworkManager.h
11086           libnm-util/dbus-helpers.c
11087           libnm-util/dbus-helpers.h
11088           src/Makefile.am
11089           src/NetworkManagerAP.c
11090           src/nm-ap-security.c
11091           src/nm-ap-security-leap.c
11092           src/nm-ap-security-leap.h
11093                 - Add LEAP authentication support
11094
11095 2006-07-13  Dan Williams  <dcbw@redhat.com>
11096
11097         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
11098         * configure.in
11099           src/backends/NetworkManagerArch.c
11100           src/backends/NetworkManagerDebian.c
11101           src/backends/NetworkManagerGentoo.c
11102           src/backends/NetworkManagerPaldo.c
11103           src/backends/NetworkManagerRedHat.c
11104           src/backends/NetworkManagerSlackware.c
11105           src/backends/NetworkManagerSuSE.c
11106                 - Convert hardcoding of 'ip' path to configure-time
11107                         detected one
11108
11109 2006-07-12  Leonid Kanter <leon@asplinux.ru>
11110
11111         * configure.in: added ru to ALL_LINGUAS
11112
11113 2006-07-10  Dan Williams  <dcbw@redhat.com>
11114
11115         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11116         * src/nm-device.c
11117                 - (real_act_stage3_ip_config_start): don't infinite loop when
11118                         dhcdbd isn't running (Gnome #346845)
11119
11120 2006-07-09  Dan Williams  <dcbw@redhat.com>
11121
11122         * gnome/applet/applet.c
11123                 - (nma_destroy): don't pass NULL to notify_notification_close
11124                         (RH #197917)
11125
11126 2006-07-09  Dan Williams  <dcbw@redhat.com>
11127
11128         * gnome/applet/applet.c
11129                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
11130
11131 2006-07-04  Tor Krill  <tor@krill.nu>
11132
11133         Patch from Valentine Sinitsyn <e_val@inbox.ru>
11134         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
11135         (nm_system_restart_mdns_responder), (ArchReadConfig),
11136         (nm_system_device_get_system_config):
11137                 - Explicitly check for DHCP configuration
11138                 - Check if daemons are running before starting them
11139
11140 2006-06-25  Dan Williams  <dcbw@redhat.com>
11141
11142         * libnm-util/dbus-dict-helpers.[ch]
11143           test/libnm-util/test-dbus-dict-helpers.c
11144                 - Add string array support
11145
11146 2006-06-24  Dan Williams  <dcbw@redhat.com>
11147
11148         * src/dhcp-manager/nm-dhcp-manager.c
11149                 - (nm_dhcp_manager_process_signal): clean up spacing
11150
11151 2006-06-21  Dan Williams  <dcbw@redhat.com>
11152
11153         * src/nm-dbus-device.c
11154                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11155                         through dbus
11156
11157 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11158
11159         * configure.in: Added 'lv' to ALL_LINGUAS
11160
11161 2006-06-19  Dan Williams  <dcbw@redhat.com>
11162
11163         * src/NetworkManagerAP.c
11164                 - Clarify usage of user_created
11165
11166         * src/nm-ap-security-wep.c
11167           src/nm-ap-security-wpa-eap.c
11168           src/nm-ap-security-wpa-psk.c
11169           src/nm-ap-security.c
11170           src/nm-ap-security.h
11171                 - s/user_created/adhoc, because we really do mean adhoc
11172
11173         Patch from Bernard Blackham <bernard@blackham.com.au>
11174         * src/nm-device-802-11-wireless.c         
11175                 - (supplicant_send_network_config): instead of user_created,
11176                         use adhoc, and do AP_SCAN 2 for adhoc networks
11177
11178 2006-06-18  Robert Love  <rml@novell.com>
11179
11180         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11181           we have a value to set.  Gconf generates a warning if `val' is NULL.
11182         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11183           unless we actually received a valid private key file passphrase or
11184           password.  Otherwise, we don't know to later ask the applet to pull
11185           the key from the keyring.
11186
11187 2006-06-17  Dan Williams  <dcbw@redhat.com>
11188
11189         * libnm-util/dbus-dict-helpers.[ch]
11190           test/libnm-util/test-dbus-dict-helpers.c
11191                 - Fixes for zero-length byte arrays
11192                 - Replace return values of 0 with FALSE for clarity
11193                 - Test zero-length byte arrays
11194
11195 2006-06-17  Dan Williams  <dcbw@redhat.com>
11196
11197         * libnm-util/dbus-dict-helpers.[ch]
11198           test/libnm-util/test-dbus-dict-helpers.c
11199                 - Add helpers for byte arrays
11200                 - Rework bits of the testcase
11201
11202 2006-06-16  Dan Williams  <dcbw@redhat.com>
11203
11204         * libnm-util/Makefile.am
11205         * libnm-util/dbus-dict-helpers.[ch]
11206                 - Add some helpers to take the pain out of using dict types in
11207                         dbus.
11208
11209         * test/libnm-util/Makefile.am
11210         * test/libnm-util/test-dbus-dict-helpers.c
11211                 - Test cases for the dict helper functions
11212
11213 2006-06-15  Robert Love  <rml@novell.com>
11214
11215         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11216           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11217           if there is no key to pass.
11218         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11219           receiving a non-NULL key.
11220
11221 2006-06-14  Robert Love  <rml@novell.com>
11222
11223         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11224           copy the strings.
11225
11226
11227 2006-06-14  Dan Williams  <dcbw@redhat.com>
11228
11229         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11230         * src/nm-device-802-11-wireless.c
11231                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11232                         or ones where the driver is unknown
11233                 - (supplicant_exec): don't wait for supplicant startup here
11234                 - (supplicant_interface_init): finer grained polling for supplicant
11235                         startup
11236
11237 2006-06-13  Robert Love  <rml@novell.com>
11238
11239         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11240           if it is currently set to TRUE.  Otherwise, we will reset the value
11241           when we connect normally.
11242         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11243           the old BSSID is valid, too.  The recently added ESSID check may not be
11244           sufficient (we can remove it?).  What we really want to catch is the
11245           case of going from all-zeros to the BSSID of some other network, which
11246           happens on failure.
11247
11248 2006-06-09  Dan Williams  <dcbw@redhat.com>
11249
11250         * src/NetworkManagerSystem.[ch]
11251                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11252                         it was unused and pointless
11253                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11254                         fix for set_up_down_with_iface change
11255
11256         * src/vpn-manager/nm-vpn-connection.c
11257                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11258
11259         * src/backends/NetworkManagerPaldo.c
11260           src/backends/NetworkManagerRedHat.c
11261           src/backends/NetworkManagerSuSE.c
11262           src/backends/NetworkManagerArch.c
11263           src/backends/NetworkManagerDebian.c
11264           src/backends/NetworkManagerGentoo.c
11265                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11266                         appropriate
11267                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11268                         where appropriate
11269
11270 2006-06-09  Dan Williams  <dcbw@redhat.com>
11271
11272         Patch from Peter Jones:
11273         * src/nm-device-802-11-wireless.c
11274                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11275                         SSID hasn't changed from what we expect before automatically
11276                         updating the saved BSSID from a new AP
11277
11278 2006-06-08  Robert Love  <rml@novell.com>
11279
11280         Add 'fallback' support.  NetworkManager will attempt to brute-force
11281         connect to networks marked as fallback if there are no better wireless
11282         connections available.  This is useful as a method of last resort, to
11283         work around driver problems, and for use with hidden networks.
11284         * gnome/applet/applet-dbus-devices.c,
11285           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11286         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11287           pass it on via DBUS.
11288         * gnome/applet/applet.c: No fallback by default.
11289         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11290           Update other-network-dialog to add UI checkbox toggling fallback.
11291         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11292           propery from AP object.  Add "fallback" property to AP object.
11293         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11294         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11295         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11296           separate function.  Add get_best_fallback_ap() for returning an AP
11297           on which to attempt fallback.
11298         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11299         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11300
11301 2006-06-07  Robert Love  <rml@novell.com>
11302
11303         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11304           checked that the return type was GCONF_VALUE_STRING, not the correct
11305           GCONF_VALUE_BOOL, and thus it never worked.
11306         * src/NetworkManagerAPList.c: Before concluding that two networks are
11307           identical based on their BSSID, make sure that the BSSID in question
11308           is actually valid.  Specifically, an empty or all zero BSSID does not
11309           cut it.
11310         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11311           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11312           similar invariant clean up.
11313
11314 2006-06-02  Robert Love  <rml@novell.com>
11315
11316         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11317
11318 2006-05-28  Dan Williams  <dcbw@redhat.com>
11319
11320         * gnome/applet/applet.glade
11321           gnome/vpn-properties/nm-vpn-properties.glade
11322                 - Set window icons on dialogs  (Gnome.org #333420)
11323
11324 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11325
11326         * gnome/vpn-properties/nm-vpn-properties.glade:
11327         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11328         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11329         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11330                 - Make the VPN properties pages prettier and more HIG
11331                   compliant. Gnome Bug #336913.
11332
11333 2006-05-28  Dan Williams  <dcbw@redhat.com>
11334
11335         Patch from Christian Persch <chpe@gnome.org>
11336         * gnome/vpn-properties/nm-vpn-properties.c
11337         * gnome/vpn-properties/nm-vpn-properties.glade
11338                 - HIG-ification love  (Gnome.org #336846)
11339
11340 2006-05-28  Dan Williams  <dcbw@redhat.com>
11341
11342         Patch from Christian Persch <chpe@gnome.org>
11343         * configure.in
11344           gnome/vpn-properties/nm-vpn-properties.c
11345                 - (main): Fix option parsing.  Gnome.org #336847
11346
11347 2006-05-28  Dan Williams  <dcbw@redhat.com>
11348
11349         * gnome/vpn-properties/nm-vpn-properties.c
11350                 - (find_vpn_ui_by_service_name): protect against NULL service names
11351                 - (update_edit_del_sensitivity): protect against NULL service names
11352                         Gnome.org #341306
11353
11354 2006-05-28  Dan Williams  <dcbw@redhat.com>
11355
11356         Patch from Chris Fuller <crf@grandecom.net>:
11357         * src/nm-device-802-11-wireless.c
11358                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11359                         don't dispose of wireless-specific stuff unless it is actually
11360                         initialized.  Gnome.org #341263
11361
11362 2006-05-28  Dan Williams  <dcbw@redhat.com>
11363
11364         * src/NetworkManagerPolicy.c
11365                 - (nm_policy_device_change_check): don't switch devices if the "best"
11366                         AP is essentially the same as the current activation request, but
11367                         the current activation request isn't done activating yet.  Fixes
11368                         multiple requests for keyring password on startup for Gnome applet.
11369                         Gnome.org #341297
11370
11371 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11372
11373         * src/NetworkManager.c: use GOptions instead of getopt
11374         * configure.in: bump glib required version to >= 2.6 for GOption
11375           support
11376
11377 2006-05-25  Robert Love  <rml@novell.com>
11378
11379         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11380           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11381           instead of dumping ifdef's throughout the code.
11382         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11383           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11384           use nm_ioctl_info() in lieu.
11385
11386 2006-05-25  Robert Love  <rml@novell.com>
11387
11388         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11389         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11390           not using gcrypt.  Otherwise, we get a linker error.
11391
11392 2006-05-25  Robert Love  <rml@novell.com>
11393
11394         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11395         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11396           configure flag to disable building of the GNOME-based applet.
11397
11398 2006-05-25  Robert Love  <rml@novell.com>
11399
11400         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11401           parameter from link, because it shadows a global variable with some
11402           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11403           should never have exported to the entire system a common four letter
11404           word.  But we here at NetworkManager are team players.  Fixes
11405           GNOME bug #336532.
11406
11407 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11408
11409         * configure.in: Added mk.po, Macedonian translation.
11410
11411 2006-05-24  Robert Love  <rml@novell.com>
11412
11413         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11414           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11415           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11416
11417 2006-05-24  Robert Love  <rml@novell.com>
11418
11419         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11420           libnm-util/Makefile.am, src/Makefile.am,
11421           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11422           vpn-daemons/openvpn/properties/Makefile.am,
11423           vpn-daemons/pptp/auth-dialog/Makefile.am,
11424           vpn-daemons/pptp/properties/Makefile.am,
11425           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11426           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11427           user passed for --datadir, if anything, when setting the GNOME locale
11428           directory.  It should be a function of the specified datadir and not
11429           the prefix.
11430
11431 2006-05-24  Robert Love  <rml@novell.com>
11432
11433         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11434           src/NetworkManager.c: Take care to call bindtextdomain with the
11435           location of msgid files.
11436         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11437           files.
11438
11439 2006-05-22  Robert Love  <rml@novell.com>
11440
11441         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11442           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11443           99% of the time there is a real problem with wireless, and a
11444           seemingly successful connection via Zeroconf just confuses the user.
11445           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11446
11447 2006-05-22  Robert Love  <rml@novell.com>
11448
11449         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11450           autofs on interface up if NIS is configured.  On interface down, do
11451           nothing.
11452
11453 2006-05-22  Robert Love  <rml@novell.com>
11454
11455         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11456           to avoid calling g_object_unref() on stale pointers on error in
11457           nma_icons_free().  This happens because we short-circuit loaded the
11458           icons on the first failure but then free all icons.  Normally we have
11459           no issue because the icons were zero'ed out malloc, but we have stale
11460           pointer data after nma_icon_theme_changed().
11461         * gnome/applet/main.c: Return error code if nma_new() failed.
11462
11463 2060-05-21  Dan Williams  <dcbw@redhat.com>
11464
11465         * initscript/NetworkManager.in
11466                 - Ensure both dhcdbd and named are started before NM
11467
11468 2006-05-21  Dan Williams  <dcbw@redhat.com>
11469
11470         * configure.in
11471                 - Bump version to 0.7 to signify we are in 0.7 development
11472
11473 2006-05-21  Dan Williams  <dcbw@redhat.com>
11474
11475         Patch from Adam Schreiber <sadam@clemson.edu>
11476         * gnome/vpn-properties/nm-vpn-properties.c
11477                 - (main): correct Gnome program name  (gnome.org #342498)
11478
11479 2006-05-21  Dan Williams  <dcbw@redhat.com>
11480
11481         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11482
11483         * src/NetworkManagerDbus.[ch]
11484                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11485                         clarify that function's argument should be an escaped dbus object
11486                         path, and look for path segment end before returning a match
11487         * src/nm-dbus-nm.c:
11488                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11489
11490 2006-05-17  Robert Love  <rml@novell.com>
11491
11492         Functionality to differentiate Ad-Hoc networks from infrastructure
11493         networks in the applet, by displaying a special icon:
11494         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11495         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11496         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11497           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11498           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11499           networks, encrypted or not.
11500         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11501           accessor functions to get and set the mode of a given network,
11502           wireless_network_get_mode() and wireless_network_set_mode().
11503
11504 2006-05-17  Robert Love  <rml@novell.com>
11505
11506         Functionality to automatically add BSSIDs to the allowed-MAC list as
11507         one roams from access point to access point on a given network:
11508         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11509           helper function to compare two ether_addr structures and return TRUE
11510           if they contain the same MAC address.
11511         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11512           prototype.
11513         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11514           stored with the current AP.  If the BSSID has indeed changed, we
11515           send it out to the applet, allowing the allowed-MAC list to grow
11516           automatically in response to roaming.
11517
11518 2006-05-16  Robert Love  <rml@novell.com>
11519
11520         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11521           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11522
11523 2006-05-13  Dan Williams  <dcbw@redhat.com>
11524
11525         * src/nm-device-802-3-ethernet.c
11526                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11527                         carrier detect (Debian bug #366373)
11528
11529 2006-05-11  Dan Williams  <dcbw@redhat.com>
11530
11531         Patch from Michael Biebl <biebl@teco.edu>
11532         * src/backends/NetworkManagerDebian.c
11533                 - Debian backend fixups
11534
11535 2006-05-10  Robert Love  <rml@novell.com>
11536
11537         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11538
11539 2006-05-09  Robert Love  <rml@novell.com>
11540
11541         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11542           private certificate passphrase, if any, in the GNOME Keyring.
11543         * libnm-utils/dbus-helpers.c: Update.
11544
11545 2006-05-05  Dan Williams  <dcbw@redhat.com>
11546
11547         * src/nm-device-802-11-wireless.c
11548                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11549                         nm_device_802_11_wireless_disable_encryption() since that's all
11550                         we use it for anymore; we don't ever set WEP keys ourselves.
11551                 - (real_deactivate_quickly): reset SSID and encryption keys
11552                 - (real_deactivate): move SSID and encryption key reset to
11553                         real_deactivate_quickly(), which gets run before us anyway
11554
11555 2006-05-05  Robert Love  <rml@novell.com>
11556
11557         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11558           root has a wacky default of its own (or, more common, a user has a
11559           bad umask and uses su/sudo to restart NetworkManager).  Anything
11560           other than 0022 does not do what we want with, for example,
11561           resolv.conf.  This problem is amplified by our judicious use of
11562           fopen(), which uses mode 0666 -- implying that the only way to get
11563           the permissions we want is with a umask of 0022.
11564
11565 2006-05-05  Dan Williams  <dcbw@redhat.com>
11566
11567         * gnome/libnm_glib/libnm_glib.c
11568                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11569                         to reconnect; instead wait a bit more with each reconnect attempt
11570                         up to a max of one minute.
11571
11572 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11573
11574         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11575           the WirelessNetwork structure using the proper function instead of
11576           just casting it directly to (const char *) (gnome.org #336991)
11577
11578 2006-05-03  Robert Love  <rml@novell.com>
11579
11580         * src/backends/NetworkManagerSuSE.c: Respect the variable
11581           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11582           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11583           to dynamically update /etc/resolv.conf.
11584
11585 2006-05-02  Peter Jones  <pjones@redhat.com>
11586
11587         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11588
11589 2006-05-02  Robert Love  <rml@novell.com>
11590
11591         Patch by Timo Hoenig;
11592         * tests/nm-online.c: Print pretty status indicator as timeout winds
11593           down.  Also fix possible race between DBUS startup and failure
11594           return.
11595
11596 2006-05-01  Robert Love  <rml@novell.com>
11597
11598         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11599           empty, too.
11600
11601 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11602
11603         * src/nm-device.c (discover_device_type): Actually use the hal
11604         device type instead of ioctl poking
11605
11606 2006-04-26  Robert Love  <rml@novell.com>
11607
11608         * tests/nm-online.c: New file.  Simple utility that returns exit status
11609           noting whether the connection is offline or online.  If offline on
11610           start, it waits 30 seconds (or a command-line given value) for an
11611           online signal.  If it times out, it again returns offline.  This is
11612           useful for scripts that want to wait for network connections.
11613
11614 2006-04-25  Robert Love  <rml@novell.com>
11615
11616         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11617           key mode (the authentication algorithm), e.g. open or shared, when we
11618           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11619           only shared was broken.  If the user specified a shared key, set it
11620           explicitly, otherwise let wpa_supplicant go with the default.
11621
11622 2006-04-24  Dan Williams  <dcbw@redhat.com>
11623
11624         * src/nm-device-802-11-wireless.c
11625                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11626
11627 2006-04-24  Dan Williams  <dcbw@redhat.com>
11628
11629         Commit the async scanning patch
11630
11631         * src/nm-device-802-11-wireless.c
11632                 - get rid of scan_mutex
11633                 - (wireless_event_helper): act on wireless scan events
11634                 - (real_start): schedule a pending scan
11635                 - (link_to_specific_ap): fake the link to the AP during a scan
11636                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11637                         strength during scans
11638                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11639                         nm_device_set_bitrate): unused with new scanning code, disable
11640                 - (nm_device_wireless_schedule_scan): removed
11641                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11642                 - (request_and_convert_scan_results): new function; retrieve scan
11643                         results from the driver and schedule the processing function
11644                 - (scan_results_timeout): timeout triggered when card doesn't send
11645                         a scan results wireless event during a certain interval
11646                 - (schedule_scan_results_timeout): new function; schedule the scan
11647                         results timeout
11648                 - (cancel_scan_results_timeout): new function; cancel the scan
11649                         results timeout
11650                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11651                         to do the scanning.  Otherwise, just request a scan but don't
11652                         grab results here; instead schedule a timeout for scan results and
11653                         let netlink notify us of scan completion events
11654                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11655                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11656                 - (supplicant_status_cb): ignore disconnect events while scanning
11657                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11658                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11659                         timeouts
11660                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11661
11662 2006-04-24  Dan Williams  <dcbw@redhat.com>
11663
11664         * gnome/applet/applet-dbus.c
11665                 - Disable the pending call debug stuff, seems under control now
11666
11667 2006-04-20  Robert Love  <rml@novell.com>
11668
11669         Fix bug where hidden ESSID's would not show up in the applet, even
11670         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11671         because nm_policy_device_list_update_from_allowed_list() would merge
11672         the data, putting a name to the hidden networks, but never notify NMI
11673         of the changes.  Simple fix is to invoke the function
11674         nm_dbus_signal_wireless_network_change() if we make a mapping.
11675         * src/NetworkManagerAPList.c: Call the function
11676           nm_dbus_signal_wireless_network_change() if we made a successful
11677           BSSID to ESSID mapping, notifying the applet of the "new" network.
11678         * src/NetworkManagerAPList.h: Update the prototypes for both
11679           nm_ap_list_copy_essids_by_address() and
11680           nm_ap_list_copy_one_essid_by_address().
11681
11682 2006-04-20  Robert Love  <rml@novell.com>
11683
11684         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11685           not set.  Just return zero.
11686
11687 2006-04-20  Robert Love  <rml@novell.com>
11688
11689         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11690           only one copy of nm-vpn-properties is running at a time via the 'ol
11691           X selection trick.  This prevents the user from opening two "VPN
11692           Connections" windows from within the applet, which leads to mass
11693           hysteria.
11694         * clipboard.c: New file, implementing simple X selection logic.
11695         * clipboard.h: New file.
11696         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11697
11698 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11699
11700         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11701         * configure.in
11702           initscript/Gentoo/Makefile.am
11703           initscript/Gentoo/NetworkManagerDispatcher.in
11704                 - New script
11705         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11706           Gentopia
11707
11708 2006-04-16  Dan Williams  <dcbw@redhat.com>
11709
11710         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11711         * configure.in
11712           initscript/Slackware/Makefile.am
11713           initscript/Slackware/rc.networkmanager-dispatcher.in
11714           initscript/Slackware/rc.networkmanager.in
11715                 - Update slackware initscripts
11716
11717 2006-04-10  Robert Love  <rml@novell.com>
11718
11719         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11720           the "delete_event" signal on the druid's parent window and handle it
11721           our way, lest using the WM to close the druid results in a series of
11722           bloody and ultimately lethal errors.
11723
11724 2006-04-10  Robert Love  <rml@novell.com>
11725
11726         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11727           'Back' too or else the 'Forward' option is initially disabled despite
11728           valid input.
11729
11730 2006-04-06  Robert Love  <rml@novell.com>
11731
11732         Fix bad but simple bug where an active modem connection did not update
11733         NM's connection state, breaking any app that did online/offline:
11734         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11735           represented whether a dial up connection is active, or not.
11736         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11737           to modem activation and deactivation.
11738         * src/NetworkManagerDbus.c: When asked our state, do not return
11739           disconnected if the modem is active.
11740
11741 2006-04-04  Robert Love  <rml@novell.com>
11742
11743         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11744           applet.  It just confuses the crap out of people and does not make a
11745           lot of sense, as the daemon still runs.
11746
11747 2006-04-02  Tor Krill  <tor@krill.nu>
11748
11749         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11750           in start of service.
11751         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11752           get Archlinux backend up to date.
11753
11754 2006-03-29  Robert Love  <rml@novell.com>
11755
11756         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11757         to add support for per-route MSS and improve support for per-interface
11758         MTU:
11759         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11760           optionally take an MSS parameter and set it for the given route.
11761           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11762           NMIP4Config's stored MSS, if any.
11763         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11764           the interface's MTU and the route's MSS, respectively.  Add functions
11765           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11766           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11767           MSS.
11768         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11769           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11770           nm_ip4_config_set_mss.
11771         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11772           VPN daemon.
11773         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11774           Change the retval of nm_system_get_mtu to guint32.
11775         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11776           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11777           servers can specify MTU's, we should set it here if the MTU was not
11778           provided.
11779
11780 2006-03-27  Jürg Billeter  <j@bitron.ch>
11781
11782         * configure.in:
11783         * initscript/Makefile.am:
11784         * initscript/paldo/Makefile.am:
11785         * initscript/paldo/NetworkManager.in:
11786         * initscript/paldo/NetworkManagerDispatcher.in:
11787         * src/backends/Makefile.am:
11788         * src/backends/NetworkManagerPaldo.c:
11789                 - Add paldo support
11790
11791 2006-03-27  Dan Williams  <dcbw@redhat.com>
11792
11793         Patch from Christian Persch <chpe@gnome.org>
11794         * gnome/applet/applet.glade
11795                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11796
11797 2006-03-27  Dan Williams  <dcbw@redhat.com>
11798
11799         Patch from Diffe <diffie@blazebox.homeip.net>
11800         * src/backends/NetworkManagerSlackware.c
11801                 - Don't restart howl, since it's been replaced by Avahi
11802                         in most distributions
11803
11804 2006-03-27  Dan Williams  <dcbw@redhat.com>
11805
11806         Patch from Tor Krill <bugzilla@krill.nu>
11807         * configure.in
11808           initscript/Makefile.am
11809           src/backends/Makefile.am
11810           src/backends/NetworkManagerArch.c
11811           initscript/Arch/Makefile.am
11812           initscript/Arch/networkmanager-dispatcher.in
11813           initscript/Arch/networkmanager.in
11814                 - Add Arch Linux support, fixes gnome.org #335147
11815
11816 2006-03-27  Dan Williams  <dcbw@redhat.com>
11817
11818         Patch from Diffe <diffie@blazebox.homeip.net>
11819      * initscript/Slackware/rc.networkmanager
11820         - update, fixed gnome.org #333368
11821
11822 2006-03-27  Robert Love  <rml@novell.com>
11823
11824         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11825           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11826
11827 2006-03-27  Robert Love  <rml@novell.com>
11828
11829         Patch by Jürg Billeter <j@bitron.ch>:
11830         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11831           systems.
11832         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11833           as we prefer glibc over kernel headers, if possible.
11834
11835 2006-03-27  Robert Love  <rml@novell.com>
11836
11837         Patch by Jon Escombe <list@dresco.co.uk>:
11838         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11839         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11840           fail, don't bail out.  We don't expect all of the various WPA-EAP
11841           values to be present.
11842         * src/nm-ap-security.c: We need to match all capabilities for each
11843           encryption type, not any one of them.
11844
11845 2006-03-27  Robert Love  <rml@novell.com>
11846
11847         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11848           restart, not reload, ypbind.  Unfortunately there is no superior
11849           solution.
11850
11851 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11852
11853         * gnome/applet/applet-notifications.c:
11854         When displaying a notification, make sure to get rid of the
11855         previous notification so as to not have competing bubbles,
11856         and stop leaking the old one.
11857
11858         * gnome/applet/applet.c:
11859         * gnome/applet/applet.h:
11860         Add a new 'notification' member to the applet, and zero it out
11861         and free it appropriately.
11862
11863 2006-03-23  Robert Love  <rml@novell.com>
11864
11865         Patch by j <j@bootlab.org>:
11866         * gnome/applet/applet.glade: Don't set the invisible_char property,
11867           which simply overrides the GTK default.  By and by, this behavior
11868           ought to be fixed in Glade.
11869
11870 2006-03-22  Robert Love  <rml@novell.com>
11871
11872         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11873
11874 2006-03-22  Robert Love  <rml@novell.com>
11875
11876         Bug fix by Timo Hoenig <thoenig@suse.de>:
11877         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11878           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11879           and the applet going AWOL.
11880
11881 2006-03-22  Robert Love  <rml@novell.com>
11882
11883         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11884           preprocessor define and use it instead of open-coded the DHCP
11885           timeout, which is currently 25 seconds, everywhere.
11886
11887 2006-03-22  Robert Love  <rml@novell.com>
11888
11889         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11890         key exchange via WPA, ostensibly providing good security without
11891         requiring hardware that supports full WPA.  Also, add UI elements to
11892         allow the user to select the pairwise & group cipher for WPA Enterprise
11893         networks, too:
11894         * gnome/applet/applet.glade: Update glade file.
11895         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11896           key type, too, to and from gconf.
11897         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11898           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11899           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11900           the capabilities match.
11901         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11902           prototype.
11903         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11904           serialize from UI to DBUS.
11905         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11906           one element.
11907         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11908           nmu_security_serialize_wpa_eap_with_cipher(), and
11909           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11910           serialize/deserialize the key type via DBUS as the new third DBUS
11911           parameter.
11912         * libnm-util/dbus-helpers.h: Update prototypes.
11913         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11914           too.  If the key type is WEP104, do Dynamic WEP, which means
11915           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11916           pairwise and group ciphers (fixes a FIXME).
11917
11918 2006-03-21  Robert Love  <rml@novell.com>
11919
11920         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11921           nm_system_get_mtu(), which returns a user-provided or system-mandated
11922           MTU value for a given device, if any, or zero if no such value
11923           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11924           if we have a provided value.
11925         * src/nm-device.c: Set the MTU of devices.
11926         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11927         * src/backends/NetworkManagerDebian.c,
11928           src/backends/NetworkManagerGentoo.c,
11929           src/backends/NetworkManagerRedHat.c,
11930           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11931
11932 2006-03-21  Robert Love  <rml@novell.com>
11933
11934         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11935           configuration file.
11936
11937 2006-03-17  Robert Love  <rml@novell.com>
11938
11939         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11940           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11941           it, in case it is not running in the first place.  We just want its
11942           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11943
11944 2006-03-15  Robert Love  <rml@novell.com>
11945
11946         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11947           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11948           label "WEP 40/128-bit" is inconsistent because the physical key size
11949           is 40 or 104-bits, to which a 24-bit initialisation vector is
11950           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11951           to read "40/104" or "64/128".  I do not care much which, but most
11952           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11953           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11954           WEP passphrase support only handles 128-bit keys, and any future
11955           64-bit passphrase support will require a new option (no way to auto-
11956           detect the target key size), explicitly label our passphrase support
11957           "WEP 128-bit Passphrase".
11958
11959 2006-03-15  Robert Love  <rml@novell.com>
11960
11961         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
11962           the system init scripts (or some other mechanism) starting it (or a
11963           compatible DBUS service) before NetworkManager runs.  This means that
11964           distributions might need to update their init scripts.  This fixes
11965           possible races and is quite a bit cleaner.
11966         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
11967           starting the NetworkManager daemon.
11968
11969
11970 2006-03-14  Robert Love  <rml@novell.com>
11971
11972         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
11973           before adding anything.
11974
11975 2006-03-13  Robert Love  <rml@novell.com>
11976
11977         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
11978           widgets, too, if they exist, in case the user hit the back button.
11979           Fixes a bug where the details page contains the widgets of multiple
11980           VPN modules (Novell bug #157048).
11981
11982 2006-03-13  Robert Love  <rml@novell.com>
11983
11984         Patch by Timo Hoenig <thoenig@suse.de>:
11985         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
11986           daemon survive DBUS restarts, too.
11987
11988 2006-03-10  Robert Love  <rml@novell.com>
11989
11990         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
11991           passphrase or key.
11992         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
11993           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
11994           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
11995           in response to "toggled" signal on new toggle.
11996
11997 2006-03-10  Robert Love  <rml@novell.com>
11998
11999         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
12000           serialization if strings are NULL, lest DBUS get angry.
12001
12002 2006-03-10  Robert Love  <rml@novell.com>
12003
12004         * src/nm-ap-security-wpa-eap.c: Don't log the password.
12005
12006 2006-03-09  Robert Love  <rml@novell.com>
12007
12008         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
12009           configurations.
12010
12011 2006-03-09  Dan Williams  <dcbw@redhat.com>
12012
12013         Track pending call requests in the applet, and report how many are
12014         outstanding, and how long each completed one takes.
12015         
12016         * gnome/applet/applet-dbus-devices.c
12017           gnome/applet/applet-dbus-vpn.c
12018                 - Track pending calls
12019
12020         * gnome/applet/applet-dbus.[ch]
12021                 - Remove some unused enums
12022                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
12023                         new functions to track dbus pending calls and spit out some
12024                         statistics about them
12025
12026 2006-03-09  Robert Love  <rml@novell.com>
12027
12028         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
12029           nm_ap_set_timestamp() take the second and micro-second parameters as
12030           direct arguments, which avoids both a dynamic memory allocation and a
12031           structure-to-structure copy!  Add a new interface, the aptly named
12032           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
12033           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
12034           the return from nm_ap_get_timestamp().  New users should use the new
12035           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
12036           the extreme benefit to performance.
12037         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
12038           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
12039
12040 2006-03-08  Robert Love  <rml@novell.com>
12041
12042         * gnome/applet/applet.glade: Hide the password entry text with
12043           asterisks.
12044
12045 2006-03-08  Robert Love  <rml@novell.com>
12046
12047         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
12048           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
12049           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
12050           a second argument, NMData.
12051         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
12052         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
12053           config files as trusted.
12054
12055 2006-03-06  Robert Love  <rml@novell.com>
12056
12057         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
12058         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
12059           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
12060           Rivera, detect if the applet was auto-started.  If so, ask the user
12061           if he or she would like to stop automatically running the applet on
12062           login.  If so, disable autostart.
12063
12064 2006-03-06  Robert Love  <rml@novell.com>
12065
12066         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
12067           directory in CFLAGS so developers can actually use NetworkManager.h.
12068
12069 2006-03-06  Robert Love  <rml@novell.com>
12070
12071         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
12072           open-coded integer constants.  Add state_to_string() to map a given
12073           state to a textual description, and provide that when notifying of
12074           state change.
12075         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
12076           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
12077           this header directly, but it is currently not installed on most
12078           systems.
12079
12080 2006-03-05  Dan Williams  <dcbw@redhat.com>
12081
12082         Process netlink messages in device subclasses rather than in
12083         NetworkManager.c.  Also add support for recognizing Wireless Events.
12084         
12085         * configure.in
12086                 - Find GLIB_GENMARSHAL
12087
12088         * src/Makefile.am
12089                 - Since we're marshalling custom types for wireless event signals,
12090                         we get to create our own marshallers using GLIB_GENMARSHAL
12091
12092         * src/NetworkManager.c
12093                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
12094                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
12095                         cut down somewhat.  We no longer process signals here.
12096                 - (nm_data_new): create the netlink monitor here, and remove a
12097                         useless call to nm_policy_schedule_device_change_check()
12098                 - (nm_data_free): get rid of the netlink monitor here
12099                 - (nm_device_link_activated, nm_device_link_deactivated): removed
12100                 - (main): don't create the netlink monitor here, let nm_data_new
12101                         do that.  Call nm_policy_schedule_device_change_check() right
12102                         before we jump to the mainloop to figure out which device
12103                         to use first
12104
12105         * src/NetworkManagerSystem.[ch]
12106                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
12107                         convert back and forth from interface names to interface
12108                         indexes
12109
12110         * src/nm-device-802-11-wireless.c
12111                 - (real_init): connect to wireless-event signals from the netlink
12112                         monitor object
12113                 - (nm_device_802_11_wireless_event): new function, schedule handler
12114                         for wireless event signals from the netlink monitor object.  We
12115                         want the handler to run in the device's context
12116                 - (wireless_event_helper): handle wireless-event signals from netlink
12117                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
12118                         signal handler
12119
12120         * src/nm-device-802-11-wireless.h
12121                 - remove unused prototype for nm_device_802_11_wireless_new
12122
12123         * src/nm-device-802-3-ethernet.c
12124                 - (real_init): new function; set up signal handlers for link events
12125                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
12126                         handler for netlink link activated events on device's main loop
12127                 - (link_activated_helper): when we get a link activated event, set
12128                         the device's link to be active
12129                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
12130                         handler for netlink link deactivated events on device's main loop
12131                 - (link_deactivated_helper): when we get a link deactivated event, set
12132                         the device's link to be inactive
12133                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
12134                         dispose
12135
12136         * src/nm-device-802-3-ethernet.h
12137                 - remove unused prototype for nm_device_802_3_ethernet_new
12138
12139         * src/nm-device.[ch]
12140                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
12141                         but locks the device list
12142                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
12143
12144         * src/nm-netlink-monitor.[ch]
12145                 - (nm_netlink_monitor_class_install_signals): New signal
12146                         "wireless-event"
12147                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12148                         at the device list
12149                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12150
12151         * src/nm-marshal-main.c
12152                 - Include generated nm-marshal.c and nm-marshal.h
12153
12154         * src/nm-marshal.list
12155                 - List of custom marshal functions
12156
12157 2006-03-05  Dan Williams  <dcbw@redhat.com>
12158
12159         * gnome/applet/applet-notifications.h
12160                 - Protect prototype of nma_send_event_notification() because it
12161                         includes libnotify-specific types
12162                 - Include libnotify/libnotify.h too, since we technically need it
12163
12164         * gnome/applet/applet.c
12165                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12166                 - (nma_show_vpn_login_banner_dialog): add some error checking
12167
12168 2006-03-04  Dan Williams  <dcbw@redhat.com>
12169
12170         Clean up activation cancellation.  Should be a lot faster now.  Observed
12171         an issue with wireless devices between stage 2 and 3 of activation, where
12172         activation would be cancelled, but the device thread wouldn't notice until
12173         the supplicant association timed out.  Reorganize activation such that
12174         a cancellation handler gets immediately scheduled in the device's thread,
12175         and devices have a chance to perform any custom cleanup too.
12176
12177         * src/nm-device.[ch]
12178                 - (activation_cancel_handler): new device-type-specific function
12179                         for cleaning up device-type-specific stuff on cancellation
12180                 - (cancel_activation): removed
12181                 - (nm_device_activation_cancel): subsume functionality of
12182                         real_cancel_activation, but instead of doing anything, punt
12183                         operation to a handler that's run in device-thread context
12184                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12185                         a warning message
12186                 - (activation_handle_cancel_helper): cancellation handler run in
12187                         device-thread context, calls device-type-specific cancelation,
12188                         then tears down the activation request
12189                 - (real_activation_cancel_handler): generic cancellation handler,
12190                         deals with cancelling any in-process DHCP request
12191                 - (nm_device_activate_stage1_device_prepare,
12192                    nm_device_activate_stage2_device_config,
12193                    nm_device_activate_stage3_ip_config_start,
12194                    nm_device_activate_stage4_ip_config_get,
12195                    nm_device_activate_stage4_ip_config_timeout,
12196                    nm_device_activate_stage5_ip_commit): don't call
12197                         nm_device_schedule_activation_handle_cancel() any more, since
12198                         cancellation will have been already scheduled for us by
12199                         nm_device_activation_cancel().  Just exit the function and
12200                         assume that the cancel handler will be called next.
12201
12202         * src/nm-device-802-3-ethernet.c
12203                 - (real_act_stage2_config): remove; didn't do anything anyway
12204
12205         * src/nm-device-802-11-wireless.c
12206                 - (supplicant_status_cb): ensure we don't do anything if the activation
12207                         got cancelled
12208                 - (real_activation_cancel_handler): implement; cancel user key request
12209                         on activation cancellation
12210
12211 2006-03-04  Dan Williams  <dcbw@redhat.com>
12212
12213         * src/nm-device-802-11-wireless.c
12214                 - (supplicant_send_network_config): assume that drivers that don't
12215                         support WPA pretty much suck, and can't handle NM scanning
12216                         along with wpa_supplicant.
12217
12218 2006-03-03  Robert Love  <rml@novell.com>
12219
12220         * configure.in: Bump version to 0.6.0.
12221         * NEWS: Update.
12222
12223 2006-03-03  Robert Love  <rml@novell.com>
12224
12225         * configure.in: Require DBUS 0.60 or later.
12226
12227 2006-03-03  Dan Williams  <dcbw@redhat.com>
12228
12229         Fix a crash if an "Other wireless network" was chosen, failed, then
12230         chosen again from the applet's menu.  If the other network wasn't
12231         noticed in a scan, it wouldn't have any capabilities, but would still
12232         be listed because the user forced the network.  To fix this, we set
12233         sensible capabilities on the forced network, which will get overwritten
12234         with the correct ones if the network shows up later in a scan.
12235         
12236         * src/nm-ap-security.h
12237                 - Add a new "get_default_capabilities_func" member to the
12238                         NMAPSecurity class
12239
12240         * src/nm-ap-security.c
12241                 - (nm_ap_security_get_default_capabilities): new function
12242
12243         * src/nm-ap-security.c
12244           src/nm-ap-security-wep.c
12245           src/nm-ap-security-wpa-psk.c
12246           src/nm-ap-security-wpa-eap.c
12247                 - Implement get_default_capabilities_func() for all, which
12248                         uses the information contained in a specific NMAPSecurity
12249                         object to determine default AP capabilites necessary
12250                         to support that object
12251
12252         As a secondary measure, we now prune artificial access points that fail
12253         to be activated right away.  The thing failed, and we have no scan data for
12254         it, so it's pretty much useless since security information is only saved
12255         in the applets when a connection is successful.
12256
12257         * src/NetworkManagerAPList.c
12258                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12259                         not artificial.  If we see it, it's no longer a figment of the
12260                         user's imagination :)
12261
12262         * src/NetworkManagerPolicy.c
12263                 - (nm_policy_activation_failed): send along the failed AP if we
12264                         have it
12265
12266         * src/nm-device-802-11-wireless.c
12267                 - (real_activation_failure_handler): remove artificial APs from
12268                         the device list, because activation failed
12269
12270 2006-03-02  Robert Love  <rml@novell.com>
12271
12272         Add support for retrieving both the per-device speed and the
12273         per-network maximum supported rate.  Then change the getProperties
12274         DBUS API for both networks and devices to report this informaiton.
12275         Finally, display the information via both nm-applet and nm-tool:
12276         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12277           and set it.
12278         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12279           Information' dialog.
12280         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12281         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12282           network_device_get_speed() and network_device_set_speed() for
12283           retrieving and setting, respectively, a network device's current
12284           speed.
12285         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12286         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12287           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12288           not matter (yet) what the units are, because we only feed it its own
12289           output.  Implement SIOCGIRATE and set the per-network maximum
12290           supported rate during scanning.
12291         * src/nm-device-802-11-wireless.h: Export the function
12292           nm_device_802_11_wireless_get_bitrate().
12293         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12294           function nm_device_802_3_ethernet_get_speed() for returning an
12295           802.3's current speed, in Mb/s.
12296         * test/nm-tool.c: Display the per-device current speed, if available,
12297           and the per-network maximum rate.
12298
12299 2006-03-02  Dan Williams  <dcbw@redhat.com>
12300
12301         * src/nm-device-802-11-wireless.c
12302                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12303                         card when it gets initialized.  Since devices don't get added to
12304                         the scan list until they are initialized, this function wasn't
12305                         setting the intitial scan interval correctly, and was leaving
12306                         it at 0.  This caused cards to get many scan requests in a short
12307                         amount of time when they were initialized
12308
12309 2006-03-02  Robert Love  <rml@novell.com>
12310
12311         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12312           active device.  But do not do what we used to do and override the
12313           state, which caused the dreaded icon race of '05.
12314
12315 2006-03-02  Robert Love  <rml@novell.com>
12316
12317         Commit Dan's update of my previous commit:
12318         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12319           set_mode() function itself does the check.  But do only set the
12320           frequency if in Ad-Hoc mode.
12321
12322 2006-03-02  Robert Love  <rml@novell.com>
12323
12324         Patch by Brian Magnuson <magnuson@rcn.com>:
12325         * src/nm-device-802-11-wireless.c: During scanning, only set the
12326           wireless mode to infrastructure if it is not currently in
12327           infrastructure mode.  For some driver, setting the mode is a costly
12328           operation, apparently.
12329
12330 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12331
12332         * Makefile.am: use the correct dir for autostart mechanism.
12333
12334 2006-02-28  Dan Williams  <dcbw@redhat.com>
12335
12336         Patch from Brian Magnuson <magnuson@rcn.com>
12337         * gnome/applet/applet.c
12338                 - (nma_show_vpn_failure_dialog): fix errors left over from
12339                         libnotify support changes
12340
12341 2006-02-28  Dan Williams  <dcbw@redhat.com>
12342
12343         * src/vpn-manager/nm-vpn-act-request.[ch]
12344                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12345                         just one value
12346                 - (nm_vpn_act_request_is_failed): new function; return whether or
12347                         not the vpn activation request has failed
12348
12349         * src/vpn-manager/nm-vpn-manager.c 
12350                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12351                         daemon to kill the connection when the activation request fails.
12352                         Fixes issue where NM would get confused if the VPN activation
12353                         request timed out, and would not allow further VPN connections
12354                         on that service.
12355
12356 2006-02-28  Dan Williams  <dcbw@redhat.com>
12357
12358         * gnome/applet/applet.c
12359                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12360                         overlapping connection requests, disable all VPN menu items
12361                         but the active VPN connection
12362
12363 2006-02-28  Dan Williams  <dcbw@redhat.com>
12364
12365         * src/vpn-manager/nm-vpn-connection.c
12366                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12367                         called g_object_unref() on the connection's parent device
12368                         when it should have been ref-ed instead.  Fixes crash with
12369                         repeated vpn connect requests
12370
12371 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12372
12373         * gnome/applet/applet.glade:
12374         Mark a few strings non-translatable, since they shouldn't be.
12375
12376 2006-02-28  Dan Williams  <dcbw@redhat.com>
12377
12378         * src/vpn-manager/nm-vpn-service.c
12379                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12380                         already running, don't blindly ask it to connect, but wait until
12381                         it's in the STOPPED state first.  Fixes an assertion when user
12382                         starts a second vpn connection without stopping the first.
12383                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12384                         dbus service exists before continuing with the connection
12385                         process, and reduce latency while waiting for it to become
12386                         available
12387                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12388                         waiting for the vpn service daemon to become available
12389                 - General log message cleanups; show progress via "Stage x of 4"
12390                         rather than not telling anyone how many stages there are
12391
12392 2006-02-28  Robert Love  <rml@novell.com>
12393
12394         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12395         * src/backends/NetworkManagerSuSE.c: Implement the interface
12396           nm_system_should_modify_resolv_conf() for SUSE.
12397         * src/backends/NetworkManagerDebian.c,
12398           src/backends/NetworkManagerGentoo.c,
12399           src/backends/NetworkManagerRedHat.c,
12400           src/backends/NetworkManagerSlackware.c: Add stub.
12401         * src/named-manager/Makefile.am: Grab includes from src.
12402         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12403           automatic updating of resolv.conf.  This is useful for testing,
12404           broken static configurations, and administrator lock-down.
12405
12406 2006-02-28  Dan Williams  <dcbw@redhat.com>
12407
12408         * src/nm-device-802-11-wireless.c
12409                 - Move all the wpa_supplicant-related management stuff into its
12410                         own struct, just for oranization's sake
12411                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12412                         to a GIOChannel/GSource
12413                 - (supplicant_log_stdout): new function; grab output from the
12414                         wpa_supplicant stdout pipe and write it to our logs.
12415
12416 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12417
12418         * src/nm-device-802-11-wireless.c:
12419         Err, fix thinko in my previous commit.
12420
12421 2006-02-28  Robert Love  <rml@novell.com>
12422
12423         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12424
12425 2006-02-28  Robert Love  <rml@novell.com>
12426
12427         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12428           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12429           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12430           deserializers are responsible for freeing the returned DBUS strings.
12431
12432 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12433
12434         * src/nm-device-802-11-wireless.c:
12435         The scan list is being pruned prematurely.  We should prune after
12436         the device has gone MIA for three scans, not one.  Split out the
12437         interval to realtime seconds function to better serve this.
12438
12439 2006-02-27  Robert Love  <rml@novell.com>
12440
12441         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12442           Open the pid file O_TRUNC, so if it already exists we truncate it to
12443           zero length.  Also, be more verbose about warnings generated during
12444           writing out the pid file.  Finally, always write out the pid file if
12445           in daemon mode.  Use "--pid-file" to override the default.
12446
12447 2006-02-27  Robert Love  <rml@novell.com>
12448
12449         Patch by R. Vinay <rvinay@novell.com>:
12450         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12451           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12452           Novell bug #153628).
12453           
12454 2006-02-27  Robert Love  <rml@novell.com>
12455
12456         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12457           entry so user can hit <ENTER> after entering passphrase (Novell bug
12458           #153738).
12459
12460 2006-02-27  Dan Williams  <dcbw@redhat.com>
12461
12462         * gnome/applet/*
12463                 - Mass search/replace of:
12464                         nmwa -> nma
12465                         NMWirelessApplet -> NMApplet
12466                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12467                    (it ain't just for wireless anymore, ma!)
12468                 - Fix duplicate function name printing when using nm_warning
12469                 - wireless-applet.glade -> applet.glade
12470
12471 2006-02-27  Dan Williams  <dcbw@redhat.com>
12472
12473         * dispatcher-daemon/NetworkManagerDispatcher.c
12474                 - Accept --pid-file with a path to a pidfile, write it out on
12475                         startup, and delete it on shutdown
12476
12477         * src/NetworkManager.c
12478                 - Accept --pid-file with a path to a pidfile, write it out on
12479                         startup, and delete it on shutdown
12480                 - Move nm_print_usage() lower
12481
12482         * initscripts/RedHat/NetworkManager.in
12483                 - Use new --pid-file option
12484                 - Fix service stopping to wait a bit for NM to quit
12485
12486         * initscripts/RedHat/NetworkManagerDispatcher.in
12487                 - Use new --pid-file option
12488
12489 2006-02-26  Dan Williams  <dcbw@redhat.com>
12490
12491         * src/Makefile.am
12492                 - make and install nm-crash-logger
12493
12494         * src/nm-logging.[ch]
12495                 - New files; consolidate logging and crash handling
12496
12497         * src/nm-crash-logger.c
12498           src/gdb-cmd
12499                 - Standalong crashlogger for NM, grab a backtrace
12500                         using GDB
12501
12502         * src/NetworkManager.[ch]
12503                 - Remove signal handling and put it into nm-logging.c
12504
12505 2006-02-26  Dan Williams  <dcbw@redhat.com>
12506
12507         * configure.in
12508           gnome/applet/Makefile.am
12509                 - Conditionalize all the notify stuff
12510
12511         Merge most of Chris Aillon's notification patch:
12512         
12513         * gnome/applet/applet-notifications.[ch]
12514                 - New files; show a notification
12515         
12516         * gnome/applet/applet-dbus-devices.[ch]
12517                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12518                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12519                         new functions, do the right thing when a device change occurs
12520
12521         * gnome/applet/applet-dbus.c
12522                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12523                         signals, so we can handle them specially
12524
12525         * gnome/applet/applet.[ch]
12526                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12527                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12528                 - (nmwa_notify_state): remove
12529                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12530                         notification work is now done when the appropriate dbus signals
12531                         are received.
12532                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12533                         defer execution of the notification/dialog stuff.  That was an
12534                         artifact of the previous multi-threaded nature of the applet
12535                         and is now pointless.
12536                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12537                         no longer needed.  Function folded into applet-notifications.c
12538
12539         * src/NetworkManagerPolicy.c
12540                 - (nm_policy_activation_finish): send the AP along with the device
12541                         status change signal, if the connection is wireless.  Should
12542                         fix the race where applet would show a connection to "unknown"
12543
12544 2006-02-25  Robert Love  <rml@novell.com>
12545
12546         Add WPA Enterprise support:
12547         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12548           nm-gconf-wso-wpa-eap.h.
12549         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12550           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12551           serialization and deserialization.
12552         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12553           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12554           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12555         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12556           settings related to WPA Enterprise.
12557         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12558           instantiate WPA Enterprise wireless-security-option.
12559         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12560           Implement WPA Enterprise wireless-security-option object.
12561         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12562           defines.  Cleanup.
12563         * libnm-util/cipher-wpa-psk-hex.c,
12564           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12565         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12566           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12567           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12568           including the cipher to DBUS method, and
12569           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12570           to output.
12571         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12572           nm-ap-security-wpa-eap.h
12573         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12574           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12575         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12576           files.  Implement NMAPSecurityWPA_EAP object.
12577         * src/nm-ap-security-wpa-psk.c: Cleanup.
12578         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12579           an NMAPSecurityWPA_EAP object via the method
12580           nm_ap_security_wpa_eap_new_deserialize().
12581         * src/nm-dbus-nm.c: Cleanup.
12582         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12583           WPA Enterprise support.
12584
12585 2006-02-24  Robert Love  <rml@novell.com>
12586
12587         Patch from Timo Hoenig <thoenig@suse.de>:
12588         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12589
12590 2006-02-24  Robert Love  <rml@novell.com>
12591
12592         Patch from Dan Winship <danw@novell.com>:
12593         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12594           area to transparent.
12595
12596 2006-02-21  Dan Williams  <dcbw@redhat.com>
12597
12598         * gnome/applet/applet.[ch]
12599           gnome/applet/applet-dbus.c
12600                 - Implement notification support for VPN messages too
12601
12602 2006-02-21  Dan Williams  <dcbw@redhat.com>
12603
12604         * gnome/applet/applet-dbus-info.c
12605                 - Clean up warning messages to not double-print the function
12606
12607 2006-02-21  Dan Williams  <dcbw@redhat.com>
12608
12609         * gnome/applet/applet-compat.c
12610                 - (convert_one_entry): accept entries without a key_type and
12611                         convert them to unencrypted networks
12612
12613 2006-02-21  Dan Williams  <dcbw@redhat.com>
12614
12615         * gnome/libnm_glib/libnm_glib.c
12616                 - Use __func__ everywhere we can
12617                 - Code cleanups
12618                 - Use dbus pending calls rather than blocking
12619                 - Reduce busywaits for our thread to start and stop
12620                         (gnome.org #330562)
12621                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12622                         stomp on others using the default shared dbus connection.
12623                         Fixes #rh177546# and gnome.org #326572
12624
12625 2006-02-21  Dan Williams  <dcbw@redhat.com>
12626
12627         Patch from Rodney Dawes <dobey@novell.com>
12628         * configure.in
12629           gnome/applet/Makefile.am
12630           gnome/applet/applet.c
12631                 - Add libnotify support if '--enable-notify=yes' is passed
12632                   at configure time
12633
12634 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12635
12636         * configure.in (ALL_LINGUAS): ko added. (Korean)
12637
12638 2006-02-15  Robert Love  <rml@novell.com>
12639
12640         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12641           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12642           and WPA_SUPPLICANT_CONTROL_SOCKET.
12643         
12644 2006-02-15  Robert Love  <rml@novell.com>
12645
12646         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12647           information about what connection stage we are at, provide the total
12648           number of stages, e.g. "Stage 2 of 5", so users know how far along
12649           they are if they experience problems.
12650
12651 2006-02-15  Robert Love  <rml@novell.com>
12652
12653         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12654           define to $sysconfdir.
12655         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12656           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12657           type of VPN and then editing another results in a mangled dialog
12658           box containing the widgets from both VPNs (fixes Novell #150854).
12659           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12660
12661 2006-02-14  Robert Love  <rml@novell.com>
12662
12663         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12664           syslog's file descriptor.
12665
12666 2006-02-14  Robert Love  <rml@novell.com>
12667
12668         Fix bug around since the change to "deal with APs changing settings on
12669         us," checked in on the fifth of February in the year of the dog, 
12670         wherein connecting to non-broadcast encrypted networks always fails
12671         because nm_ap_get_encrypted() always returns FALSE, even when the user
12672         provided a key, because the newly-created fake AP does not have any
12673         capabilities set, which is a sypmtom of security settings not matching
12674         capabilities (Novell bug #150784):
12675         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12676           nm_ap_add_capabilities_from_security(), which sets the given AP's
12677           capabilities off the given security settings.  Also improve our
12678           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12679           NM_AUTH_CIPHER_AUTO.
12680         * src/nm-device-802-11-wireless.c: Call the function
12681           nm_ap_add_capabilities_from_security() to ensure that capabilities
12682           match newly updated security settings.
12683
12684 2006-02-14  Robert Love  <rml@novell.com>
12685
12686         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12687           error as a string, not an integer, if possible; do not print the
12688           function name twice; always give the interface, if possible; misc.
12689           cleanup.
12690
12691 2006-02-12  Dan Williams  <dcbw@redhat.com>
12692
12693         Patch from Tom Parker <palfrey@tevp.net>
12694         * src/NetworkManagerSystem.h
12695                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12696                         no longer used
12697
12698         * src/backends/NetworkManagerDebian.c
12699                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12700                         unused variables
12701
12702 2006-02-12  Dan Williams  <dcbw@redhat.com>
12703
12704         * vpn-daemons/openvpn/intltool-extract.in
12705           vpn-daemons/openvpn/intltool-merge.in
12706           vpn-daemons/openvpn/intltool-update.in
12707           vpn-daemons/pptp/intltool-extract.in
12708           vpn-daemons/pptp/intltool-merge.in
12709           vpn-daemons/pptp/intltool-update.in
12710                 - Remove from CVS, they should get created by intltoolize,
12711                         shouldn't they?
12712
12713 2006-02-12  Dan Williams  <dcbw@redhat.com>
12714
12715         * vpn-daemons/pptp/src/pppd/patchlevel.h
12716         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12717                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12718                         Makefile-defined VERSION
12719
12720 2006-02-09  Dan Williams  <dcbw@redhat.com>
12721
12722         Patch from: Vinay A R <rvinay@novell.com>
12723         * src/vpn-manager/nm-vpn-act-request.[ch]
12724                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12725                         IPSec VPNs require them for std gateway.
12726                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12727                         and 'user_routes_count'
12728                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12729                         defined routes  from NMVPNActRequest object, returns the string
12730                         array of routes.
12731
12732         * src/vpn-manager/nm-vpn-manager.[ch]
12733                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12734                         for 'user_routes' and 'user_routes_count'
12735         
12736         * src/vpn-manager/nm-dbus-vpn.c
12737                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12738                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12739         
12740         * src/vpn-manager/nm-vpn-service.c
12741                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12742                         the vpn daemon
12743
12744         Modifications by Dan:
12745         * src/vpn-manager/nm-vpn-service.c
12746                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12747                         arrays into dbus
12748
12749         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12750         * vpn-daemons/pptp/src/nm-pptp-service.c
12751         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12752                 - Grab user routes from dbus message
12753                 - Free all string arrays we got from dbus
12754
12755 2006-02-07  Robert Love  <rml@novell.com>
12756
12757         Patch by Stefan Seyfried <seife@suse.de>:
12758         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12759
12760 2006-02-06  Robert Love  <rml@novell.com>
12761
12762         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12763
12764 2006-02-06  Robert Love  <rml@novell.com>
12765
12766         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12767           test ">=" is never false.  If no newline is found, we loop forever.
12768           We can just check for ">" because the following if() will see the
12769           zero-th argument if the while() gets that far.
12770
12771 2006-02-05  Dan Williams  <dcbw@redhat.com>
12772
12773         Refine handling of non-broadcast networks.
12774
12775         * src/NetworkManagerAPList.c
12776                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12777                         property from scanned AP to the AP from the device list
12778
12779         * src/nm-device-802-11-wireless.c
12780                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12781                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12782                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12783                         networks since those don't have APs.
12784                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12785                         AP as non-SSID-broadcasting
12786                 - (process_scan_results): don't handle non-SSID-broadcasting here
12787
12788 2006-02-05  Dan Williams  <dcbw@redhat.com>
12789
12790         * src/nm-device-802-11-wireless.c
12791                 - (get_supplicant_timeout): new function; return
12792                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12793                         14 channels.  These are likely a/b/g cards, like Atheros, and
12794                         slow as hell to scan.
12795                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12796                         get_supplicant_timeout()
12797
12798 2006-02-05  Dan Williams  <dcbw@redhat.com>
12799
12800         * src/dhcp-manager/nm-dhcp-manager.c
12801                 - Loose a commit race with Robert; make sure size check
12802                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12803
12804 2006-02-05  Robert Love  <rml@novell.com>
12805
12806         Patch by Christoph Brill <chrisbrill@gmx.net>:
12807         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12808           with DHCP_SERVICE_NAME.
12809
12810 2006-02-05  Dan Williams  <dcbw@redhat.com>
12811
12812         Remove anything having to do with device_setup_func from the
12813         AP security objects, since it's no longer used.
12814
12815         * src/nm-ap-security.h
12816                 - Kill device_setup_func and nm_ap_security_device_setup()
12817
12818         * src/nm-ap-security-wep.c
12819           src/nm-ap-security-wpa-psk.c
12820                 - (real_device_setup): remove
12821
12822         * src/nm-ap-security.c
12823                 - (real_device_setup): remove
12824                 - (nm_ap_security_device_setup): remove
12825
12826         * src/nm-device-802-11-wireless.[ch]
12827                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12828                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12829                         and done by wpa_supplicant now anyway
12830
12831 2006-02-05  Dan Williams  <dcbw@redhat.com>
12832
12833         * src/nm-device-802-11-wireless.c
12834                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12835                         settings on us.  Previously NM would loop asking for the
12836                         key but getting the same one back.  Now, if the NMI-supplied
12837                         cipher doesn't overlap with the scanned AP capabilities,
12838                         we request a completely new key from the user.
12839
12840 2006-02-05  Dan Williams  <dcbw@redhat.com>
12841
12842         * src/NetworkManagerUtils.c
12843                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12844                         Handle newline killing better
12845
12846 2006-02-05  Dan Williams  <dcbw@redhat.com>
12847
12848         * gnome/applet/nm-gconf-wso.c
12849                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12850                         of unencrypted access point security info.
12851
12852 2006-02-03  Robert Love  <rml@novell.com>
12853
12854         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12855           user's encryption key, so we print the err_msg_cmd not the command,
12856           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12857           sense.
12858
12859 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12860
12861         * initscript/RedHat/NetworkManagerDispatcher.in:
12862         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12863         Patch from Dan Walsh <dwalsh@redhat.com>
12864
12865 2006-02-03  Robert Love  <rml@novell.com>
12866
12867         * dispatcher-daemon/NetworkManagerDispatcher.c,
12868           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12869           but use the sysconfdir.
12870
12871 2006-02-03  Robert Love  <rml@novell.com>
12872
12873         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12874           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12875           'char *'.
12876         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12877           nm_ip4_config_get_hostname() and
12878           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12879         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12880           leak g_strdup() result.
12881
12882 2006-02-03  Robert Love  <rml@novell.com>
12883
12884         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12885           broadcast == TRUE.  Also, copy broadcast and artificial properties
12886           from source network to destination in nm_ap_copy().
12887         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12888           since we now default new networks to non-hidden.
12889
12890 2006-02-03  Dan Williams  <dcbw@redhat.com>
12891
12892         * gnome/applet/main.c
12893                 - (main): change the NEVER->ALWAYS so we start at the
12894                         beginning of the session, if being session-managed
12895
12896 2006-02-03  Dan Williams  <dcbw@redhat.com>
12897
12898         * gnome/applet/main.c
12899                 - (main): in a variation on Robert's patch, change
12900                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12901                         he wants.
12902
12903 2006-02-02  Robert Love  <rml@novell.com>
12904
12905         * src/Makefile.am: If we aren't going to create the run directory at,
12906           uh, run-time, create it during install.  Then users just doing
12907           'make install' are cool, too.  While we are here, create the
12908           dispatcher.d directory, too.
12909         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12910           the exact run directory.
12911         * Makefile.am: Install nm-applet.desktop.
12912
12913 2006-02-02  Robert Love  <rml@novell.com>
12914
12915         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12916           structure, which denotes whether or not the AP is hidden.  This is a
12917           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12918           can show up in the scan list.  Add nm_ap_get_broadcast() and
12919           nm_ap_set_broadcast() accessor interfaces.
12920         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12921           nm_ap_set_broadcast().
12922         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12923           "getProperties" method, which denotes whether or not the given
12924           network is hidden.
12925         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12926           an artificial network.  Set broadcast to TRUE when scanning returns
12927           an ESSID and FALSE when not.
12928         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12929           from "getProperties" method on a network.  Possible TODO is to
12930           somehow display this.
12931         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12932
12933 2006-02-02  Dan Williams  <dcbw@redhat.com>
12934
12935         * src/nm-device-802-11-wireless.c
12936                 - (supplicant_interface_init): don't try to create
12937                         /var/run/NetworkManager, since that should be done by
12938                         the distro package.  Causes problems for stuff like SELinux
12939
12940 2006-02-02  Robert Love  <rml@novell.com>
12941
12942         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12943         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12944           Check for and handle empty string for iface.
12945
12946 2006-02-01  Robert Love  <rml@novell.com>
12947
12948         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12949           manpage.
12950
12951 2006-01-31  Dan Williams  <dcbw@redhat.com>
12952
12953         * nm-applet.desktop
12954                 - Add --sm-disable to Exec arguments, presuming that when
12955                         using autostart, we don't want session management
12956
12957 2006-01-31  Robert Love  <rml@novell.com>
12958
12959         * src/NetworkManagerAP.c: Add two new manufacturer default network
12960           names: linksys-a and linksys-g.  These are found (at least) on the
12961           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
12962           own ESSID.
12963
12964 2006-01-31  Robert Love  <rml@novell.com>
12965
12966         * src/NetworkManagerAP.c: Optimize the function
12967           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
12968           machine code.  This is the first in a series of code tweaks aiming to
12969           generate better machine code and make NetworkManager all the better.
12970           Just kidding.  Who has time to go through the assembly generated for
12971           every function?  I certainly don't.  I have a wife, a kid, a job,
12972           a mortgage, a mistress.  But this function was so bad, I was called
12973           to arms.  Like the book.
12974
12975 2006-01-31  Robert Love  <rml@novell.com>
12976
12977         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
12978           AP is not broadcasting, to scan with probe request frames.  Required
12979           for non-broadcast networks.
12980
12981 2006-01-31  Robert Love  <rml@novell.com>
12982
12983         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
12984           preprocessor define (still 20s).  Fix message text in nm_info()
12985           s/too too/took too/.
12986
12987 2006-01-30  Dan Williams  <dcbw@redhat.com>
12988
12989         * src/nm-device-802-11-wireless.c
12990                 - (supplicant_monitor_start): increase connect/auth timeout to
12991                         20 seconds from 10 seconds
12992
12993 2006-01-30  Dan Williams  <dcbw@redhat.com>
12994
12995         * src/Makefile.am
12996                 - Define LOCALSTATEDIR
12997
12998         * src/nm-device-802-11-wireless.c
12999                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
13000                         socket where we want it to
13001
13002         * src/wpa_ctrl.[ch]
13003                 - (wpa_ctrl_open): accept location to put local control socket
13004
13005 2006-01-30  Robert Love  <rml@novell.com>
13006
13007         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
13008           get_ip4_string() for "domain_name".
13009
13010 2006-01-30  Robert Love  <rml@novell.com>
13011
13012         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
13013           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
13014           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
13015           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
13016           support for "Automatic" pairwise and group cipher configuration by
13017           letting wpa_supplicant handle the details.  Add UI elements, new
13018           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
13019           charm.  Note this does more than add a nice feature, it fixes a bug.
13020           Apparently, some people have AP's where the pairwise cipher does not
13021           match the group cipher.  Insane, but true.
13022
13023 2006-01-30  Dan Williams  <dcbw@redhat.com>
13024
13025         * gnome/applet/applet-dbus-devices.c
13026                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
13027                         functions, grab device driver name from NetworkManager
13028                 - (nmwa_dbus_device_properties_cb): call functions to get driver
13029
13030         * gnome/applet/applet.c
13031                 - (nmwa_update_info): show driver name in Connection Information
13032                         dialog
13033
13034         * gnome/applet/nm-device.[ch]
13035                 - (network_device_get_driver, network_device_set_driver): add
13036                         accessors for driver name
13037
13038         * gnome/applet/wireless-applet.glade
13039                 - Add line for driver name to Connection Information dialog
13040
13041         * src/nm-dbus-device.c
13042                 - (nm_dbus_device_get_driver): new function to return driver name
13043                 - (nm_dbus_device_methods): hook up driver name function to dbus
13044
13045         * test/nm-tool.c
13046                 - (get_driver_name): new function
13047                 - (detail_device): grab and show driver name
13048
13049 2006-01-30  Robert Love  <rml@novell.com>
13050
13051         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
13052           does not parse the markup if it is not part of the format.
13053
13054 2006-01-30  Robert Love  <rml@novell.com>
13055
13056         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
13057           FALSE, we have no security options for this dialog, so we throw up
13058           an error dialog instead of a broken passphrase dialog.  Fixes
13059           Novell #138404.
13060         * gnome/applet/wireless-security-manager.c,
13061           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
13062           does not add any security options, not even NONE, print a warning
13063           and return FALSE.  This let's functions constructing a dialog bail
13064           out if the device's capabilities and the network's requirements have
13065           zero overlap.
13066
13067 2006-01-27  Robert Love  <rml@novell.com>
13068
13069         * configure.in: Require wpa_supplicant.  Detect location of binary and
13070           use it.  Override with "--with-wpa_supplicant=foo".
13071         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
13072           path to wpa_supplicant but use the auto-detected or user-provided
13073           value from configure.
13074
13075 2006-01-27  Robert Love  <rml@novell.com>
13076
13077         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
13078           but the DHCP server did not return a hostname, try to look up our
13079           name via DNS and set the system hostname to that.
13080
13081 2006-01-27  Dan Williams  <dcbw@redhat.com>
13082
13083         * src/backends/NetworkManagerRedHat.c
13084                 - Add NM_CONTROLLED system network script support for RH/Fedora
13085
13086 2006-01-27  Dan Williams  <dcbw@redhat.com>
13087
13088         * src/backends/NetworkManagerGentoo.c
13089                 - (nm_system_device_get_disabled): add missing function.
13090                         Gnome BZ #328780
13091
13092 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
13093
13094         * configure.in: Added vi in ALL_LINGUAS line.
13095         
13096 2006-01-26  Robert Love  <rml@novell.com>
13097
13098         * src/Makefile.am, src/kernel-types.h: Now that two different source
13099           files are feeling the crack-addled leakage of kernel types such as
13100           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
13101           types in user-space -- define a header and include it as needed.
13102         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
13103         * src/nm-device-802-3-ethernet.h: Remove defines.
13104         * src/wpa.c: Remove defines and include kernel-types.h.
13105
13106 2006-01-26  Robert Love  <rml@novell.com>
13107
13108         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
13109           work.
13110
13111 2006-01-26  Robert Love  <rml@novell.com>
13112
13113         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
13114         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
13115           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
13116           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
13117           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13118           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
13119           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
13120           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
13121           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
13122           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
13123           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
13124           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
13125           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
13126           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
13127           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
13128           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
13129           Kill unused variables, labels, and static functions.  Don't pass
13130           string literals as the format string for printf-like functions.
13131
13132 2006-01-25  Dan Williams  <dcbw@redhat.com>
13133
13134         * gnome/applet/wireless-applet.glade
13135                 - Remove WPA2 Checkbox
13136
13137         * gnome/applet/wireless-security-manager.c
13138                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
13139                         This means the Wireless Security menu now has two WPA options,
13140                         one for "WPA Personal" and one for "WPA2 Personal"
13141
13142         * gnome/applet/wso-wpa-psk.[ch]
13143                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
13144                         'wpa2' argument to determine WPA version to use
13145                 - (append_dbus_params_func): pass stored WPA version to cipher
13146                         rather than using the (removed) checkbox
13147
13148 2006-01-24  Robert Love  <rml@novell.com>
13149
13150         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13151           before we g_strdup(), not the ultimate string.
13152
13153 2006-01-23  Dan Williams  <dcbw@redhat.com>
13154
13155         * src/NetworkManagerAP.[ch]
13156                 - (nm_ap_new_from_ap): copy original essid too
13157                 - (nm_ap_unref): free original essid
13158                 - (nm_ap_get_orig_essid): new function
13159                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13160                         but keep original essid around too
13161
13162         * src/nm-device-802-11-wireless.c
13163                 - (supplicant_send_network_config): send wpa_supplicant the
13164                         _original_ essid, and not as a string, but in hex.  Should
13165                         allow us to connect to more APs that use wierd character
13166                         encodings for their essids
13167
13168         * utils/nm-utils.[ch]
13169                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13170                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13171                         use the current locale as a hint for what encoding the essid
13172                         might be in.  Obviously not 100% accurate, but the idea here is
13173                         that if a user's locale is ex. ja_JP, they are more likely than
13174                         not to be in Japan, where access points will likely be in some
13175                         Japanese encoding.
13176
13177 2006-01-23  Dan Williams  <dcbw@redhat.com>
13178
13179         * libnm-util/cipher-private.h
13180           libnm-util/cipher.c
13181           libnm-util/cipher.h
13182                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13183
13184 2006-01-23  Robert Love  <rml@novell.com>
13185
13186         Patch by Timo Hoenig <thoenig@suse.de>:
13187         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13188           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13189           by DHCP and pass it to the backends, allowing distribution-specific
13190           behavior with respect to the DHCP-supplied hostname (if nothing else,
13191           some distributions might not want to set the hostname).
13192         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13193           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13194           Also update our NIS behavior.
13195         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13196           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13197           Add stub functions.
13198
13199 2006-01-23  Robert Love  <rml@novell.com>
13200
13201         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13202           gnome-session does autostart.  TODO: We need to install this to
13203           $prefix/share/autostart/.
13204
13205 2006-01-22  Dan Williams  <dcbw@redhat.com>
13206
13207         * src/NetworkManagerAP.[ch]
13208           src/nm-dbus-nmi.c
13209           src/nm-device-802-11-wireless.c         
13210                 - Make nm_ap_get_essid return "const char *"
13211
13212 2006-01-22  Dan Williams  <dcbw@redhat.com>
13213
13214         * src/NetworkManagerAP.[ch]
13215                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13216
13217         * src/NetworkManagerAPList.[ch]
13218                 - (nm_ap_list_diff): removed
13219                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13220                         deal with access points changing essids on us
13221
13222         * src/nm-device-802-11-wireless.c
13223                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13224                         src/NetworkManagerAPList.c
13225                 - (real_can_interrupt_activation): new function; allow interruption
13226                         of device activation if we are waiting for a network key
13227
13228         * src/NetworkManagerPolicy.c
13229                 - (nm_policy_device_change_check): allow interruption of currently
13230                         activating devices if the device allows it.  Previous behavior
13231                         would refuse to activate a just-plugged wired device if a
13232                         wireless device was waiting for a key.
13233
13234         * src/nm-device.[ch]
13235                 - (nm_device_can_interrupt_activation): new function; ask devices
13236                         whether their activation can be interrupted
13237
13238 2006-01-20  Robert Love  <rml@novell.com>
13239
13240         * Makefile.am, configure.in: Add new man subdirectory.
13241         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13242           man/Makefile.am: Add man pages for NetworkManager and its
13243           crime-solving bumbling buddy, NetworkManagerDispatcher.
13244         * man/.cvsignore: Add.
13245         * initscript/Debian/NetworkManager,
13246           initscript/Gentoo/NetworkManager.in,
13247           initscript/RedHat/NetworkManager.in,
13248           initscript/RedHat/NetworkManagerDispatcher.in,
13249           initscript/SUSE/networkmanager-dispatcher.in,
13250           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13251
13252 2006-01-20  Robert Love  <rml@novell.com>
13253
13254         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13255           instead of queuing.  This prevents the running of multiple NM
13256           daemons concurrently, which does not work whatsoever and results in
13257           neither daemon working correctly.  Also, we don't handle queuing and
13258           name-owner-changes, anyhow.
13259
13260 2006-01-20  Robert Love  <rml@novell.com>
13261
13262         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13263         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13264           to sbin, not bin.
13265
13266 2006-01-19  Robert Love  <rml@novell.com>
13267
13268         * configure.in: Require hal 0.5.0 or later.
13269
13270 2006-01-18  Robert Love  <rml@novell.com>
13271
13272         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13273           Allow backends to flag a device (in whatever distro-dependent way
13274           they so desire) as disabled.  NM will ignore any such device.
13275         * src/backends/NetworkManagerDebian.c,
13276           src/backends/NetworkManagerRedHat.c,
13277           src/backends/NetworkManagerSlackware.c: Add stub function
13278           nm_system_device_get_disabled() that always returns FALSE (enabled).
13279         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13280           SUSE-specific configuration structure.  Fill it in from the
13281           NM_CONTROLLED variable in the system networking scripts.  If this var
13282           exists and is "no", we ignore the device.
13283
13284 2006-01-17  Robert Love  <rml@novell.com>
13285
13286         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13287           identical for NM.  For a full discussion, see the thread at
13288           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13289
13290 2006-01-17  Dan Williams  <dcbw@redhat.com>
13291
13292         * src/nm-device.c
13293                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13294                         function.  Fixes crash when wired DHCP fails.
13295
13296 2006-01-16  Robert Love  <rml@novell.com>
13297
13298         * src/Makefile.am: Don't install NMLoadModules
13299         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13300           from src/ to test/ as no one uses it anymore.  Note that I would be
13301           fine with removing it altogether.
13302
13303 2006-01-16  Robert Love  <rml@novell.com>
13304
13305         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13306           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13307           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13308           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13309           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13310           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13311           declarations, ever.
13312         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13313           NM_STATE_DISCONNECTED is zero).
13314
13315 2006-01-16  Robert Love  <rml@novell.com>
13316
13317         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13318           uninitialized parameter and buffer overflow.  Novell #143496.
13319
13320 2006-01-16  Dan Williams  <dcbw@redhat.com>
13321
13322         Apply the PtP Address bits of a patch from Tim Niemueller
13323
13324         * src/nm-ip4-config.[ch]
13325                 - Add ip4_ptp_address member to object
13326                 - (nm_ip4_config_copy): copy ptp address too
13327                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13328                         new functions
13329                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13330                         rather than local tunnel ip address
13331
13332         * src/vpn-manager/nm-vpn-service.c
13333                 - (print_vpn_config): update for PtP address
13334                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13335                         DBusMessageIters in preparation for getting routes from the VPN
13336                         service daemons too
13337
13338         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13339                 - (send_config_info): update for PtP address, clean up code
13340                 - (main): update for PtP address, clean up code, fix typo
13341
13342         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13343                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13344
13345         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13346                 - (pptp_ip_up): update for PtP address
13347
13348         * vpn-daemons/pptp/src/nm-pptp-service.c
13349                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13350
13351         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13352                 - (print_vpn_config): update for PtP address
13353                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13354
13355 2006-01-16  Dan Williams  <dcbw@redhat.com>
13356
13357         * gnome/applet/applet.c
13358                 - (nmwa_add_networks_helper): don't indicate an active network
13359                         if NM is disconnected or asleep
13360
13361 2006-01-16  Dan Williams  <dcbw@redhat.com>
13362
13363         * src/NetworkManagerPolicy.c
13364                 - (nm_policy_device_change_check): switch devices if we lose the link
13365                         on an ethernet device. 
13366
13367 2006-01-16  Dan Williams  <dcbw@redhat.com>
13368
13369         * gnome/applet/wso-wpa-psk-hex.[ch]
13370                 - Renamed -> wso-wpa-psk.[ch]
13371
13372         * gnome/applet/wso-wpa-psk.[ch]
13373                 - New files
13374
13375         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13376                 - Removed, rolled into wso-wpa-psk.[ch]
13377
13378         * gnome/applet/Makefile.am
13379                 - Updated for above changes
13380
13381         * gnome/applet/wireless-applet.glade
13382                 - Consolidate WPA-PSK options into one notebook
13383                         widget, and make dialogs invisible by default
13384                         to fix screen oddities
13385
13386         * gnome/applet/wireless-security-manager.c
13387                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13388                         than both the old hex & passphrase ones
13389
13390 2006-01-16  Dan Williams  <dcbw@redhat.com>
13391
13392         * gnome/applet/other-network-dialog.c
13393                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13394
13395 2006-01-16  Dan Williams  <dcbw@redhat.com>
13396
13397         * gnome/applet/applet.c
13398                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13399                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13400                         prevention to realize window before trying to get server
13401                         time
13402
13403         * gnome/applet/other-network-dialog.c
13404                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13405                         prevention to realize window before trying to get server
13406                         time
13407
13408         * gnome/applet/passphrase-dialog.c
13409                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13410                         prevention to realize window before trying to get server
13411                         time
13412
13413 2006-01-16  Robert Love  <rml@novell.com>
13414
13415         Patch from Timo Hoenig  <thoenig@suse.de:
13416         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13417           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13418           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13419           libnm-util/dbus-helpers.h: add checks whether headers are used
13420           within a C++ build.
13421
13422 2006-01-16  Dan Williams  <dcbw@redhat.com>
13423
13424         * gnome/applet/wireless-security-option.c
13425                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13426
13427 2006-01-16  Dan Williams  <dcbw@redhat.com>
13428
13429         * libnm-util/cipher-wpa-psk-passphrase.c
13430                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13431                         be 8 - 63 characters inclusive
13432
13433 2006-01-16  Dan Williams  <dcbw@redhat.com>
13434
13435         * src/nm-dbus-nm.c
13436                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13437
13438 2006-01-13  Robert Love  <rml@novell.com>
13439
13440         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13441         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13442           modules that do not use an interface.
13443
13444 2006-01-13  Dan Williams  <dcbw@redhat.com>
13445
13446         * src/nm-device.c
13447           src/nm-device.h
13448                 - Allow subclasses to implement deactivate_quickly()
13449                 - (nm_device_deactivate_quickly): call subclass
13450                         deactivate_quickly() methods
13451                 - (nm_device_set_active_link): small cleanups, and don't
13452                         deactivate the device right away because we risk a deadlock
13453                         when called from device thread, waiting for the device
13454                         thread to cancel activation
13455
13456         * src/nm-device-802-11-wireless.c
13457                 - (real_deactivate_quickly): new function
13458                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13459                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13460                         so that we kill the supplicant when we sleep too
13461                 - (supplicant_interface_init): work around naive naming attempts of
13462                         wpa_ctrl when naming sockets
13463
13464 2006-01-13  Dan Williams  <dcbw@redhat.com>
13465
13466         * src/nm-device-802-11-wireless.c
13467                 - (supplicant_cleanup): delete old device control sockets too
13468                 - (supplicant_get_device_socket_path): new function to consolidate
13469                         locations that need a path to a device's control socket
13470
13471 2006-01-12  Robert Love  <rml@novell.com>
13472
13473         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13474           description so that the description is unique for each
13475           pair (device,provider).  Fixes Novell #142773.
13476
13477 2006-01-12  Dan Williams  <dcbw@redhat.com>
13478
13479         * src/nm-device-802-11-wireless.c
13480                 - (supplicant_exec): ensure GError is correctly initialized
13481                         Reported by Diego González (gnome.org #326708)
13482
13483 2006-01-11  Robert Love  <rml@novell.com>
13484
13485         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13486           define if_mii(), open code the same results, and do so without any
13487           type punning.
13488
13489 2006-01-11  Robert Love  <rml@novell.com>
13490
13491         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13492           that wso_foo_new() returned non-NULL.  Instead, only append the new
13493           wso to wsm->options if the wso is non-NULL.  The crux is that we
13494           assume that the relevant key types are implied by WEP and WPA as
13495           appropriate.  To be sure, they should be, but we should not expect
13496           drivers to not be oozing piles of wolf fecal matter.
13497
13498 2006-01-11  Robert Love  <rml@novell.com>
13499
13500         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13501         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13502           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13503           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13504           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13505           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13506           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13507         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13508           comparing values within DBL_EPSILON.  Also fix shadowed variable
13509           usage.
13510
13511 2006-01-11  Dan Williams  <dcbw@redhat.com>
13512
13513         Add options for WPA2 and WPA1+CCMP (AES).
13514
13515         * gnome/applet/wireless-applet.glade
13516                 - Add UI bits for WPA+CCMP
13517
13518         * gnome/applet/other-network-dialog.c
13519                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13520                         and don't allow creation of WPA2 Ad-Hoc networks since
13521                         wpa_supplicant doesn't support them
13522
13523         * gnome/applet/wireless-security-manager.c
13524                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13525                         on to the specific wireless security option being created
13526
13527         * gnome/applet/wireless-security-option.[ch]
13528                 - (wso_wpa_create_key_type_model): new utility function to create
13529                         the model required for WPA Key Type combo box
13530
13531         * gnome/applet/wso-private.h
13532           gnome/applet/wireless-security-option.h
13533                 - Move private function prototypes into wso-private.h
13534
13535         * gnome/applet/wso-wpa-psk-hex.[ch]
13536           gnome/applet/wso-wpa-psk-passphrase.[ch]
13537                 - (append_dbus_params_func): get WPA version from checkbox and pass
13538                         it to the dbus serialization helper
13539                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13540                         key type combo changes
13541                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13542                         model and options
13543
13544         * libnm-util/cipher-wpa-psk-hex.c
13545           libnm-util/cipher-wpa-psk-passphrase.c
13546                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13547                         new function; allow the cipher to be changed after object creation
13548
13549         * src/nm-ap-security-wpa-psk.c
13550                 - (set_description): Do WPA2 descriptions too
13551
13552         * src/nm-ap-security.c
13553                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13554
13555 2006-01-11  Robert Love  <rml@novell.com>
13556
13557         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13558           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13559           from the ifreq structure in lieu of an open coded solution.  Removes
13560           a life-threatening type-punning.
13561         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13562           types, ever, whatsoever, baby.
13563
13564 2006-01-11  Robert Love  <rml@novell.com>
13565
13566         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13567           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13568           assignments to applet->nm_state into a new nmwa_set_state() function
13569           for both cleanliness and to help debugging.
13570
13571 2006-01-10  Robert Love  <rml@novell.com>
13572
13573         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13574           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13575           seconds, exclusive.  That is, we want to sleep x seconds such that
13576           1 < x < 2.
13577
13578 2006-01-10  Robert Love  <rml@novell.com>
13579
13580         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13581           the attr fields according to the example in the email available at
13582           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13583           Conversely, we do have to free 'name', so we do so, fixing a leak.
13584
13585 2006-01-10  Robert Love  <rml@novell.com>
13586
13587         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13588           sure that we close the socket!
13589
13590 2006-01-10  Robert Love  <rml@novell.com>
13591
13592         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13593           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13594           src/nm-device.c: Fix a FIXME!  Reimplement the function
13595           nm_device_update_hw_address() in device subclass variants,
13596           nm_device_802_3_ethernet_set_address() and
13597           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13598           This fixes the existing bug where MAC addresses are all zeros.
13599
13600 2006-01-10  Robert Love  <rml@novell.com>
13601
13602         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13603           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13604           option to give users ability to globally disconnect and put NM to
13605           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13606           clean disconnect.
13607
13608 2006-01-09  Robert Love  <rml@novell.com>
13609
13610         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13611           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13612           User-space does not supply these types, so we have to define them
13613           ourselves.  The relevant kernel maintainer refused to accept a patch
13614           switching these headers to the proper C99 types.
13615
13616 2006-01-09  Dan Williams  <dcbw@redhat.com>
13617
13618         Apply Robert's 'tray icon redo' patch with fixes
13619         * gnome/applet/applet.c
13620           gnome/applet/applet.h
13621                 - Instead of using a menu bar + menu item, simulate menu
13622                         behavior using a popup menu.  Highlight the area around
13623                         the icon more like a menu too, by playing with the
13624                         applet's size requisition
13625
13626 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13627         * libnm-util/dbus-helpers.c
13628           libnm-util/dbus-helpers.h
13629                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13630                         to 'exception_namespace' (:namespace is a keyword in
13631                         C++)
13632
13633 2006-01-09  Dan Williams  <dcbw@redhat.com>
13634
13635         * src/NetworkManagerPolicy.c
13636                 - (nm_policy_device_change_check): don't autoswitch away from
13637                         Ad-Hoc networks, since there's really no concept of
13638                         "link"
13639
13640         * src/nm-dbus-nm.c
13641                 - (nm_dbus_nm_create_wireless_network): mark created networks
13642                         as Ad-Hoc networks
13643
13644         * src/nm-device-802-11-wireless.c
13645                 - (real_activation_success_handler): add user-created Ad-Hoc
13646                         networks to the device's scan list
13647
13648 2006-01-08  Dan Williams  <dcbw@redhat.com>
13649
13650         We now require a patch for wpa_supplicant to support Ad-Hoc
13651         networks:
13652           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13653
13654         * src/nm-device-802-11-wireless.c
13655                 - (supplicant_send_network_config): turn off wpa_supplicant's
13656                         scanning.  Fixes Ad-Hoc networks.
13657
13658 2006-01-08  Dan Williams  <dcbw@redhat.com>
13659
13660         * src/nm-ap-security.c
13661           src/nm-ap-security.h
13662                 - Add a user_created argument to the write_supplicant_config
13663                         functions
13664
13665         * src/nm-ap-security-wep.c
13666           src/nm-ap-security-wpa-psk.c
13667           src/nm-device-802-11-wireless.c
13668                 - Make Ad-Hoc mode somewhat work, at least write the
13669                         correct options to wpa_supplicant
13670
13671 2006-01-08  Dan Williams  <dcbw@redhat.com>
13672
13673         * src/nm-device-802-11-wireless.c
13674                 - Remove unused code from the old device activation path
13675
13676 2006-01-08  Dan Williams  <dcbw@redhat.com>
13677
13678         * libnm-util/dbus-helpers.c
13679                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13680                         dbus when key == NULL
13681
13682 2006-01-08  Dan Williams  <dcbw@redhat.com>
13683
13684         * gnome/applet/nm-gconf-wso-wpa-psk.c
13685                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13686                         correct arguments to nmu_security_deserialize_wpa_psk()
13687
13688         * src/nm-ap-security-wpa-psk.c
13689                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13690                         arguments to nmu_security_deserialize_wpa_psk()
13691
13692 2006-01-08  Dan Williams  <dcbw@redhat.com>
13693
13694         * gnome/applet/wso-wpa-psk-hex.c
13695           gnome/applet/wso-wpa-psk-passphrase.c
13696                 - Hook up the append_dbus_params_func() function
13697
13698 2006-01-08  Dan Williams  <dcbw@redhat.com>
13699
13700         * src/nm-device-802-11-wireless.c
13701                 - (get_wireless_capabilities): correctly detect driver WPA
13702                         capabilities
13703
13704 2006-01-08  Dan Williams  <dcbw@redhat.com>
13705
13706         * gnome/applet/Makefile.am
13707           gnome/applet/wso-wpa-psk-hex.c
13708           gnome/applet/wso-wpa-psk-hex.h
13709                 - New files, implement WPA-PSK Hex key input
13710
13711         * gnome/applet/wireless-applet.glade
13712                 - Change existing wpa-psk stuff to wpa-psk-hex
13713                 - Add new widgets for wpa-psk-passphrase
13714
13715         * gnome/applet/wireless-security-manager.c
13716                 - (wsm_set_capabilities): enable WPA options
13717
13718         * gnome/applet/wso-wpa-psk-passphrase.c
13719                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13720                         for WPA-PSK passphrase
13721
13722 2006-01-08  Dan Williams  <dcbw@redhat.com>
13723
13724         * include/NetworkManager.h
13725                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13726                         applet/info-daemons
13727
13728         * gnome/applet/passphrase-dialog.c
13729                 - Use the constant.  Fixes a bug where the arguments to
13730                         dbus_message_new_error() were incorrect
13731
13732         * src/nm-dbus-nmi.c
13733                 - Use the constant
13734
13735 2006-01-07  Dan Williams  <dcbw@redhat.com>
13736
13737         * src/nm-device-802-11-wireless.c
13738                 - Add a link timeout so we allow the supplicant time to
13739                         reassociate if it can, before we deactivate the card
13740                 - Fix up link status and link updating so things work better
13741
13742 2006-01-07  Dan Williams  <dcbw@redhat.com>
13743
13744         * src/nm-device-802-11-wireless.c
13745                 - Switch over to using wpa_supplicant
13746                 - Add a timeout of 10s for association of the supplicant
13747                 - Start the monitor callback of the supplicant
13748
13749 2006-01-07  Dan Williams  <dcbw@redhat.com>
13750
13751         * src/NetworkManagerUtils.c
13752                 - (nm_utils_supplicant_request,
13753                   nm_utils_supplicant_request_with_check):
13754                         pass correct buffer length to wpa_ctrl_request()
13755
13756 2006-01-07  Dan Williams  <dcbw@redhat.com>
13757
13758         * src/nm-device-private.h
13759           src/nm-device.c
13760                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13761                         this function available to subclasses
13762
13763 2006-01-06  Robert Love  <rml@novell.com>
13764
13765         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13766           user plugging in a network cable signals their preference for to
13767           switch, unless the user explicitly selected a wireless network and
13768           therefore signaled their preference for said wireless network over
13769           wired.  In other words, do exactly what makes sense.
13770
13771 2006-01-06  Robert Love  <rml@novell.com>
13772
13773         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13774           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13775           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13776           showing up in my greps.
13777
13778 2006-01-06  Robert Love  <rml@novell.com>
13779
13780         * gnome/applet/applet-dbus-devices.c,
13781           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13782           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13783           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13784           New Network' both failed in the non-encrypted case because we were
13785           not appending the security options to the DBUS message.  And
13786           'Connect to Other' was also failing in the encrypted case because
13787           we were not incrementing to the next DBUS parameter.  All fixed.
13788           Thanks to dcdw for some debugging help.
13789
13790 2006-01-06  Robert Love  <rml@novell.com>
13791
13792         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13793           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13794           hangup code and add per-device hangup.  Tie last commit into the
13795           GNOME applet.  TODO:  Save, understand, and respond to the state of
13796           each dialup device.
13797
13798 2006-01-06  Robert Love  <rml@novell.com>
13799
13800         Patch by Timo Hoenig <thoenig@suse.de>:
13801         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13802           hangup specific dialup devices.
13803         * src/backends/NetworkManagerDebian.c,
13804           src/backends/NetworkManagerGentoo.c,
13805           src/backends/NetworkManagerRedHat.c,
13806           src/backends/NetworkManagerSlackware.c: Add stub backend.
13807         * src/backends/NetworkManagerRedHat.c,
13808           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13809           hangup specific dialup devices.
13810
13811 2006-01-04  Robert Love  <rml@novell.com>
13812
13813         * gnome/applet/applet-dbus-devices.c,
13814           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13815           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13816           connections.
13817
13818 2006-01-04  Dan Williams  <dcbw@redhat.com>
13819
13820         First dump of wpa_supplicant-related code.  It's not hooked up to
13821         anything yet though.  Thanks to Kay Sievers for
13822         wpa_supplicant_wrapper.c, which formed the basis for this work,
13823         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13824
13825         * src/Makefile.am
13826           src/wpa_ctrl.[ch]
13827                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13828
13829         * src/NetworkManagerUtils.[ch]
13830                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13831                         Add convenience functions for talking to wpa_supplicant
13832
13833         * src/nm-ap-security.[ch]
13834           src/nm-ap-security-wep.c
13835           src/nm-ap-security-wpa-psk.[ch]
13836                 - Update and implement real_write_supplicant_config functions
13837                         in all security types
13838                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13839                         nm-ap-security-wpa-psk.c
13840
13841         * src/nm-device-802-11-wireless.c
13842                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13843                    wpa_supplicant_start, wpa_supplicant_interface_init,
13844                    wpa_supplicant_send_network_config): add functions to talk to
13845                         wpa_supplicant and write network config to it
13846
13847 2006-01-04  Robert Love  <rml@novell.com>
13848
13849         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13850           values so that distribution-backends can differentiate between the
13851           various types (modem, ISDN, et cetera) of dialup device that they
13852           support.
13853         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13854           needed.
13855
13856 2006-01-03  Dan Williams  <dcbw@redhat.com>
13857
13858         * src/NetworkManagerPolicy.c
13859           src/nm-device.[ch]
13860           src/nm-device-802-11-wireless.c
13861                 - Move wireless-specific activation failure and success code
13862                         into wireless device class
13863
13864 2006-01-03  Robert Love  <rml@novell.com>
13865
13866         Patch by Preggna S:
13867         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13868           IPsec does not require that a VPN client be bound to an interface,
13869           due to the use of the in-kernel IPSec bits.  So make the tunnel
13870           device optional.
13871
13872 2006-01-03  Dan Williams  <dcbw@redhat.com>
13873
13874         * src/NetworkManagerAP.c
13875                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13876                         the WPA IE specifies that WEP is supported
13877
13878         * src/nm-device-802-11-wireless.c
13879                 - (process_scan_results): don't mark an AP as supporting WEP
13880                         if there's already other encryption capability info
13881
13882 2006-01-03  Dan Williams  <dcbw@redhat.com>
13883
13884         * src/dhcp-manager/nm-dhcp-manager.c
13885                 - Recognize activation cancellation when waiting for DHCP
13886                         configuration from dhcdbd
13887                 - Ignore non-dhcdbd messages
13888
13889         * src/nm-device.c
13890                 - (real_act_stage3_ip_config_start): return to correct behavior
13891                         of letting the dhcp-manager notify us of failure or
13892                         success rather than incorrectly doing that ourselves
13893                 - (nm_device_activate_stage4_ip_config_get): deal with
13894                         activation cancellation a bit earlier
13895
13896 2006-01-03  Dan Williams  <dcbw@redhat.com>
13897
13898         * src/nm-device-802-11-wireless.c
13899           src/nm-device.[ch]
13900                 - Add hooks to subclasses for stage3_ip_config_start and
13901                         stage4_ip_config_timeout
13902
13903         * src/nm-device-802-3-ethernet.c
13904                 - (real_get_generic_capabilities): make devices NM-supported
13905                         by default
13906
13907 2006-01-03  Robert Love  <rml@novell.com>
13908
13909         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13910           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13911           latter cannot differentiate between error and the address -1; misc.
13912           clean up.
13913
13914 2006-01-03  Dan Williams  <dcbw@redhat.com>
13915
13916         * src/NetworkManager.c
13917                 - Move link-checking/probing into the device subclasses
13918                         themselves
13919
13920         * src/nm-device.[ch]
13921           src/nm-device-802-11-wireless.c
13922           src/nm-device-802-3-ethernet.c
13923                 - Do periodic link checking in device subclasses rather
13924                         than being triggered from NetworkManager.c
13925                 - discover_wireless_capabilities -> get_wireless_capabilities
13926                 - discover_generic_capabilities -> get_generic_capabilities
13927                 - Device subclass activation routines now return a value of type
13928                         NMActStageReturn to indicate what step to perform next
13929                 - Devices now override stage4_get_ip4_config if they choose
13930
13931 2006-01-01  Dan Williams  <dcbw@redhat.com>
13932
13933         * src/nm-device-802-11-wireless.c
13934                 - (real_init): don't chain up to parent init because we don't
13935                         need to do that anymore
13936
13937         * src/nm-device.c
13938                 - (discover_device_type): fix arguments to ioctl() to correctly
13939                         pass interface name
13940                 - (nm_device_new): consolidate generic device initialization into
13941                         nm_device_new()
13942                 - (real_init): remove, consolidated to nm_device_new()
13943                 - (nm_device_deactivate, real_deactivate): consolidate
13944
13945 2006-01-01  Dan Williams  <dcbw@redhat.com>
13946
13947         * src/nm-activation-request.c
13948                 - Change dhcp_state member of the NMActRequest structure
13949                         from guint8 to guint32
13950
13951         * src/dhcp-manager/nm-dhcp-manager.[ch]
13952                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13953                         than guint8 to match the dbus argument.  Turns out we were
13954                         overwriting memory since we were passing in only a guint8
13955
13956 2005-12-31  Dan Williams  <dcbw@redhat.com>
13957
13958         * refactor NMDevice into a GObject-based framework with separate
13959                 objects for wired and wireless.  The following files are no
13960                 longer used but should stick around for a bit so we don't
13961                 loose code through the cracks:
13962                         NetworkManagerDevice.c
13963                         NetworkManagerDevice.h
13964                         NetworkManagerWireless.c
13965                         NetworkManagerWireless.h
13966
13967         The intent here is to allow each device type to manage its own
13968         connection & activation life-cycle, ie to allow wireless devices
13969         to interface with wpa_supplicant, etc.  There's a fair bit of
13970         encapsulation breakage right now that should gradually get pulled
13971         back into each device, along with things like periodic property
13972         updates and link probing.
13973
13974 2005-12-29  Dan Williams  <dcbw@redhat.com>
13975
13976         * include/NetworkManager.h
13977                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
13978                         between networks that don't have any encryption at all
13979
13980 2005-12-29  Dan Williams  <dcbw@redhat.com>
13981
13982         * test/test-common.c
13983           test/test-common.h
13984           test/Makefile.am
13985                 - Move to a test-common subdirectory
13986
13987         * test/libnm-util/test-ciphers.c
13988                 - Move test data to test-inputs.h
13989                 - Test WPA ciphers too
13990
13991         * test/libnm-util/test-dbus-helpers.c
13992                 - Test serialization/deserialization of ciphers
13993
13994 2005-12-29  Dan Williams  <dcbw@redhat.com>
13995
13996         * gnome/applet/applet-dbus-devices.c
13997                 - Replace 'enc' parameter with 'capabilities' for wireless networks
13998                         in dbus calls to NM
13999                 - Set capabilities on WirelessNetwork objects
14000                 - Receive and save type-specific device capabilities too
14001
14002         * gnome/applet/applet-dbus-info.c
14003           gnome/applet/applet-dbus.c
14004                 - Passphrase dialog no longer a singleton; new instance gets created
14005                         on each request.  Updates to deal with that.
14006
14007         * gnome/applet/applet.c
14008                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
14009                         than single 'encrypted' flag
14010                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
14011                         menu items
14012                 - Passphrase dialog updates per above
14013
14014         * gnome/applet/menu-items.c
14015                 - (network_menu_item_update): use AP capabilities to determine
14016                         encryption
14017
14018         * gnome/applet/nm-device.[ch]
14019                 - Add accessors for type-specific device capabilities
14020
14021         * gnome/applet/other-network-dialog.c
14022                 - Rework to respect device capabilities.  i.e., if the device doesn't
14023                         support WPA, remove that option from the security dropdown
14024
14025         * gnome/applet/passphrase-dialog.c
14026                 - Massive rework so that a new instance is created each time
14027                         it's used, to support wireless network capabilities
14028
14029         * gnome/applet/wireless-network.[ch]
14030                 - Add accessors and members for wireless network capabilities
14031
14032         * gnome/applet/wireless-security-manager.[ch]
14033                 - (wsm_set_capabilities): called after creation to set which
14034                         security options get shown to the user
14035
14036 2005-12-29  Dan Williams  <dcbw@redhat.com>
14037
14038         * libnm-util/cipher-wpa-psk-passphrase.c
14039                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
14040                         like other ciphers
14041
14042 2005-12-23  Dan Williams  <dcbw@redhat.com>
14043
14044         * gnome/applet/applet-dbus-info.c
14045                 - (nmi_dbus_get_key_for_network): if there's no entry in
14046                         GConf for a network, assume we want a new key
14047                 - (nmi_save_network_info): serialize wireless security info
14048                         into GConf so its saved
14049
14050         * src/nm-dbus-nm.c
14051                 - Fix warning as we may not be passed security info when
14052                         connecting to a wireless network
14053
14054 2005-12-23  Dan Williams  <dcbw@redhat.com>
14055
14056         * gnome/applet/applet-compat.c
14057                 - Fix bugs in GConf entry conversion
14058
14059         * gnome/applet/applet-dbus-info.c
14060                 - (nmi_dbus_get_network_properties): handle case of the BSSID
14061                         list being zero-length
14062
14063         * libnm-util/cipher-*
14064           libnm-util/dbus-helpers.c
14065                 - All ciphers must now return hashed keys as UTF-8 valid
14066                         hexadecimal strings, ie "8f3dae4023".  They are pushed
14067                         through dbus as strings too.
14068                 - Consolidate various functions that do bin->hex and hex->bin
14069                         conversion into cipher.c
14070
14071         * src/nm-ap-security-wep.c
14072           src/nm-ap-security-wpa-psk.c
14073                 - Handle NULL keys since we may not know keys right away
14074
14075         * src/nm-dbus-nmi.c
14076                 - (nm_dbus_get_network_data_cb): actually advance to the start
14077                         of the wireless security info before we try to deserialize it
14078
14079         * libnm-util/test-ciphers.c
14080                 - Update cipher tests for the change to UTF-8 hexadecimal strings
14081
14082 2005-12-22  Dan Williams  <dcbw@redhat.com>
14083
14084         * gnome/applet/applet-compat.[ch]
14085                 - Convert old-format GConf and keyring entries
14086                         when the applet starts up.
14087
14088         * gnome/applet/applet.c
14089                 - (nmwa_get_instance): Call the conversion function
14090                         on startup before dbus is initialized
14091
14092 2005-12-22  Dan Williams  <dcbw@redhat.com>
14093
14094         * gnome/applet/applet-dbus-info.c
14095                 - Remove nmi_dbus_create_error_message() in favor of
14096                         nmu_create_dbus_error_message()
14097                 - (nmi_dbus_get_network_properties): Error message cleanups
14098                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
14099                         gconf key rather than 'addresses', since they really are BSSIDs
14100                 - (nmi_dbus_get_network_properties): Dispose of the security
14101                         object when we're done with it
14102
14103 2005-12-21  Dan Williams  <dcbw@redhat.com>
14104
14105         * Consolidate the info-daemon's "updateNetworkInfo" and
14106                 "addNetworkAddress" calls into just "updateNetworkInfo"
14107
14108 2005-12-21  Dan Williams  <dcbw@redhat.com>
14109
14110         * Make connection after key retrieval work again
14111
14112 2005-12-21  Dan Williams  <dcbw@redhat.com>
14113
14114         * gnome/applet/nm-gconf-wso*
14115                 - Make the serialize functions return gboolean
14116                         rather than int
14117
14118         * gnome/applet/nm-gconf-wso.c
14119                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
14120                         parent class handling so we don't segfault
14121
14122         * src/NetworkManagerAP.[ch]
14123                 - (nm_ap_get_capabilities): new function, return capabilities
14124                         now that something can use them
14125                 - (nm_ap_set_encrypted): assume that an access point supports
14126                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
14127                         we even tell whether it just supports WEP40?
14128
14129         * src/NetworkManagerDevice.c
14130                 - (ap_need_key): resurrect and update for the New World Order
14131                 - (nm_device_wireless_get_activation_ap): if we're not given
14132                         security info to use, create some based on access point
14133                         capabilities
14134
14135         * src/nm-ap-security-wep.c
14136                 - (nm_ap_security_wep_new_from_ap): create a new object
14137                         based on a certain access point's capabilities
14138
14139         * src/nm-ap-security.c
14140                 - (nm_ap_security_new_from_ap): delegate creation of a new
14141                         object based on access point capabilities to a subclass
14142                 - (nm_ap_security_copy_properties): don't segfault if we
14143                         don't have a key yet
14144
14145         * src/nm-dbus-nm.c
14146                 - (nm_dbus_nm_set_active_device): provide more informative
14147                         output when errors occur.  Also construct security info
14148                         for a given access point if we weren't given any
14149
14150 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14151
14152         * configure.in: Added Lithuanian to ALL_LINGUAS.
14153
14154 2005-12-21  Dan Williams  <dcbw@redhat.com>
14155
14156         * test/libnm-util
14157                 - Add some testcases for WEP ciphers
14158
14159 2005-12-17  Dan Williams  <dcbw@redhat.com>
14160
14161         * Fix bugs
14162
14163 2005-12-17  Dan Williams  <dcbw@redhat.com>
14164
14165         * include/NetworkManager.h
14166                 - Finally kill NMEncKeyType
14167
14168         * gnome/applet/applet-dbus-info.c
14169                 - (nmi_save_network_info): convert to NMGConfWSO
14170
14171         * gnome/applet/nm-gconf-wso-*.c
14172                 - Implement gconf serialization functions
14173
14174         * src/NetworkManagerPolicy.c
14175                 - (nm_policy_activation_finish): fix up meaning of
14176                         automatic/user_requested
14177
14178 2005-12-17  Dan Williams  <dcbw@redhat.com>
14179
14180         * gnome/applet/*
14181                 - More applet cleanups
14182                 - Use the dbus-method-dispatcher
14183
14184         * libnm-util/dbus-method-dispatcher.[ch]
14185                 - Generalize the implementation from NM in
14186                         NetworkManagerUtils.c
14187
14188 2005-12-16  Dan Williams  <dcbw@redhat.com>
14189
14190         * gnome/applet/*
14191                 - Fix up the passphrase dialog to use all the
14192                         WirelessSecurityOption stuff (untested)
14193
14194 2005-12-16  Dan Williams  <dcbw@redhat.com>
14195
14196         * Move nm_gconf_get_*_helper() functions to separate files,
14197                 gconf-helpers.c & gconf-helpers.h
14198
14199         * New NMGConfWSO objects for managing the gconf side of things.
14200                 Eventually these should be merged with the
14201                 WirelessSecurityOption objects and a common base (that can
14202                 serialize/deserialize from dbus & gconf) should be
14203                 refactored out, but for now they are separate.
14204
14205 2005-12-16  Robert Love  <rml@novell.com>
14206
14207         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14208           binaries unless they exist (nm_spawn_process() emits a warning if
14209           asked to spawn a non-existant process).
14210
14211 2005-12-16  Dan Williams  <dcbw@redhat.com>
14212
14213         * gnome/applet/applet-dbus-info.c
14214                 - Clean up lots of gconf-related code
14215
14216 2005-12-16  Robert Love  <rml@novell.com>
14217
14218         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14219
14220 2005-12-16  Dan Williams  <dcbw@redhat.com>
14221
14222         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14223
14224         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14225                 bits still to be done)
14226
14227 2005-12-16  Dan Williams  <dcbw@redhat.com>
14228
14229         * Finally move info-daemon related stuff out of
14230                 NetworkManagerDbus.c to nm-dbus-nmi.c
14231
14232 2005-12-16  Dan Williams  <dcbw@redhat.com>
14233
14234         * Kill auth_method for access points, since that's now done
14235                 by NMAPSecurity objects
14236
14237         * Add a copy-constructor of sorts to NMAPSecurity
14238                 (how do you do this properly in glib???)
14239
14240 2005-12-15  Dan Williams  <dcbw@redhat.com>
14241
14242         * Exorcise encryption key hashing on APs
14243         * Use libnm-util's serialization/deserialization in both the
14244                 applet and NM
14245         * Random other stuff
14246
14247 2005-12-15  Robert Love  <rml@novell.com>
14248
14249         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14250           is being added to the icon naming spec, so let's use that (Tango CVS
14251           has the icon).  Because it is new, however, we fall back to the
14252           current "gnome-lockscreen" if the new icon is not around, thus
14253           behavior is the same.
14254         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14255           factory junk.
14256
14257 2005-12-15  Robert Love  <rml@novell.com>
14258
14259         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14260           well, help to give.  Couple other misc. bits.
14261
14262 2005-12-15  Dan Williams  <dcbw@redhat.com>
14263
14264         * libnm-util/dbus-helpers.[ch]
14265                 - Make this the one-stop-shop for serializing/deserializing
14266                         AP & connection security settings over dbus.  Both NM
14267                         and applets should use this to ensure consistent dbus
14268                         API going forwared.
14269
14270 2005-12-15  Robert Love  <rml@novell.com>
14271
14272         Patch by Timo Hoenig  <thoenig@suse.de>:
14273         * src/NetworkManagerDbus.c
14274                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14275                         if HAL jumps off the system bus.  Otherwise libdbus
14276                         (dbus_connection_dispatch) will try to run the filter
14277                         function of our libhal context which is already freed.
14278
14279 2005-12-15  Alexander Shopov  <ash@contact.bg>
14280
14281         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14282
14283 2005-12-14  Dan Williams  <dcbw@redhat.com>
14284
14285         * include/NetworkManager.h
14286           src/NetworkManagerWireless.c
14287                 - Rearrange 802.11 wireless-specific capabilities again
14288
14289         * src/Makefile.am
14290                 - Forgot to add wpa.c/wpa.h to the makefiles
14291
14292         * src/NetworkManagerAP.[ch]
14293                 - Implement access point capabilities and parse the
14294                         WPA/RSN IEs into the capability bitfield
14295                 - Switch the "encrypted" attribute to utilize the bitfield
14296                         and capabilities rather than being independent
14297
14298         * src/NetworkManagerDevice.c
14299                 - (nm_device_wireless_get_activation_ap): break it horribly
14300                         until we can push NMAPSecurity objects into access point
14301                         objects and through the activation chain
14302                 - Stuff WPA & RSN IEs into AP capabilities
14303
14304         * src/nm-dbus-nm.c
14305                 - Take a shot at actually making setActiveDevice work
14306
14307         * src/wpa.[ch]
14308                 - Make the API a bit saner
14309
14310 2005-12-14  Dan Williams  <dcbw@redhat.com>
14311
14312         * include/NetworkManager.h
14313                 - Add 802.11-specific capability for 802.1x key
14314                         management
14315
14316         * src/wpa.[ch]
14317                 - Pull in WPA IE and RSN IE parsing code from
14318                         wpa_supplicant so we can determine access point
14319                         capabilities
14320                 - Move WPA-related constants here from NetworkManagerAP.h
14321                         and NetworkManagerDevice.c
14322
14323         * src/NetworkManagerDevice.c
14324           src/NetworkManagerAP.[ch]
14325                 - Use WPA-related constants from wpa.h
14326
14327 2005-12-14  Dan Williams  <dcbw@redhat.com>
14328
14329         * include/NetworkManager.h
14330                 - Update and split 802.11 wireless-specific capabilities from
14331                         generic device capabilities
14332
14333         * src/NetworkManagerDevice.c
14334           src/NetworkManagerDevicePrivate.h
14335                 - (nm_device_wireless_discover_capabilities): Move 802.11
14336                         wireless-specific capability checks to
14337                         NetworkManagerWireless.c
14338                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14339                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14340
14341         * src/NetworkManagerWireless.[ch]
14342                 - (nm_802_11_wireless_discover_capabilities): Check extended
14343                         802.11 wireless-specific capabilities of the driver
14344
14345 2005-12-14  Robert Love  <rml@novell.com>
14346
14347         Patch from Stefan Scheler <sscheler@suse.de>:
14348         * src/NetworkManagerDevice.c: call backend code to activate and
14349           deactivate NIS.
14350         * src/NetworkManagerSystem.h: add new NIS interfaces.
14351         * src/backends/NetworkManagerDebian.c,
14352           src/backends/NetworkManagerGentoo.c,
14353           src/backends/NetworkManagerRedHat.c,
14354           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14355           support.
14356         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14357
14358 2005-12-14  Dan Williams  <dcbw@redhat.com>
14359
14360         * src/nm-ap-security*.[ch]
14361                 - Add AP security abstractions to NetworkManager
14362
14363         * src/nm-dbus-device.c
14364                 - Begin to parse new format dbus messages from the applet
14365                         and construct an AP security object from the message
14366
14367         * libnm-util/dbus-helpers.c
14368                 - Use message iters so we can append the key as a fixed
14369                         array of bytes, which actually works rather than
14370                         using dbus_message_append_args() as we were before
14371
14372 2005-12-14  Dan Williams  <dcbw@redhat.com>
14373
14374         * src/NetworkManagerDbus.c
14375           gnome/applet/applet-dbus.c
14376                 - Fix up dbus service replacement options.  The applet
14377                         should allow replacement, NM itself should not.
14378
14379 2005-12-13  Robert Love  <rml@novell.com>
14380
14381         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14382           Instead, fail silently if config is NULL by not asserting and not
14383           returning FALSE.  Also, make sure we always fclose() the file.
14384
14385 2005-12-13  Robert Love  <rml@novell.com>
14386
14387         Patch by Stefan Scheler <sscheler@suse.de>:
14388         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14389            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14390            via DHCP.  Still need the backends to commit the NIS domain name and
14391            and servers to yp.conf as needed.
14392
14393 2005-12-13  Robert Love  <rml@novell.com>
14394
14395         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14396           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14397
14398 2005-12-13  Robert Love  <rml@novell.com>
14399
14400         * src/named-manager/nm-named-manager.c: Don't unref the config until
14401           after we call rewrite_resolv_conf(), because get_last_default_domain()
14402           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14403           `config != NULL' failed" assertion failures and "Could not commit DNS
14404           changes" warnings.
14405
14406 2005-12-12  Dan Williams  <dcbw@redhat.com>
14407
14408         * libnm-util/dbus-helpers.[ch]
14409           libnm-util/Makefile.am
14410                 - new helper calls to consolidate locations where
14411                         NM's setDevice method is called
14412
14413         * gnome/applet/applet-dbus-devices.c
14414           gnome/applet/wireless-security-option.c
14415           gnome/applet/wso-*
14416                 - Implement dbus message param append function for
14417                         all wireless security options
14418
14419 2005-12-12  Robert Love  <rml@novell.com>
14420
14421         * libnm-util/cipher-wep-passphrase.c,
14422           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14423           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14424           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14425           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14426           When handling keys, we don't care what the sign is.  The compiler
14427           guarantees us that we get our 8-bits, which is all we care about.
14428         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14429
14430 2005-12-12  Dan Williams  <dcbw@redhat.com>
14431
14432         * gnome/applet/applet-dbus-devices.[ch]
14433           gnome/applet/applet.c
14434           gnome/applet/other-network-dialog.c
14435           gnome/applet/wireless-security-manager.[ch]
14436           gnome/applet/wireless-security-option.[ch]
14437           gnome/applet/wso-*
14438                 - Push the wireless security options further into the applet
14439
14440 2005-12-12  Robert Love  <rml@novell.com>
14441
14442         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14443           return any name servers.  That is perfectly valid.  (Novell #134369).
14444
14445 2005-12-11  Dan Williams  <dcbw@redhat.com>
14446
14447         * gnome/applet/wso-*
14448           gnome/applet/wireless-security-option.*
14449           gnome/applet/Makefile.am
14450                 - split each security option out so we can eventually
14451                         have each one build up their own dbus message
14452                         arguments to send to NM
14453
14454 2005-12-11  Dan Williams  <dcbw@redhat.com>
14455
14456         * Make validation of the key work correctly
14457
14458 2005-12-11  Dan Williams  <dcbw@redhat.com>
14459
14460         * Hook more bits of the Other Network Dialog up to the
14461                 wireless security manager stuff, and restructure
14462                 bits of the dialog so there's less code.
14463
14464 2005-12-10  Dan Williams  <dcbw@redhat.com>
14465
14466         * gnome/applet/Makefile.am
14467                 - Add libnm-util to includes
14468                 - Add libnm-util to link list
14469                 - Add wireless-security-common.* to compile list
14470
14471         * gnome/applet/other-network-dialog.c
14472                 - Convert to using the WirelessSecurityManager code and
14473                         widgets
14474
14475         * gnome/applet/passphrase-dialog.c
14476                 - Comment out references to stuff in the glade file that
14477                         cause runtime errors until it can be fixed up
14478                         to use the WirelessSecurityManager code
14479
14480         * gnome/applet/wireless-applet.glade
14481                 - Rename some widgets
14482                 - Add widgets for the WirelessSecurityManager code
14483                 - Remove passphrase-related stuff since that's now
14484                         handled by the WirelessSecurityManager code
14485
14486 2005-12-10  Dan Williams  <dcbw@redhat.com>
14487
14488         * gnome/applet/applet-dbus-devices.c
14489                 - Print out error message details for dbus pending call callbacks
14490                 - Move nmwa_dbus_update_devices() up
14491
14492         * gnome/applet/applet-dbus-vpn.c
14493                 - Print out error message details for dbus pending call callbacks
14494
14495 2005-12-10  Dan Williams  <dcbw@redhat.com>
14496
14497         * libnm-util/*
14498                 - More fixups
14499                 - Remove cipher-manager.* because we don't need it
14500                 - Forgot to add gnome-keyring-md5 files to compile list
14501
14502 2005-12-09  Dan Williams  <dcbw@redhat.com>
14503
14504         * libnm-util/*
14505           configure.in
14506           Makefile.am
14507                 - Add a utility library for clients of NetworkManager.  It's
14508                         only targetted at applets for the moment, and contains
14509                         a generalized 802.11 cipher framework for different
14510                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14511
14512 2005-12-09  Robert Love  <rml@novell.com>
14513
14514         * src/NetworkManagerDevice.c: handle error better in
14515           nm_device_set_mode().
14516
14517 2005-12-08  Robert Love  <rml@novell.com>
14518
14519         * include/NetworkManager.h: add WPA capabilities constants
14520         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14521           or WPA2 and add the capabilities bits as appropriate.
14522
14523 2005-12-08  Robert Love  <rml@novell.com>
14524
14525         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14526           NetworkManagerDispatcher.
14527         * configure.in, initscript/SUSE/.cvsignore,
14528           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14529           initscript.
14530
14531 2005-12-08  Robert Love  <rml@novell.com>
14532
14533         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14534
14535 2005-12-08  Robert Love  <rml@novell.com>
14536
14537         * src/NetworkManagerDevice.c: We want to fall back on and default to
14538           IW_MODE_AUTO, not -1, which is more in line with our previous
14539           behavior.  Otherwise, we try to set the wireless mode to -1 in
14540           nm_device_set_mode().
14541
14542 2005-12-07  Robert Love  <rml@novell.com>
14543
14544         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14545           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14546           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14547           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14548           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14549           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14550           zero.
14551
14552 2005-12-07  Robert Love  <rml@novell.com>
14553
14554         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14555           supplied IP is invalid, fall back to DHCP.
14556
14557 2005-12-07  Dan Williams  <dcbw@redhat.com>
14558
14559         * Convert NETWORK_MODE_* constants to IW_MODE_*
14560         * Make all the get_mode/set_mode functions take and return 'int'
14561         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14562
14563 2005-12-07  Robert Love  <rml@novell.com>
14564
14565         * src/NetworkManagerDevice.c: strncpy() buffer check.
14566         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14567
14568 2005-12-06  Dan Williams  <dcbw@redhat.com>
14569
14570         * gnome/applet/applet-dbus.c
14571                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14572
14573         * gnome/applet/applet-dbus-vpn.c
14574                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14575                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14576                         to TRUE here if stage was ACTIVATED
14577
14578 2005-12-06  Dan Williams  <dcbw@redhat.com>
14579
14580         * Change nm_device_is_* functions to better names:
14581                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14582                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14583
14584 2005-12-06  Dan Williams  <dcbw@redhat.com>
14585
14586         * Change naming of NMDeviceType to something more sensible:
14587                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14588                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14589                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14590
14591 2005-12-06  Dan Williams  <dcbw@redhat.com>
14592
14593         * Move NetworkManager.h -> include/NetworkManager.h
14594         * Split out VPN stuff into include/NetworkManagerVPN.h
14595         * Fix up makefiles to include new location
14596         * Fix up sources to include NetworkManagerVPN.h
14597
14598 2005-12-06  Dan Williams  <dcbw@redhat.com>
14599
14600         Various changes in the applet to move VPN connection "state" -> "stage",
14601         which it actually is.  I'd like to change the signal as well when we
14602         break compat in the near future.
14603
14604 2005-12-06  Dan Williams  <dcbw@redhat.com>
14605
14606         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14607         * initscript/Slackware/rc.networkmanager
14608                 - Cosmetic fix
14609
14610         * src/backends/NetworkManagerSlackware.c
14611                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14612                         interfaces
14613
14614 2005-12-05  Robert Love  <rml@novell.com>
14615
14616         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14617           to free, particularly here as it just barfs.
14618
14619 2005-12-05  Dan Williams  <dcbw@redhat.com>
14620
14621         * gnome/applet/applet-dbus.c
14622                 - Work with dbus 0.6 too
14623
14624 2005-12-03  Dan Williams  <dcbw@redhat.com>
14625
14626         * src/NetworkManagerUtils.[ch]
14627           src/nm-ip4-config.c
14628                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14629                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14630
14631 2005-12-01  Robert Love  <rml@novell.com>
14632
14633         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14634           need a NULL for the '...' parameter, too, to fill the so-called
14635           sentinel.
14636
14637 2005-12-01  Robert Love  <rml@novell.com>
14638
14639         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14640           interface is already gone, so don't call rtnl_link_change() to down
14641           it (which will segfault, anyhow).
14642
14643 2005-11-22  Robert Love  <rml@novell.com>
14644
14645         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14646           gateway is not set, just print a little note.  Configurations without
14647           gateways are valid.
14648
14649 2005-11-22  Robert Love  <rml@novell.com>
14650
14651         * README: update
14652
14653 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14654
14655         * configure.in: Added Finnish translation to ALL_LINGUAS
14656
14657 2005-11-14  Robert Love  <rml@novell.com>
14658
14659         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14660           Niemueller <tim@niemueller.de>.
14661
14662 2005-11-08  Dan Williams  <dcbw@redhat.com>
14663
14664         Patch from Bill Moss <bmoss@clemson.edu>
14665         * src/NetworkManagerDevice.c
14666                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14667                         of nm_policy_schedule_activation_finish() to prevent a
14668                         race condition that causes the link to be dropped
14669
14670 2005-11-08  Dan Williams  <dcbw@redhat.com>
14671
14672         Patch from Bill Moss <bmoss@clemson.edu>
14673         * src/NetworkManagerAPList.c
14674           src/NetworkManagerDevice.c
14675           src/NetworkManagerDbus.c
14676                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14677                         we get more readable ether/mac addresses
14678
14679 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14680
14681         * gnome/applet/main.c: Don't set the restart command.  This fixes
14682         the issue where the restart command was getting copies of all its
14683         arguments for each time the applet was restarted.
14684
14685 2005-11-02  Robert Love  <rml@novell.com>
14686
14687         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14688           if the widget state differs from our saved state.  This ensures we
14689           do not enter an endless loop of death and destruction.  Also, this
14690           guarantees us that we enforce the widget state.
14691
14692 2005-11-02  Robert Love  <rml@novell.com>
14693
14694         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14695         * gnome/applet/applet-dbus-devices.c: invoke the new function
14696           nmwa_enable_wireless_set_active() to ensure that the state of the
14697           'Enable Wireless' checkbox matches the daemon's state.  This is a
14698           concern because the daemon remembers the state.
14699
14700 2005-11-02  Robert Love  <rml@novell.com>
14701
14702         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14703           Enabled", as checkboxes should be actions/commands not positive
14704           statements, otherwise they are confusing in the unselected case.  See
14705           examples in GNOME HIG, Chapter 6.
14706
14707 2005-11-02  Robert Love  <rml@novell.com>
14708
14709         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14710           show a list of wireless networks or the wireless devices or the
14711           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14712           a bad bug: If wireless is disabled and the user picks a wireless
14713           network, NM will switch to the network, only to immediately switch
14714           back, as wireless is disabled.  This also reassures people that NM
14715           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14716
14717 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14718
14719         * gnome/applet/applet.c:
14720         * gnome/applet/applet.h:
14721         Partial backout of Dan's timeout animation patch.
14722         Timeout IDs cannot legally be 0, so revert the code in place to handle
14723         a timeout ID of 0 to denote the timeout isn't running.
14724
14725 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14726
14727         * src/NetworkManagerPolicy.c:
14728         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14729
14730 2005-10-28  Robert Love  <rml@novell.com>
14731
14732         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14733           "Import Saved Configuration..." to make it clear that importing is
14734           not the next step, but an option.  As an aside, a nice TODO would be
14735           to move Importing out of the vpn-specific dialog and into the main
14736           property editor, as Importing goes with Adding, but that will require
14737           some rearchitecting of the VPN stuff I suspect.
14738
14739 2005-10-27  Dan Williams  <dcbw@redhat.com>
14740
14741         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14742         we should replace most of the distro-specific backend code
14743         with libnl stuff.
14744
14745         Get it here:  http://people.suug.ch/~tgr/libnl/
14746
14747         * configure.in
14748           src/Makefile.am
14749                 - Add checks for libnl pkgconfig file
14750                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14751
14752         * src/NetworkManagerSystem.c
14753           src/nm-ip4-config.[ch]
14754                 - Use libnl rather than ioctl() for most things
14755                 - Remove unused functions
14756
14757 2005-10-27  Robert Love  <rml@novell.com>
14758
14759         * src/backends/NetworkManagerSuSE.c: fix warning message text
14760
14761 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14762
14763         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14764
14765 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14766
14767         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14768         project page <http://www.gnome.org/projects/NetworkManager/>
14769
14770 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14771
14772         * gnome/applet.c: Also use translator credits if we don't have
14773         the new GtkAboutDialog (older versions of GTK+)
14774
14775 2005-10-26  Robert Love  <rml@novell.com>
14776
14777         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14778           failure; correct usage text for "--no-daemon"
14779
14780 2005-10-25  Dan Williams  <dcbw@redhat.com>
14781
14782         * src/NetworkManagerDevice.c
14783                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14784                         no scan results
14785                 - (free_process_scan_cb_data): unref the device when freeing results
14786                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14787                         so we don't unref the device underneath ourselves
14788
14789 2005-10-25  Dan Williams  <dcbw@redhat.com>
14790
14791         * Back out 2005-10-24 commit from Tor Krill.  Patch
14792                 causes nameservers never to be removed from named.
14793
14794 2005-10-24  Dan Williams  <dcbw@redhat.com>
14795
14796         Clean up wireless scanning and wireless link probing.
14797
14798         * src/NetworkManagerDevice.c
14799                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14800                         just see if there's an activation request on the device, and check the
14801                         current link against the activation request access point's ESSID.
14802                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14803                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14804                         don't call process_scan_results() on zero-length data
14805                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14806                         15 seconds (from 10)
14807
14808 2005-10-24  Dan Williams  <dcbw@redhat.com>
14809
14810         Cleanup some applet stuff:
14811
14812         - Animation timeouts.  If NM died while the applet was animating,
14813                 the applet would not hide itself.  This is now fixed.
14814
14815         - Remove some dead code
14816
14817         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14818                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14819
14820         - Track animation timeout using a gboolean rather than the timeout's
14821                 ID, since timeout IDs can legally be 0.
14822
14823 2005-10-24  Dan Williams  <dcbw@redhat.com>
14824
14825         * src/backends/interface_parser.c
14826                 - Add void to function declarations that need it
14827                         to match patch from Engin AYDOGAN
14828
14829         * src/backends/interface_parser.h
14830                 - Remove unused prototype for ifparser_interfaces()
14831
14832         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14833         * src/backends/interface_parser.h:
14834                 - Compile fixes for gcc 4.0.2 (add void)
14835
14836 2005-10-24  Dan Williams  <dcbw@redhat.com>
14837
14838         Patch from Tor Krill <tor@krill.nu>
14839         * src/named-manager/nm-named-manager.c
14840                 - Write more than just the first nameserver to /etc/resolv.conf
14841                 - Write out valid /etc/resolv.conf on exit
14842
14843 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14844
14845         * gnome/applet/applet-dbus-vpn.c:
14846         Get rid of spurious newlines in debug console output
14847
14848 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14849
14850         * src/backends/NetworkManagerGentoo.c:
14851         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14852
14853 2005-10-20  Robert Love  <rml@novell.com>
14854
14855         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14856           direct comparison of floating point values, which is never correct.
14857           Also some misc. cleanup.
14858
14859 2005-10-19  Robert Love  <rml@novell.com>
14860
14861         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14862
14863 2005-10-19  Robert Love  <rml@novell.com>
14864
14865         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14866           sensitivity of the buttons.  Specificaly, do the right thing if
14867           there are no entries.
14868
14869 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14870
14871         * configure.in: Update check for adequate wireless-tools
14872         with an AC_TRY_COMPILE for the new symbols we use.
14873
14874 2005-10-19  Dan Williams  <dcbw@redhat.com>
14875
14876         * src/NetworkManagerDevice.c
14877                 - (process_scan_results): don't drop the last (or only)
14878                         access point we see
14879
14880 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14881
14882         * src/backends/NetworkManagerSlackware.c:
14883         Patch from Nico <lordllucifer@gmail.com>
14884                 - Update the Slackware backend.
14885
14886 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14887
14888         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14889         if we've got GLib 2.8.0
14890
14891 2005-10-18  Robert Love  <rml@novell.com>
14892
14893         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14894           function nm_schedule_state_change_signal_broadcast() when we
14895           deactivate a device, too.
14896
14897 2005-10-18  Robert Love  <rml@novell.com>
14898
14899         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14900           be used uninitialized.
14901
14902 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14903
14904         * test/libnm_glib_test.c: Test unregistering, too.
14905
14906 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14907
14908         * configure.in: Bump to 0.5.0
14909
14910 2005-10-17  Dan Williams  <dcbw@redhat.com>
14911
14912         * NetworkManager.h
14913                 - Remove WPA-related constants so they aren't part of the
14914                         upcoming release.
14915
14916 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14917
14918         * gnome/applet/applet.c:
14919         * gnome/applet/applet.h:
14920         Desensitize the 'Connection Information' menu item when there is
14921         no active connection.
14922
14923 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14924
14925         * gnome/libnm_glib/libnm_glib.c:
14926         Make libnm_glib_unregister_callback () actually unregister the callback
14927
14928 2005-10-17  Robert Love  <rml@novell.com>
14929
14930         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14931           two seconds -- tries is updated every 1/10 of a second, not every
14932           second..
14933
14934 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14935
14936         * gnome/applet/applet-dbus-info.c:
14937         Let D-BUS know that we haven't handled a message when we haven't.
14938
14939 2005-10-17  Robert Love  <rml@novell.com>
14940
14941         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14942           in order to remain 64-bit clean.
14943
14944 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14945
14946         * gnome/applet/applet-dbus-info.c:
14947         Find network encryption keys asynchronously
14948
14949 2005-10-17  Robert Love  <rml@novell.com>
14950
14951         * src/backends/NetworkManagerDebian.c,
14952           src/backends/NetworkManagerRedHat,
14953           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14954           comment delimiter.
14955
14956 2005-10-17  Robert Love  <rml@novell.com>
14957
14958         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14959           "/etc"
14960
14961 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14962
14963         * src/NetworkManagerDevice.c: (process_scan_results)
14964         Fix logic that checks to see whether we have an ESSID.
14965
14966 2005-10-15  Dan Williams  <dcbw@redhat.com>
14967
14968         Move scanning code into NetworkManager rather than use iwlib's
14969         iw_scan() function, so that we can figure out AP capabilities.
14970
14971         * NetworkManager.h
14972                 - Add AP capability bits
14973
14974         * src/NetworkManagerAP.[ch]
14975                 - Add capability field to NMAccessPoint structure
14976                 - Add WPA & RSN Information Element fields and accessor
14977                         functions to NMAccessPoint
14978
14979         * src/NetworkManagerDevice.c
14980                 - Remove usage of iw_scan
14981                 - Add scanning code to NetworkManager rather than use
14982                         iw_scan() from iwlib
14983
14984         * src/NetworkManagerUtils.[ch]
14985                 - (nm_dispose_scan_results): remove, unused
14986
14987 2005-10-14  Christopher Aillon  <caillon@redhat.com>
14988
14989         * gnome/libnm_glib/libnm_glib.c:
14990         * gnome/libnm_glib/libnm_glib.h:
14991         Use guint instead of gint for callback IDs.
14992
14993 2005-10-12  Christopher Aillon  <caillon@redhat.com>
14994
14995         * gnome/applet/applet.c:
14996         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
14997         every 1000ms.  It will unconditionally call nmwa_update_state which
14998         kills the existing animation timeout and registers a new one with a
14999         callback to draw a new frame every 100ms.  There are 11 connecting
15000         icon frames, so the last 2 frames kept getting dropped.  Only reset
15001         the animation timeout if we aren't animating.
15002
15003 2005-10-11  Dan Williams  <dcbw@redhat.com>
15004
15005         * gnome/applet/applet-dbus-devices.c
15006                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
15007                         We want to grab the product & vendor from net.physical_dev
15008                         rather than info.parent.
15009
15010 2005-10-11  Dan Williams  <dcbw@redhat.com>
15011
15012         * src/NetworkManagerDevice.c
15013                 - Use the driver's WE version for scanning rather than
15014                         the WE version NM was compiled with.  Fixes random
15015                         crashes in iw_scan () in iwlib.
15016
15017 2005-10-10  Dan Williams  <dcbw@redhat.com>
15018
15019         * Remove nm_system_load_device_modules() from backend files
15020                 and from NetworkManager.c
15021
15022 2005-10-10  Dan Williams  <dcbw@redhat.com>
15023
15024         * src/NetworkManagerPolicy.c
15025                 - Fix some bugs introduced by the capabilities patch
15026
15027 2005-10-10  Dan Williams  <dcbw@redhat.com>
15028
15029         * gnome/applet/applet-dbus-info.c
15030                 - (nmi_dbus_get_network_key): hide the menu when putting up
15031                         the keyring dialog.  (not sure if the code is right...)
15032
15033 2005-10-09  Dan Williams  <dcbw@redhat.com>
15034
15035         Patch from Bill Moss <bmoss@clemson.edu>
15036         * src/NetworkManagerDevice.c
15037                 - (nm_device_set_user_key_for_network): don't try to set auth
15038                         mode on the AP from the allowed list if it's NULL
15039
15040 2005-10-09  Dan Williams  <dcbw@redhat.com>
15041
15042         * Replace the "driver support level" stuff with capabilities.  The
15043                 capability field is a bitfield that is more flexible than the
15044                 old driver support level thing.  It's mostly so we can easily
15045                 figure out what supports WPA and what doesn't, but should be
15046                 quite useful later.
15047
15048 2005-10-09  Dan Williams  <dcbw@redhat.com>
15049
15050         * test/nmtest.c
15051                 - Removed
15052
15053         * test/nm-tool.c
15054           test/Makefile.am
15055                 - Added new "nm-tool" tool that gives quite a bit more
15056                         information
15057
15058 2005-10-07  Robert Love  <rml@novell.com>
15059
15060         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
15061           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
15062           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
15063           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
15064           appropriate
15065
15066 2005-10-07  Robert Love  <rml@novell.com>
15067
15068         * configure.in: Change our compile flags for the betterment of mankind.
15069           Add "-Wstrict-prototypes" because we comply anyhow and missing a
15070           prototype is very bad on 64-bit platforms as types default to int but
15071           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
15072           "-Wmissing-declarations" to warn if we define an exported function
15073           but fail to put it in a header.
15074
15075 2005-10-07  Robert Love  <rml@novell.com>
15076
15077         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
15078           by the name nm_update_device_wireless_timeouts() and once tried,
15079           without success, to steal my pet turtle.
15080
15081 2005-10-07  Robert Love  <rml@novell.com>
15082
15083         * Cleanup prototypes: put some functions in header files and mark
15084           others as 'static' -- feel free to invert
15085         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
15086           nm_vpn_manager_vpn_connection_list_copy()
15087         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
15088           nm_vpn_service_get_dbus_connection()
15089         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
15090           nm_vpn_manager_vpn_connection_list_copy()
15091         * src/vpn-manager/nm-vpn-service.c: make
15092           nm_vpn_service_act_request_failed() and
15093           nm_vpn_service_stage2_daemon_wait() static
15094         * src/vpn-manager/nm-vpn-service.h: add prototype for
15095           nm_vpn_service_get_dbus_connection()
15096
15097 2005-10-06  Christopher Aillon  <caillon@redhat.com>
15098
15099         * gnome/applet/applet.c:
15100         * gnome/applet/applet.h:
15101         * gnome/applet/icons/Makefile.am:
15102         Convey information about the current connection stage in the
15103         icons themselves instead of creating a separate progress bar.
15104
15105 2005-10-04  Robert Love  <rml@novell.com>
15106
15107         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
15108           convert an ether_addr structure's MAC into a string, because the
15109           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
15110           versus 07:3B:04, while the former will not.
15111
15112 2005-10-04  Robert Love  <rml@novell.com>
15113
15114         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15115           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15116           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15117           default route in the 'Connection Information' dialog, send primary
15118           and secondary name servers in in "getProperties" DBUS method, add
15119           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
15120           secondary domain name servers are crucial pieces of information
15121           that a user might need in debugging a network problem.
15122
15123 2005-10-04  Robert Love  <rml@novell.com>
15124
15125         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
15126           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
15127           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
15128           default route in the 'Connection Information' dialog, send default
15129           route in "getProperties" DBUS method, add network_device_set_route(),
15130           and network_device_get_route().  The Gateway is a crucial piece of
15131           connection-related information that a user might need in debugging a
15132           network problem.
15133
15134 2005-10-03  Robert Love  <rml@novell.com>
15135
15136         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
15137           NULL.
15138
15139 2005-10-02  Dan Williams  <dcbw@redhat.com>
15140
15141         * Shorten time taken to sleep by fastpathing bits of device deactivation
15142                 necessary for sleep.
15143
15144         * Fix issue where deactivating a device might deactivate the active
15145                 VPN connection, even if the VPN was not using the device.
15146
15147 2005-10-02  Dan Williams  <dcbw@redhat.com>
15148
15149         * gnome/applet/applet.c
15150                 - Adjust signal strength -> icon mapping values slightly
15151                         (so that 51% signal doesn't show a 75% icon) by adding
15152                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15153                         shows 50% icon, etc.
15154
15155 2005-09-29  Robert Love  <rml@novell.com>
15156
15157         * src/NetworkManager.c: removed unused variable.
15158
15159 2005-09-28  Dan Williams  <dcbw@redhat.com>
15160
15161         Support for named + DBus, using Red Hat DBus patches for named.  You
15162         can find those patches here, with "dbus" in the patch's filename:
15163
15164                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15165
15166         Don't forget the named dbus service file either.
15167
15168         Instead of writing a config file and spawing a named process, NM will
15169         use an already-running dbus-enabled named if it finds one.  NM will
15170         update named's forwarder configuration on the fly using dbus.
15171
15172         If there is no dbus-enabled named running, NM will automatically fall
15173         back to writing the most-recent DNS server information to /etc/resolv.conf
15174         and calling nm_system_update_dns() to kick the system's resolver.
15175
15176         Accordingly, all named-related configure-time options have been removed.
15177
15178 2005-09-26  Robert Love  <rml@novell.com>
15179
15180         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15181           ISDN support!
15182         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15183           bug in error path if "ASKPASSWORD" is "no".
15184
15185 2005-09-26  Robert Love  <rml@novell.com>
15186
15187         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15188           comment in /etc/resolv.conf -- ';' is not.
15189
15190 2005-09-19  Dan Williams  <dcbw@redhat.com>
15191
15192         * src/backends/NetworkManagerRedHat.c:
15193         * src/backends/NetworkManagerDebian.c:
15194         * src/backends/NetworkManagerSlackware.c:
15195         * src/backends/NetworkManagerGentoo.c:
15196         * src/backends/NetworkManagerSUSE.c:
15197         Fix invocations of "/sbin/ip address" to use short form instead
15198
15199 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15200
15201         * src/nm-dbus-device.c: Don't assert when getting
15202         addresses of a not yet connected interface.
15203
15204         * gnome/applet/applet.c: Free icons if loading fails.
15205         Use translator-credits so translators can make themselves known.
15206
15207 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15208
15209         * src/NetworkManagerAP.c:
15210         * src/NetworkManagerAP.h:
15211         * src/NetworkManagerDevice.c:
15212         Set a blacklist for certain common manufacturer default ESSIDs:
15213         APs with these ESSIDs are extremely likely to be completely
15214         different networks: connecting to one should not make NM
15215         auto-connect to every other AP with the same default ESSID.
15216
15217 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15218
15219         * gnome/applet/wireless-applet.glade:
15220         The passphrase entry should also activate the default
15221
15222         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15223
15224         * gnome/applet/applet-dbus-devices.c:
15225         * gnome/applet/applet.c:
15226         * gnome/applet/nm-device.c:
15227         * gnome/applet/nm-device.h:
15228         * src/NetworkManagerUtils.c:
15229         * src/NetworkManagerUtils.h:
15230         * src/nm-dbus-device.c:
15231         I've got a fever, and the only cure for it is less ioctl.
15232         Make NM push IP data rather than make the applet open a socket
15233         to the device.
15234
15235 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15236
15237         * gnome/applet/applet.c:
15238         * gnome/applet/applet-dbus-devices.c:
15239         * gnome/applet/applet-dbus-info.c:
15240         * gnome/applet/passphrase-dialog.c:
15241         * gnome/libnm_glib/libnm_glib.c:
15242         * gnome/vpn-properties/nm-vpn-properties.c:
15243         * src/autoip.c:
15244         * src/backends/NetworkManagerRedHat.c:
15245         * src/named-manager/nm-named-manager.c:
15246         * src/NetworkManagerAPList.c:
15247         * src/NetworkManager.c:
15248         * src/NetworkManagerDbus.c:
15249         * src/NetworkManagerDevice.c:
15250         * src/NetworkManagerPolicy.c:
15251         * src/NetworkManagerSystem.c:
15252         * src/nm-dbus-device.c:
15253         * src/nm-dbus-nm.c:
15254         * src/vpn-manager/nm-vpn-manager.c:
15255         * src/vpn-manager/nm-vpn-service.c:
15256         * test/libnm_glib_test.c:
15257         * test/nminfotest.c:
15258         * test/nmtestdevices.c:
15259         Fix a bunch of 'unused variable' compiler warnings
15260
15261         * NetworkManager.h:
15262         * gnome/applet/applet-dbus-info.c:
15263         * gnome/applet/applet-dbus-info.h:
15264         * gnome/applet/applet.c:
15265         * gnome/applet/applet.h:
15266         * src/NetworkManager.c:
15267         * src/NetworkManagerDbus.c:
15268         * src/NetworkManagerDbus.h:
15269         * src/NetworkManagerDevice.c:
15270         * src/NetworkManagerDevice.h:
15271         * src/NetworkManagerMain.h:
15272         * src/NetworkManagerWireless.c:
15273         * src/NetworkManagerWireless.h:
15274         * src/nm-dbus-nm.c:
15275         Make NetworkManager be smart about how frequently to scan
15276         based on its current state.  Remove the UI for choosing when
15277         to scan.  Scanning still may disabled completely by the user
15278         via the "Wireless Enabled" menu item.
15279
15280 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15281
15282         * gnome/applet/applet.c:
15283         Also overlay the vpn connecting icons onto the wired icon,
15284         when appropriate.
15285
15286         * gnome/vpn-properties/nm-vpn-properties.glade:
15287         Clean up a few strings to use better grammar and proper casing.
15288
15289 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15290
15291         * gnome/applet/vpn-connection.c:
15292         * gnome/applet/vpn-connection.h:
15293         Add nmwa_vpn_connection_is_activating ()
15294
15295         * gnome/applet/applet.c:
15296         * gnome/applet/applet.h:
15297         * gnome/applet/icons/nm-vpn-connecting*.png:
15298         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15299         the user know something's happening between clicking the VPN item and it
15300         actually being connected.
15301
15302 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15303
15304         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15305         failure case as well.
15306
15307 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15308
15309         * gnome/panel/eggtrayicon.[ch]:
15310         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15311
15312 2005-09-07  Dan Williams  <dcbw@redhat.com>
15313
15314         Patch from Bill Moss <bmoss@clemson.edu>
15315         * src/applet-dbus.c
15316                 - (nmwa_dbus_filter): strip whitespace from beginning
15317                         and end of VPN login banner
15318
15319 2005-09-07  Dan Williams  <dcbw@redhat.com>
15320
15321         * The great VPN Manager rewrite of 2005
15322
15323 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15324
15325         * gnome/applet/menu-items.c:
15326         * gnome/applet/nm-device.c:
15327         * gnome/applet/wireless-network.c:
15328         * gnome/libnm_glib/libnm_glib.c:
15329         * src/NetworkManagerDbusUtils.c:
15330         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15331         g_malloc0 doesn't return NULL
15332
15333 2005-09-06  Dan Williams  <dcbw@redhat.com>
15334
15335         Patch from Tomislav Vujec <tvujec@redhat.com>
15336         * src/NetworkManagerDevice.c
15337                 - (nm_get_device_by_udi): don't return a device when we
15338                         actually didn't find what we were looking for
15339
15340 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15341
15342         * gnome/applet/applet-dbus-devices.c:
15343         * gnome/applet/applet-dbus-devices.h:
15344         * gnome/applet/applet-dbus.c:
15345         * src/NetworkManagerDbus.c:
15346         * src/NetworkManagerDbus.h:
15347         * src/NetworkManagerDevice.c:
15348         * src/nm-dbus-device.c:
15349         Make NM push updates about active device strength when it changes,
15350         rather than having the applet poll every 2s.
15351
15352 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15353
15354         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15355         network_device_set_strength
15356
15357 2005-09-04  Dan Williams  <dcbw@redhat.com>
15358
15359         Patch from Bill Nottingham <notting@redhat.com>
15360         * src/NetworkManagerDevice.c
15361                 - (nm_device_activation_cancel): reset the quit_activation flag
15362
15363 2005-09-04  Dan Williams  <dcbw@redhat.com>
15364
15365         * src/nm-activation-request.c
15366                 - (nm_act_request_unref): actually free the structure,
15367                         which we didn't seem to be doing before
15368
15369 2005-09-04  Dan Williams  <dcbw@redhat.com>
15370
15371         Patch from John Palmieri <johnp@redhat.com>
15372         * gnome/applet/applet-dbus-devices.c
15373                 - Fix up unreffing of DBusMessage objects
15374
15375 2005-09-04  Dan Williams  <dcbw@redhat.com>
15376
15377         Patch from John Palmieri <johnp@redhat.com>
15378         * gnome/applet/nm-device.c
15379                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15380
15381 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15382
15383         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15384
15385 2005-09-02  Bill Nottingham  <notting@redhat.com>
15386
15387         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15388
15389 2005-09-01  Dan Williams  <dcbw@redhat.com>
15390
15391         * src/NetworkManager.c
15392                 - (nm_remove_device_from_list): rename to nm_remove_device
15393                 - (nm_hal_device_removed): call nm_remove_device()
15394
15395         * src/NetworkManagerDevice.c
15396                 - Change the NMWirelessScanCB member 'reschedule' which
15397                         wasn't used to 'force' to indicate that we need to
15398                         force a scan when adding a device
15399
15400         * src/nm-dbus-nm.c
15401                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15402                         from the device list
15403                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15404
15405 2005-09-01  Robert Love  <rml@novell.com>
15406
15407         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15408           and the check "!iface" in the error case is probably never true.
15409
15410 2005-09-01  Dan Williams  <dcbw@redhat.com>
15411
15412         Patch from Bill Nottingham <notting@redhat.com>
15413         * src/backends/NetworkManagerRedHat.c
15414                 - Add initial dialup support to Red Hat/Fedora backend
15415
15416 2005-09-01  Dan Williams  <dcbw@redhat.com>
15417
15418         * gnome/applet/applet-dbus-devices.c
15419                 - Sort both wireless networks and devices again, which got
15420                         broken when removing threading
15421
15422 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15423
15424         * gnome/applet/applet.c:
15425         Only show the "Stop/Start All Wireless Devices" menuitem
15426         if we actually have wireless devices.
15427
15428         * gnome/applet/applet-dbus-info.c:
15429         * gnome/applet/applet.c:
15430         * gnome/applet/other-network-dialog.c:
15431         * gnome/applet/vpn-password-dialog.c:
15432         Drop the gtk_dialog_run () calls in favor of connecting to
15433         "response" signals, needed now that the applet is not threaded.
15434
15435 2005-08-31  Dan Williams  <dcbw@redhat.com>
15436
15437         Patch from Bill Moss <bmoss@clemson.edu>
15438         * src/NetworkManagerDevice.c
15439                 - (nm_device_wireless_scan): fix scan timeout values
15440
15441 2005-08-30  Dan Williams  <dcbw@redhat.com>
15442
15443         * gnome/applet/wireless-applet.glade
15444                 - HIG-ify the Other Wireless Networks dialog a bit more
15445                 - Fix some potential segfaults in the info dialog
15446
15447 2005-08-30  Dan Williams  <dcbw@redhat.com>
15448
15449         * gnome/applet/applet-dbus-devices.c
15450                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15451
15452 2005-08-30  Dan Williams  <dcbw@redhat.com>
15453
15454         * gnome/applet/applet-dbus.[ch]
15455                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15456                         they weren't being used anyway
15457
15458 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15459
15460         * test/nmtestdevices.c: (print_usage), (main):
15461         Check the number of arguments, and fix a typo
15462
15463 2005-08-29  Dan Williams  <dcbw@redhat.com>
15464
15465         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15466         * gnome/applet/applet.c
15467                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15468
15469 2005-08-29  Dan Williams  <dcbw@redhat.com>
15470
15471         * gnome/applet/*
15472                 - Don't use threads any more.  Anything that blocks
15473                         (like gtk_dialog_run()) will  have to get fixed up which
15474                         should happen quickly.  We really only had threads to make
15475                         the animation smooth, and when everything got converted over
15476                         to DBus Pending Calls, the need for threads kind of went away
15477
15478 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15479
15480         * gnome/applet/applet.c: Draw VPN connections as radio items
15481         since we don't yet support multiple VPNs.
15482         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15483         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15484
15485 2005-08-29  Dan Williams  <dcbw@redhat.com>
15486
15487         Patch from j@bootlab.org
15488         - Make --without-named work
15489         - Make --with-dhcdbd work correctly
15490
15491 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15492
15493         * configure.in: Added "ca" to ALL_LINGUAS.
15494
15495 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15496
15497         * Fix up VPN state handling between the applet and NetworkManager,
15498                 so that the applet doesn't show a VPN as connected when one
15499                 really is not
15500                         - The applet no longer has a pointer to the active VPN's
15501                                 name, but tracks each VPNs state individually
15502                         - NM no longer has a "getActiveVPNConnection" method
15503                         - NM no longer broadcasts the "VPNConnectionChange" signal
15504                         - NM now broadcasts a "VPNConnectionStateChange" signal
15505                                 whenever the state of a VPN changes
15506
15507 2005-08-26  Dan Williams <dcbw@redhat.com>
15508
15509         * gnome/applet/applet-dbus-devices.c
15510           gnome/applet/applet-dbus-vpn.c
15511                 - Remove calls to dbus_pending_call_ref() because we already
15512                         "own" the pending call
15513                 - Remove calls to dbus_pending_call_get_completed() because
15514                         when we are in the callback, the pending call is completed
15515                         by definition
15516
15517 2005-08-22  Dan Williams <dcbw@redhat.com>
15518
15519         Patch by Bill Moss <bmoss@clemson.edu>
15520         * src/dhcp-manager/nm-dhcp-manager.c
15521                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15522                         some time to send out a RELEASE if they like
15523
15524 2005-08-22  Dan Williams <dcbw@redhat.com>
15525
15526         Noticed by Bill Moss <bmoss@clemson.edu>
15527         * src/NetworkManagerDbus.c
15528                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15529                         instead of just cancelling its activation
15530
15531         * src/NetworkManagerDevice.c
15532                 - (nm_device_deactivate): some small cleanups
15533                 - (nm_device_set_user_key_for_network): deactivate the device
15534                         instead of just cancelling its activation
15535
15536 2005-08-22  Dan Williams <dcbw@redhat.com>
15537
15538         Noticed by Bill Moss <bmoss@clemson.edu>
15539         * src/NetworkManagerDevice.c
15540                 - (nm_device_wireless_scan): fix scan timeout, we were
15541                         waiting way too long for scans to complete
15542
15543 2005-08-22  Dan Williams <dcbw@redhat.com>
15544
15545         Patch from j@bootlab.org:
15546         * src/backends/NetworkManagerDebian.c
15547                 - Make the Debian backend work for static IP again
15548
15549 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15550
15551         * gnome/applet/other-network-dialog.c:
15552         The "Create New Network" and "Connect to Other Network"
15553         dialogs share alot of code, but shouldn't share a window
15554         title.  Give them different ones.
15555
15556         * gnome/applet/wireless-applet.glade:
15557         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15558         Some more minor UI tweaks.
15559
15560 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15561
15562         * gnome/applet/other-network-dialog.c:
15563         * gnome/applet/wireless-applet.glade:
15564         Also need mnemonic widgets, and underline enabled.
15565
15566 2005-08-19  Dan Williams <dcbw@redhat.com>
15567
15568         * vpn-daemons/vpnc/nm-vpnc-service.c
15569                 - (vpnc_watch_cb): remove no-longer-relevant comment
15570                 - (write_config_option): new function, helper to write
15571                         config options to vpnc's stdin
15572                 - (nm_vpnc_config_write): use the new helper, make the
15573                         code shorter
15574
15575 2005-08-19  Christopher Aillon <caillon@redhat.com>
15576
15577         * gnome/applet/passphrase-dialog.c:
15578         * gnome/applet/wireless-applet.glade:
15579         Make the passphrase dialog response based, and treat
15580         responses other than OK (such as Esc, [X]) as a cancel.
15581
15582 2005-08-18  Christopher Aillon <caillon@redhat.com>
15583
15584         * initscript/Gentoo/NetworkManager:
15585         * initscript/RedHat/NetworkManager:
15586         * initscript/RedHat/NetworkManagerDispatcher:
15587         * initscript/SUSE/networkmanager:
15588         CVS remove these in place of .in replacements
15589
15590         * configure.in:
15591         * initscript/Gentoo/NetworkManager.in:
15592         * initscript/RedHat/NetworkManager.in:
15593         * initscript/RedHat/NetworkManagerDispatcher.in:
15594         * initscript/SUSE/networkmanager.in:
15595         These scripts now are generated so they work still when
15596         NM is built using a bindir other than /usr/bin
15597
15598 2005-08-18  Dan Williams <dcbw@redhat.com>
15599
15600         * gnome/applet/main.c
15601                 - Revert previous change for --no-session since
15602                         --sm-disable does the same thing
15603
15604 2005-08-18  Dan Williams <dcbw@redhat.com>
15605
15606         * gnome/applet/applet-dbus-info.c
15607                 - (nmi_dbus_create_error_message): new function
15608                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15609                         functions.  Also don't check for both device _and_ network before
15610                         asking for a user's key, because we may not have gotten all our
15611                         networks back from NM quite yet (due to the dbus pending calls
15612                         coming in later).  Fixes a hang in NM/nm-applet.
15613
15614         * src/NetworkManagerDbus.c
15615                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15616                         slightly more sane manner, even though we are still broken for
15617                         certain other error conditions.
15618                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15619                         to the info-daemon too
15620
15621         * src/NetworkManagerDevice.c
15622                 - Fix some debug messages to be info messages instead
15623
15624 2005-08-18  Dan Williams <dcbw@redhat.com>
15625
15626         * gnome/applet/main.c
15627                 - Add new "--no-session" parameter that disables applet
15628                         session management, ie for testing
15629
15630 2005-08-18  Christopher Aillon <caillon@redhat.com>
15631
15632         * gnome/applet/other-network-dialog.c:
15633         * gnome/applet/wireless-applet.glade: More mnemonics
15634
15635 2005-08-17  Robert Love  <rml@novell.com>
15636
15637         * initscript/SUSE/networkmanager: update
15638
15639 2005-08-17  Dan Williams  <dcbw@redhat.com>
15640
15641         * Tag NM_0_4_1_RELEASE
15642
15643 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15644
15645         * gnome/applet/applet.c: More translatable string cleanup
15646
15647
15648 2005-08-17  Dan Williams  <dcbw@redhat.com>
15649
15650         * gnome/applet/applet-dbus-info.c
15651                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15652                         from the dbus message, which tells us to unconditionally
15653                         ask the user for a new key.  Otherwise, we pull the key from
15654                         the keyring and return it.  If we fail to get the key from the
15655                         keyring, we ask the user for a new key.
15656                 - (nmi_dbus_get_network_key): new function to grab the key for
15657                         an essid from the keyring.
15658                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15659                         Also, don't return any key in the dbus message.
15660
15661         * src/NetworkManagerDbus.[ch]
15662                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15663                         indicate that we unconditionally want a new key.  This function
15664                         is now also used to get keys from the info-daemon which are
15665                         pre-stored, not just for asking the user for a new key.  The
15666                         "new_key" parameter indicates whether or not we wish to ask the
15667                         user for a new key.
15668                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15669                         info-daemon in the return message, so use NULL instead.  The
15670                         key will be filled in at connect time by calling
15671                         nm_dbus_get_user_key_for_network()
15672
15673         * src/NetworkManagerDevice.c
15674                 - (nm_device_wireless_configure): update for "new_key" param to
15675                         nm_dbus_get_user_key_for_network().  We initially set new_key
15676                         to FALSE to see if we have a stored key in the info-daemon, but
15677                         if the connection is unsuccessful at this stage we request a
15678                         new one
15679
15680 2005-08-17  Dan Williams  <dcbw@redhat.com>
15681
15682         * gnome/applet/icons/nm-no-connection.png
15683           gnome/applet/icons/nm-device-wired.png
15684                 - Use Diana's new RJ45 connector icons
15685
15686 2005-08-17  Dan Williams  <dcbw@redhat.com>
15687
15688         * src/NetworkManagerPolicy.c
15689                 - (nm_policy_device_change_check): clarify switching rules if
15690                         both new and old devices are valid; mainly, don't switch
15691                         away from user-requested wireless connection back to a wired
15692                         one
15693
15694 2005-08-17  Dan Williams  <dcbw@redhat.com>
15695
15696         * gnome/applet/Makefile.am
15697                 - Relocate the applet to /usr/bin since it is no longer
15698                         executed by anything, but directly by the user
15699
15700 2005-08-17  Dan Williams  <dcbw@redhat.com>
15701
15702         Patch from Bill Moss <bmoss@clemson.edu>
15703
15704         * gnome/applet/applet-dbus-info.[ch]
15705                 - (nmi_save_network_info): save timestamp for network if it
15706                         was a change requested by the user
15707                 - (nmi_dbus_update_network_info): get user_requested from dbus
15708                         message and pass to nmi_save_network_info()
15709
15710         * gnome/applet/applet.c
15711                 - (nmwa_update_network_timestamp): remove
15712                 - (nmwa_menu_item_activate): don't set timestamp on networks
15713                         here, only after a successful connect in nmi_save_network_info()
15714
15715         * src/NetworkManagerDbus.[ch]
15716                 - (nm_dbus_update_network_info): pass user_requested into the 
15717                         dbus message
15718
15719         * src/NetworkManagerPolicy.c
15720                 - (nm_policy_activation_finish): pass user_requested to
15721                         nm_dbus_update_network_info()
15722
15723 2005-08-16  Robert Love  <rml@novell.com>
15724
15725         * gnome/applet/applet.c: Better "Dial Up" menu item.
15726
15727 2005-08-16  Robert Love  <rml@novell.com>
15728
15729         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15730           "Connection Information" menu item.
15731
15732 2005-08-16  Dan Williams  <dcbw@redhat.com>
15733
15734         Patch from j@bootlab.org
15735         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15736
15737         * configure.in: allow specifying the path to dhcdbd
15738
15739 2005-08-16  Robert Love  <rml@novell.com>
15740
15741         Patch from j@bootlab.org
15742         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15743           src/backends/interface_parser.h: Debian dialup support.
15744
15745 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15746
15747         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15748         * gnome/applet/applet.c: Add some mnemonics for VPNC
15749
15750         * vpn-daemons/.cvsignore: fix this up a little bit
15751
15752 2005-08-16  Robert Love  <rml@novell.com>
15753
15754         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15755           support.
15756
15757 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15758
15759         * gnome/applet/applet.c: Split markup out of translatable strings
15760         and clean up logic a little bit.  (fixes #309012)
15761
15762 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15763
15764         * gnome/vpn-properties/nm-vpn-properties.c:
15765         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15766         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15767         Makeshift fix to remove newlines from translatable strings.
15768         Note that we now return an allocated string, so callers of
15769         get_confirmation_details () must now call g_free () on the
15770         result. (fixes #309033).
15771
15772 2005-08-12  Robert Love  <rml@novell.com>
15773
15774         * gnome/applet/applet-dbus.c: remove newlines from translatable
15775           strings--not needed here anyway. (fix b.g.o #309011)
15776         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15777
15778 2005-08-11  Robert Love  <rml@novell.com>
15779
15780         * gnome/applet/applet.c: mark string as translatable.
15781
15782 2005-08-11  Robert Love  <rml@novell.com>
15783
15784         * initscript/SUSE/networkmanager: update.
15785
15786 2005-08-11  Dan Williams  <dcbw@redhat.com>
15787
15788         * src/nm-dhcp-manager.c
15789                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15790                         an gateway returned from DHCP, try to use the address of the DHCP
15791                         server as the gateway instead.  Found by Ralf Ertzinger.
15792
15793 2005-08-10  Robert Love  <rml@novell.com>
15794
15795         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15796           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15797
15798 2005-08-10  Dan Williams  <dcbw@redhat.com>
15799
15800         Patch from Bill Moss <bmoss@clemson.edu>
15801         * Consolidate writes of access point information updates to the info daemon
15802                 so that we only do it when the connection to the access point was
15803                 successful.  Also consolidates updates to GConf in the Gnome applet.
15804
15805         * src/nm-netlink-monitor.c
15806                 - Silence compile warning when calling g_object_new()
15807
15808 2005-08-08  Dan Williams  <dcbw@redhat.com>
15809
15810         Patch from Steev <steev@steev.net>:
15811         * src/backends/NetworkManagerGentoo.c
15812                 - Stub new dialup backend functions
15813
15814 2005-08-08  Dan Williams  <dcbw@redhat.com>
15815
15816         Patch from Colin Slater:
15817         * src/backends/NetworkManagerGentoo.c
15818                 - (nm_system_update_dns): Fix exit status check for restarting
15819                         nscd
15820
15821 2005-08-05  Robert Love  <rml@novell.com>
15822
15823         * NetworkManager.h,
15824           gnome/applet/applet-dbus-devices.c,
15825           gnome/applet/applet-dbus-devices.h,
15826           gnome/applet/applet-dbus.c,
15827           gnome/applet/applet.c,
15828           gnome/applet/applet.h,
15829           src/NetworkManager.c,
15830           src/NetworkManagerMain.h,
15831           src/NetworkManagerSystem.h,
15832           src/backends/NetworkManagerRedHat.c,
15833           src/backends/NetworkManagerSuSE.c,
15834           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15835
15836 2005-08-05  Robert Love  <rml@novell.com>
15837
15838         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15839           machine's hostname to make adhoc creation idiot-proof.
15840
15841 2005-08-04  Robert Love  <rml@novell.com>
15842
15843         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15844           freed.
15845
15846 2005-08-04  Dan Williams  <dcbw@redhat.com>
15847
15848         * gnome/applet/applet-dbus-info.c
15849           gnome/applet/applet-dbus-info.h
15850                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15851                         to store key, key type, and auth method rather than just auth method
15852                 - (nmi_dbus_update_network_info): new function
15853                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15854
15855         * gnome/applet/passphrase-dialog.c
15856                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15857                         of saving the info ourselves
15858
15859         * gnome/libnm_glib/libnm_glib.c
15860                 - Remove the stupid version check for dbus
15861
15862         * src/NetworkManagerAP.c
15863           src/NetworkManagerAP.h
15864                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15865
15866         * src/NetworkManagerDbus.c
15867           src/NetworkManagerDbus.h
15868                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15869                         more than just the auth method
15870
15871         * src/NetworkManagerDevice.c
15872                 - Update network info at the appropriate times
15873
15874 2005-07-29  Ray Strode  <rstrode@redhat.com>
15875
15876         * src/NetworkManager.c (nm_info_handler): don't use input as format
15877         string (Spotted by Ian Jackson).
15878
15879 2005-07-27  Dan Williams  <dcbw@redhat.com>
15880
15881         * src/nm-dbus-nm.c
15882           src/nm-dbus-net.c
15883                 - Random cleanups of spacing
15884
15885         * gnome/applet/applet.h
15886           gnome/applet/other-network-dialog.c
15887           gnome/applet/passphrase-dialog.c
15888                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15889
15890         Patch from Bill Moss:
15891                 - Make Other Wireless Networks work again with encryption keys
15892
15893 2005-07-26  Dan Williams  <dcbw@redhat.com>
15894
15895         Patch from Steev <steev@steev.net>:
15896         * src/backends/NetworkManagerGentoo.c
15897           src/backends/Makefile.am
15898                 - Fix up Gentoo backend
15899
15900 2005-07-26  Robert Love  <rml@novell.com>
15901
15902         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15903
15904 2005-07-25  Robert Love  <rml@novell.com>
15905
15906         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15907           in the same group as the wireless networks, since they are all
15908           mutually exclusive.
15909
15910 2005-07-24  Ray Strode  <rstrode@redhat.com>
15911
15912         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15913         remove unneeded NULL arg from g_object_new().  Any
15914         warnings caused by not having the extra NULL are just a
15915         result of a bug in glib 2.7.0 - 2.7.2.
15916
15917 2005-07-22  Robert Love  <rml@novell.com>
15918
15919         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15920
15921 2005-07-22  Robert Love  <rml@novell.com>
15922
15923         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15924           parameters (gcc 4.0.2 warning fix).
15925
15926 2005-07-18  Robert Love  <rml@novell.com>
15927
15928         Suggested by Aaron Bockover (abockover@novell.com)
15929         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15930           s/Ascii/ASCII
15931         * gnome/applet/passphrase-dialog.c: ditto
15932         * gnome/applet/wireless-applet.glade: ditto
15933
15934 2005-07-13  Dan Williams  <dcbw@redhat.com>
15935
15936         Patch from Ray Strode <halfline@gmail.com>
15937         * vpn-daemons/vpnc/nm-vpnc-service.c
15938                 - Don't let vpnc daemonize, fixes some races with PID file reading
15939
15940 2005-07-13  Dan Williams  <dcbw@redhat.com>
15941
15942         Patch from Ray Strode <halfline@gmail.com>
15943         * Random cleanups for strict CFLAGS
15944
15945 2005-07-07  Dan Williams  <dcbw@redhat.com>
15946
15947         Patch from Derek Atkins <warlord@MIT.EDU>
15948         * src/nm-dbus-net.c:
15949                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15950
15951 2005-07-07  Dan Williams  <dcbw@redhat.com>
15952
15953         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15954         * src/backends/NetworkManagerGentoo.c
15955                 - Gentoo backend Static IP nameserver fixes
15956                 - General Gentoo backend goodness
15957
15958 2005-07-07  Dan Williams  <dcbw@redhat.com>
15959
15960         Patch from Bastien Nocera:
15961         * gnome/applet/applet.c
15962                 - Fix up error reporting when icons or glade files are missing
15963
15964 2005-07-07  Robert Love  <rml@novell.com>
15965
15966         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
15967           are not any VPN connections above it.
15968
15969 2005-07-07  Robert Love  <rml@novell.com>
15970
15971         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
15972
15973 2005-07-05  Robert Love  <rml@novell.com>
15974
15975         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
15976           zero.
15977
15978 2005-07-05  Robert Love  <rml@novell.com>
15979
15980         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
15981           on wired or unencrypted wireless.
15982
15983 2005-07-01  Robert Love  <rml@novell.com>
15984
15985         * src/NetworkManagerSystem.c: Print the error via strerror().
15986
15987 2005-06-30  Robert Love  <rml@novell.com>
15988
15989         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
15990           then exit if the glade file is not found.  currently the application
15991           just hangs.
15992
15993 2005-06-30  Robert Love  <rml@novell.com>
15994
15995         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
15996           explicitly up all interfaces on wake from sleep.
15997
15998 2005-06-30  Robert Love  <rml@novell.com>
15999
16000         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
16001           with information about the currently active connection.
16002         * gnome/applet/applet.h: (ditto)
16003         * gnome/applet/wireless-applet.glade: (ditto), new file
16004
16005 2005-06-30  Robert Love  <rml@novell.com>
16006
16007         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
16008         * src/nm-dbus-nm.c: print when we sleep and wake up.
16009         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
16010         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
16011           in /sbin unless D-BUS is, folks).
16012         * README: update to reflect nm-applet replacing NetworkManagerInfo.
16013
16014 2005-06-27  Robert Love  <rml@novell.com>
16015
16016         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
16017           case.
16018
16019 2005-06-27  Robert Love  <rml@novell.com>
16020
16021         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
16022           items radios.
16023
16024 2005-06-26  Robert Love  <rml@novell.com>
16025
16026         * src/NetworkManagerDevice.c: be specific about which device in
16027           nm_info() message.
16028
16029 2005-06-23  Adam Weinberger  <adamw@gnome.org>
16030
16031         * src/nm-netlink-monitor.c: correct spelling error.
16032
16033 2005-06-23  Robert Love  <rml@novell.com>
16034
16035         * gnome/applet/applet-dbus-info.c: gnome keyring support!
16036         * gnome/applet/passphrase-dialog.c: more of that keyring!
16037
16038 2005-06-23  Robert Love  <rml@novell.com>
16039
16040         * configure.in: remove extraneous GNOMEKEYRING directives.
16041         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
16042         * gnome/applet/applet.c: nmwa_icons_init: make style local.
16043         * gnome/applet/passphrase-dialog.c: whitespace.
16044
16045 2005-06-23  Robert Love  <rml@novell.com>
16046
16047         * src/NetworkManagerDevice.c: division in assignment was flipped.
16048
16049 2005-06-23  David Zeuthen  <david@fubar.dk>
16050
16051         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
16052         signal to the child to indicate that we got what we wanted when we
16053         see two new-lines right after each other.
16054         (nmwa_vpn_request_password): Pass a structure with several members
16055         instead of just the passwords
16056
16057 2005-06-23  Dan Williams <dcbw@redhat.com>
16058
16059         * src/NetworkManager.c
16060           src/NetworkManagerMain.h
16061                 - (nm_get_hal_ctx): new function, move Hal initialization code here
16062                 - (nm_hal_init): new function, init libhal context then add devices
16063                 - (nm_hal_deinit): new function, clean up libhal context
16064                 - (nm_data_free): Move Hal cleanup here
16065                 - (main): check whether Hal is running, and if so, get a list of
16066                         network devices from it
16067
16068         * src/NetworkManagerDbus.c
16069                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
16070                         and when it appears, get a list of network devices from it.  If
16071                         Hal goes away, clean up the libhal context
16072
16073 2005-06-22  Robert Love  <rml@novell.com>
16074
16075         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
16076           permissions of scripts before executing.
16077
16078 2005-06-21  Robert Love  <rml@novell.com>
16079
16080         * initscript/SUSE/networkmanager: update.
16081         * src/backends/NetworkManagerSuSE.c: cleanup.
16082
16083 2005-06-21  Robert Love <rml@novell.com>
16084
16085         * gnome/applet/applet.c: use menu mnemonics.
16086         * gnome/applet/menu-items.c: (ditto)
16087
16088 2005-06-21  Robert Love  <rml@novell.com>
16089
16090         * applet/applet-dbus-devices.c: mark non-static functions static.
16091         * applet/applet-dbus-vpn.c: (ditto)
16092         * applet/applet.c: (ditto)
16093         * applet/nm-device.h: (ditto)
16094         * applet/other-network-dialog.c: (ditto)
16095         * applet/passphrase-dialog.c: (ditto)
16096         * NetworkManager.c: (ditto)
16097         * NetworkManagerDbus.c: (ditto)
16098         * NetworkManagerDevice.c: (ditto)
16099         * NetworkManagerPolicy.c: (ditto)
16100         * NetworkManagerUtils.c: (ditto)
16101         * NetworkManagerWireless.c: (ditto)
16102         * NetworkManagerWireless.h: (ditto)
16103         * nm-netlink-monitor.c: (ditto)
16104         * applet/applet-dbus-info.c: (ditto), add FIXME's.
16105         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
16106         * autoip.c: include autoip.h.
16107         * autoip.h: new file.  define get_autoip().
16108         * nm-netlink-monitor.h: define nm_netlink_close_connection().
16109         * NetworkManagerDbus.h: remove duplicate definitions.
16110
16111 2005-06-20  Robert Love  <rml@novell.com>
16112
16113         * Makefile.am: Add missing intltool-foo.in generated files to
16114           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
16115           with the start of stuff to cleanup on 'distclea'.
16116         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
16117           stuff right and 'distcheck' works.
16118         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
16119           we keep it, we need to add all of examples/* to EXTRA_DIST and do
16120           Makefile.am for each.  And systray/Makefile needs to be redone.
16121
16122 2005-06-19  Dan Williams <dcbw@redhat.com>
16123
16124         * src/NetworkManagerDevice.c
16125         - (nm_device_wireless_process_scan_results): scan every 20s when
16126           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
16127
16128 2005-06-19  Dan Williams <dcbw@redhat.com>
16129
16130         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
16131
16132 2005-06-18  Ray Strode <rstrode@redhat.com>
16133
16134         * src/nm-netlink-monitor.c 
16135         (nm_netlink_monitor_event_handler): check for the presence
16136         of either error condition not both. 
16137         
16138         (nm_netlink_monitor_error_handler): emit error signal if
16139         error occurs.
16140
16141         (nm_netlink_monitor_event_handler),
16142         (nm_netlink_monitor_error_handler),
16143         (nm_netlink_monitor_disconnect_handler): if an 
16144         assertion fails disconnect the event handler to prevent 
16145         infinite loops.
16146
16147         * src/nm-netlink-monitor.h: add new error condition
16148         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16149
16150 2005-06-18  Ray Strode <rstrode@redhat.com>
16151
16152         * src/nm-netlink-monitor.c 
16153         (nm_netlink_monitor_event_handler): remove bogus < 0
16154         check on unsigned value and return early if the kernel
16155         didn't send any bytes.
16156
16157 2005-06-17  Robert Love  <rml@novell.com>
16158
16159         * initscript/SUSE/networkmanager: Change the Provides and default
16160         run levels
16161
16162 2005-06-16  Dan Williams <dcbw@redhat.com>
16163
16164         Patch from Robert Love:
16165         * gnome/applet/applet.c
16166                 - Beautify some applet menu item names
16167
16168 2005-06-17  David Zeuthen  <davidz@redhat.com>
16169
16170         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16171         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16172         Also add new methods can_export, import_file and export.
16173
16174         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16175         to the main UI
16176
16177         * gnome/vpn-properties/nm-vpn-properties.c:
16178         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16179         nm-vpn-ui-interface.h.
16180         (update_edit_del_sensitivity): Also update "Export" sensitivity
16181         (add_vpn_connection): Also add new SVC_NAME column
16182         (import_settings): New function
16183         (retrieve_data_from_selected_connection): New function
16184         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16185         this function
16186         (export_cb): New function
16187         (init_app): Also setup the "export" widget
16188         (main): Support the --import-service and --import-file commandline
16189         arguments
16190
16191         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16192         D-BUS 0.34
16193
16194 2005-06-16  Dan Williams <dcbw@redhat.com>
16195
16196         Patch from Robert Love:
16197         * gnome/applet/menu-items.c
16198                 - (network_menu_item_new): pass -1 as wireless network
16199                         menu items height size request rather than ascent / 2
16200
16201 2005-06-16  Dan Williams <dcbw@redhat.com>
16202
16203         * Clean up wording in Wireless Scan Methods menu items and constants
16204
16205 2005-06-16  Robert Love  <rml@novell.com>
16206
16207         * po/POTFILES.in
16208                 - remove gtkcell* files
16209
16210 2005-06-15  Dan Williams <dcbw@redhat.com>
16211
16212         Patch from Robert Love: make the applet stetic
16213
16214         * gnome/applet/Makefile.am
16215                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16216
16217         * gnome/applet/gtkcellview.h
16218           gnome/applet/gtkcellview.c
16219           gnome/applet/gtkcellrendererprogress.h
16220           gnome/applet/gtkcellrendererprogress.c
16221                 - Removed
16222
16223         * gnome/applet/menu-items.c
16224                 - Progress bars are 5:1 size ratio
16225                 - Use GTK progress bars rather than internal ones
16226
16227 2005-06-15  Dan Williams <dcbw@redhat.com>
16228
16229         Patch from Robert Love:
16230         * initscript/SUSE/networkmanager
16231                 - Fix typo
16232
16233 2005-06-15  Dan Williams <dcbw@redhat.com>
16234
16235         * src/backends/NetworkManagerSuSE.c
16236           src/backends/NetworkManagerRedHat.c
16237           src/backends/NetworkManagerDebian.c
16238                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16239
16240 2005-06-15  Dan Williams <dcbw@redhat.com>
16241
16242         * src/backends/NetworkManagerDebian.c
16243                 - Add nm_system_device_get_use_dhcp() to debian backend
16244
16245         Patch from Kay Sievers:
16246         * src/backends/NetworkManagerSuSE.c
16247                 - Update debian backend for static IP nameservers
16248
16249         * src/NetworkManagerDevice.c
16250                 - Actually set the device to use static IP or DHCP rather
16251                         than always DHCP
16252
16253 2005-06-15  Dan Williams <dcbw@redhat.com>
16254
16255         Patch from Thom May:
16256         * src/backends/NetworkManagerDebian.c
16257                 - Update debian backend for static IP nameservers
16258
16259 2005-06-15  Dan Williams <dcbw@redhat.com>
16260
16261         Patches from Robert Love:
16262         * gnome/applet/wireless-applet.glade
16263                 - Tighten up wording
16264
16265         * src/NetworkManagerDevice.c
16266                 - Remove misplaced ';'
16267
16268         * configure.in
16269           initscript/Makefile.am
16270           initscript/SUSE/Makefile.am
16271           initscript/SUSE/networkmanager
16272                 - Add SUSE initscript
16273
16274 2005-06-12  David Zeuthen  <davidz@redhat.com>
16275
16276         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16277
16278         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16279
16280         * gnome/vpn-properties/nm-vpn-properties.c: New file
16281
16282         * gnome/vpn-properties/Makefile.am: New file
16283
16284         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16285         array of passwords
16286
16287         * src/vpn-manager/nm-vpn-manager.c
16288         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16289         instead of just a single one
16290
16291         * src/vpn-manager/nm-dbus-vpn.c:
16292         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16293         here
16294         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16295
16296         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16297         Change the interface here to give a list of passwords. Also, don't
16298         require username, but do require service
16299
16300         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16301         the binary for the auth-dialog and use that instead of putting up a
16302         dialog asking for a single password
16303
16304         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16305         however do remember the service
16306
16307         * gnome/applet/main.c (main): Setup i18n
16308
16309         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16310         connection to '%s'" to the tooltip if we are connected using VPN
16311         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16312         key to determine whether we the auth-dialog needs to
16313         reprompt. Also cope with the fact that the auth-dialog now returns
16314         an array of passwords.
16315         (nmwa_menu_configure_vpn_item_activate): New handler for
16316         "Configure VPN..." menu item
16317         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16318         (is_vpn_available): New function to determine if we got any
16319         NM-compatible VPN software installed
16320         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16321         items only if we have NM-compatible VPN software installed
16322         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16323         logic for detecting when VPN connections are removed
16324
16325         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16326         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16327         since these are defined elsewhere
16328
16329         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16330         function used to keep track of whether the last attempt succeded
16331         (nmwa_dbus_filter): Update last_attempt according to whether the
16332         VPN connection could be established or not
16333
16334         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16335         Change prototype to take an array of passwords, not just a single
16336         password
16337
16338         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16339         update service, not user
16340         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16341         dbus_active_vpn_name is not NULL before using it
16342         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16343         string array instead of assuming a single password
16344
16345         * gnome/applet/applet-dbus-info.c:
16346         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16347         user name; don't read from gconf
16348
16349         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16350         VPN_NAME_FILES_DIR
16351
16352         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16353
16354         * configure.in: Add checks for gmodule-2.0.
16355         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16356         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16357         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16358         for details
16359
16360         * vpn-daemons/Makefile.am: Removed
16361
16362         * vpn-daemons/README: New file to describe extensions points for VPN
16363         software
16364
16365 2005-06-10  Dan Williams <dcbw@redhat.com>
16366
16367         * src/backends/NetworkManagerRedHat.c
16368                 - (get_current_profile_name): new function, grab current network profile name from
16369                         /etc/sysconfig/network
16370                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16371                         update an IP4 Config structure's settings from it
16372                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16373                         get DNS info from current network profile
16374
16375 2005-06-09  Dan Williams <dcbw@redhat.com>
16376
16377         Patch from Robert Love:
16378         * src/NetworkManagerDevice.c
16379           src/NetworkManagerUtils.c
16380                 - 64-bit build fixes
16381
16382 2005-06-09  Dan Williams <dcbw@redhat.com>
16383
16384         Patch from Kay Sievers and Robert Love:
16385         * configure.in
16386           src/backends/Makefile.am
16387           src/backends/NetworkManagerSuSE.c
16388                 - Add SuSE support
16389
16390 2005-06-09  Dan Williams <dcbw@redhat.com>
16391
16392         * NetworkManager.h
16393                 - Add NMWirelessScanMethod enum for scan methods
16394
16395         * gnome/applet/applet-dbus-devices.c
16396                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16397                 - (nmwa_dbus_update_scanning_enabled): remove
16398                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16399                         since it got removed
16400                 - (nmwa_dbus_enable_scanning): remove
16401
16402         * gnome/applet/applet-dbus-info.c
16403                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16404                         update the wireless scanning method from NMI
16405                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16406                         method value to NetworkManager
16407                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16408
16409         * gnome/applet/applet-dbus-info.h
16410                 - Add prototype for nmi_dbus_signal_update_scan_method
16411
16412         * gnome/applet/applet.c
16413                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16414                         Wireless Scanning menu based on current wireless scan method
16415                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16416                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16417                         and update our menu items to make sure the right one is checked
16418                 - (nmwa_set_scanning_enabled_cb): remove
16419                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16420                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16421                         Scanning menu item
16422                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16423                         from GConf
16424                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16425                         so we get notified of preference values too
16426                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16427
16428         * gnome/applet/applet.h
16429                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16430                 - Add wireless scan method member to applet data
16431                 - Remove pause_scanning_item, add Wireless Scanning submenu
16432
16433         * src/NetworkManager.c
16434                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16435                 - (main): grab scanning method from NMI if we can
16436
16437         * src/NetworkManagerDbus.c
16438                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16439                         nm_dbus_update_wireless_scan_method()
16440                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16441                         from NMI
16442                 - (nm_dbus_nmi_is_running): redundant function, removed
16443                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16444                         when NMI comes back
16445
16446         * src/NetworkManagerDevice.c
16447                 - (nm_device_is_activated): return TRUE if the device is activated
16448                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16449                         and we are activated
16450
16451         * src/nm-dbus-nm.c
16452                 - (nm_dbus_nm_set_scanning_enabled): removed
16453                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16454                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16455
16456 2005-06-09  Dan Williams <dcbw@redhat.com>
16457
16458         * NetworkManager.h
16459           src/vpn-manager/nm-vpn-service.c
16460                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16461
16462 2005-05-27  Dan Williams <dcbw@redhat.com>
16463
16464         * vpn-daemons/vpnc/nm-vpnc-service.c
16465                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16466                         Should fix the bug where the VPN connection terminates the first time.
16467
16468 2005-05-20  Dan Williams <dcbw@redhat.com>
16469
16470         * NetworkManager.h
16471                 - Differentiate VPN config signals between bad VPN config options
16472                         and bad IP config
16473
16474         * gnome/applet/applet-dbus-info.h
16475                 - Add prototypes for wireless network and vpn connection update functions
16476
16477         * gnome/applet/applet-dbus.c
16478                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16479
16480         * gnome/applet/applet.c
16481                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16482                         error signals
16483                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16484                         propogation to NetworkManager
16485                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16486                         notify propogation to NetworkManager
16487
16488         * src/NetworkManagerDbus.c
16489                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16490                         are updating so a network can be removed from it if necessary
16491
16492         * src/vpn-manager/nm-vpn-manager.c
16493                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16494
16495         * vpn-daemons/vpnc/nm-vpnc-service.c
16496                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16497                 - (nm_vpnc_dbus_signal_launch_failed): remove
16498                 - (nm_vpnc_dbus_signal_connect_failed): remove
16499                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16500                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16501                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16502                         for new generalized error signal function, remove config file stuff
16503                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16504                         we can write configuration options to it
16505                 - (nm_vpnc_config_file_generate): removed
16506                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16507                 - (nm_vpnc_config_options_validate): validate the config options we receive
16508                         from NetworkManager to block potential exploits
16509                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16510                         starting vpnc
16511                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16512                         to NetworkManager
16513
16514 2005-05-16  Dan Williams  <dcbw@redhat.com>
16515
16516         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16517                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16518                         is not "connect"
16519
16520 2005-05-16  Dan Williams  <dcbw@redhat.com>
16521
16522         Patch from Tomislav Vujec <tvujec@redhat.com>
16523         * gnome/applet/applet-dbus-info.c
16524                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16525                         GConf and pass them to NetworkManager.  New key is 'routes' under
16526                         the VPN connection, and should be a string list
16527
16528         * src/NetworkManagerSystem.c
16529                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16530                         set them on the device when we set the rest of the VPN config.  Ensure
16531                         they are in the correct format since they are passed directly to the
16532                         command line.
16533
16534         * src/backends/NetworkManagerRedHat.c
16535           src/backends/NetworkManagerDebian.c
16536                 - (nm_system_device_add_route_via_device_with_iface): new function
16537
16538         * src/vpn-manager/nm-dbus-vpn.c
16539                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16540
16541         * src/vpn-manager/nm-vpn-manager.c
16542                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16543                         them into the IP4 config functions
16544
16545 2005-05-15  Dan Williams  <dcbw@redhat.com>
16546
16547         From Filip Miletic:
16548         * po/sr.po
16549           po/sr@Latn.po
16550           configure.in
16551                 - Serbian translation added
16552
16553 2005-05-15  Dan Williams  <dcbw@redhat.com>
16554
16555         * dispatcher-daemon/NetworkManagerDispatcher.c
16556                 - (main): sync arguments with NetworkManager and the applet, now use
16557                         "--no-daemon" rather than "daemon=no"
16558                 - (nmd_print_usage): Fix script path in usage message
16559
16560 2005-05-15  Dan Williams  <dcbw@redhat.com>
16561
16562         * src/NetworkManagerDevice.[ch]
16563           src/NetworkManagerPolicy.c
16564           src/NetworkManager.c
16565           src/nm-dbus-nm.c
16566                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16567                         longer send the DeviceNoLongerActive signal unconditionally, but only
16568                         when the device is actually active.
16569
16570         * dispatcher-daemon/NetworkManagerDispatcher.c
16571                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16572                         and simplify the logic
16573                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16574                         we free it later on
16575
16576         * initscript/RedHat/Makefile.am
16577           initscript/RedHat/NetworkManagerDispatcher
16578                 - Add initscript for NetworkManagerDispatcher
16579
16580
16581         Patch from Bill Moss:
16582         * dispatcher-daemon/NetworkManagerDispatcher.c
16583                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16584
16585         * src/NetworkManagerDbus.c
16586                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16587                         and DeviceNowActive gets signaled, then the device has a new IP address
16588                         anyway.  There's no need for a separate signal.
16589
16590         * src/NetworkManagerDevice.c
16591                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16592
16593         * src/NetworkManagerPolicy.c
16594                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16595                         activates successfully.  This kind of went missing when I reworked the
16596                         activation code.
16597
16598 2005-05-15  Dan Williams  <dcbw@redhat.com>
16599
16600         * configure.in
16601                 - Check for dhcdbd and error if its not found
16602
16603         * src/dhcp-manager/Makefile.am
16604           src/dhcp-manager/nm-dhcp-manager.c
16605                 - Use path to dhcdbd that configure found
16606
16607 2005-05-14  Dan Williams  <dcbw@redhat.com>
16608
16609         * gnome/applet/nm-device.c
16610                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16611                         sort wireless networks alphabetically
16612
16613         * gnome/applet/applet-dbus-devices.c
16614                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16615                         before copying them over to the GUI
16616
16617 2005-05-14  Dan Williams  <dcbw@redhat.com>
16618
16619         * src/NetworkManager.c
16620                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16621                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16622                         the device list, as does nm_get_active_device() which is called from
16623                         nm_vpn_manager_deactivate_vpn_connection().
16624
16625 2005-05-14  Dan Williams  <dcbw@redhat.com>
16626
16627         * NetworkManager.h
16628                 - Add signals for VPN Launch and Connect failures
16629
16630         * gnome/applet/applet-dbus.c
16631                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16632
16633         * gnome/applet/applet.c
16634                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16635                         function to handle all VPN failure messages
16636                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16637                         function to hanlde all VPN failure  messages
16638                 - (show_warning_dialog): work around focus-stealing prevention
16639
16640         * gnome/applet/other-network-dialog.c
16641           gnome/applet/passphrase-dialog.c
16642                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16643                         problem where it never enabled for ASCII Key and Hex Key types
16644
16645         * gnome/applet/wireless-applet.glade
16646                 - Add window title to Other Wireless Network Dialog
16647
16648         * src/vpn-manager/nm-dbus-vpn.c
16649                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16650                         function to handle all VPN failure messages
16651
16652         * src/vpn-manager/nm-vpn-manager.c
16653                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16654
16655         * vpn-daemons/vpnc/nm-vpnc-service.c
16656                 - (nm_vpnc_dbus_signal_launch_failed): new function
16657                 - (nm_vpnc_dbus_signal_connect_failed): new function
16658                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16659                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16660                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16661                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16662
16663 2005-05-11  Dan Williams  <dcbw@redhat.com>
16664
16665         * vpn-daemons/vpnc/nm-vpnc-service.c
16666                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16667                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16668                         file exists before trying to write it out.
16669
16670 2005-05-10  Dan Williams  <dcbw@redhat.com>
16671
16672     * gnome/applet/applet-dbus-device.c
16673         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16674             prevented just entering ESSID and leaving key and key type up to
16675             NetworkManager (which should have them already cached)
16676
16677 2005-05-08  Dan Williams  <dcbw@redhat.com>
16678
16679         * src/NetworkManagerPolicy.c
16680                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16681                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16682                         fix a situation where NM is told to terminate and the device stops activation,
16683                         but the main thread isn't aware of that because it would never have run
16684                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16685                         had already quit.
16686
16687         * src/NetworkManagerDevice.c
16688                 - (nm_device_probe_wired_link_state): cosmetic fixes
16689                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16690                         we've failed to activate or been canceled.
16691                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16692
16693 2005-05-08  Dan Williams  <dcbw@redhat.com>
16694
16695         * src/NetworkManagerWireless.c
16696                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16697                         value of WEXT quality structures, and add a debug message when we cannot
16698                         determine any quality % at all
16699
16700 2005-05-08  Dan Williams  <dcbw@redhat.com>
16701
16702         * src/dhcp-manager/nm-dhcp-manager.c
16703                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16704                         it goes down.
16705
16706 2005-05-06  Dan Williams  <dcbw@redhat.com>
16707
16708         * gnome/applet/applet-dbus-device.c
16709           gnome/applet/applet-dbus-info.c
16710           gnome/applet/applet-dbus.c
16711           gnome/applet/applet.c
16712           gnome/applet/applet.h
16713                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16714
16715         * gnome/applet/applet-dbus.c
16716                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16717                         so we notice when wired device's carriers come back on.  Should
16718                         fix issue with wired devices being grayed out even if the cable
16719                         is in, for devices that support carrier detection.
16720
16721         * gnome/applet/applet.c
16722                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16723                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16724                         tooltip message
16725                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16726                         Fix situation where applet wouldn't respond to menu selections
16727
16728         * src/NetworkManager.c
16729           src/NetworkManagerDevice.c
16730           src/NetworkManagerDbus.c
16731           src/NetworkManagerDbus.h
16732                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16733
16734         * src/NetworkManagerDbus.c
16735                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16736                         Remove, no longer used or relevant
16737                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16738                 - (nm_dbus_schedule_device_status_change_signal): add
16739
16740         * src/NetworkManagerDevice.c
16741                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16742                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16743                         ie don't deactivate them unless explicitly told to by the user.  Also send
16744                         CARRIER_OFF / CARRIER_ON signals when link changes
16745                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16746                         Don't print error message when device is no longer around
16747                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16748                         not just during activation
16749
16750         * src/NetworkManagerPolicy.c
16751                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16752                         auto-device-selection.
16753                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16754
16755         * src/NetworkManagerSystem.c
16756                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16757                         is no longer present (Bill Moss)
16758
16759         * src/backends/shvar.c
16760                 - (svOpenFile): Open read-only to make SELinux happy
16761
16762         * src/backends/NetworkManagerRedHat.c
16763                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16764                         the path to the ifcfg-* files
16765
16766 2005-05-05  Dan Williams  <dcbw@redhat.com>
16767
16768         * Expose activation stages to NetworkManager clients, like the applet
16769         * Add Diana's progress icons to the applet, cued off NM activation stage
16770         * Use more descriptive tooltips, cued off NM activation stage
16771
16772 2005-05-05  Ray Strode  <rstrode@redhat.com>
16773
16774         * src/nm-netlink-monitor.c:
16775                 - Use clear_event_source instead of g_nullify_pointer() again.
16776
16777 2005-05-05  Dan Williams  <dcbw@redhat.com>
16778
16779         * gnome/applet/main.c
16780                 - Fix session management so the applet is actually managed now
16781
16782         * gnome/applet/passphrase-dialog.c
16783                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16784
16785 2005-05-05  Dan Williams  <dcbw@redhat.com>
16786
16787         Patch from Bill Moss:
16788         * gnome/libnm_glib/libnm_glib.c
16789                 - Fix for dbus-0.33
16790
16791 2005-05-05  Dan Williams  <dcbw@redhat.com>
16792
16793         Suggestion from Bill Moss:
16794         * src/NetworkManagerSystem.c
16795                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16796
16797
16798         * src/NetworkManager.c
16799                 - (nm_data_free): move destruction of the various managers after
16800                         release of device list, because deactivating and freeing a device
16801                         requires at least the named manager
16802                 - (nm_poll_and_update_wireless_link_state):
16803                   (nm_device_link_activated):
16804                   (nm_device_link_deactivated):
16805                         don't grab the device list lock when actually updating device
16806                         link status or strength, since nm_device_set_link_active()
16807                         needs to call nm_get_active_device(), which also locks the device list.
16808
16809         * src/NetworkManagerDevice.c
16810                 - (nm_device_set_link_active): if a device's link switches from off->on,
16811                         and it's wired, and the active device is wireless (or there is no
16812                         active device), activate the new device whose link just came on
16813                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16814                         my only calling the link to the current ap "failed" when more than 2
16815                         consecutive link checks have failed
16816
16817 2005-05-04  Dan Williams  <dcbw@redhat.com>
16818
16819         * src/NetworkManagerDevice.c
16820                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16821                         but let link_to_specific_ap() do the locking where it needs
16822
16823         Patch from Bill Moss:
16824         * src/NetworkManagerSystem.c
16825                 - Set MTU of VPN devices to 1412
16826
16827 2005-05-04  Dan Williams  <dcbw@redhat.com>
16828
16829         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16830
16831         * Fix some holes in device activation and retaining the currently connected
16832                 access point
16833
16834 2005-05-03  Dan Williams  <dcbw@redhat.com>
16835
16836         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16837           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16838           means you need dhcdbd, which you can get here (get the latest one):
16839
16840                 http://people.redhat.com/jvdias/dhcdbd/
16841
16842           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16843           interface as dhcdbd.
16844
16845         * Rewrite device activation to facilitate the new DHCP infrastructure and
16846           future improvements.  Its now "activation request" based, ie there is a single
16847           activation request composed of the device, access point, and other info which
16848           follows the entire activation process.  There are 5 stages of the activation
16849           process which correspond to:
16850
16851                 1) Device preparation
16852                 2) Device configuration (bring it up, set ESSID/Key/etc)
16853                 3) IP Config Start (fire off DHCP if we're using it)
16854                 4) IP Config Get (grab config from DHCP or static config files)
16855                 5) IP Config Commit (set device's IP address, DNS, etc)
16856
16857           Note that there is no longer a "scanning" step, since the access point must
16858           be known _before_ activation starts.  If the access point drops out or does
16859           not exist for some reason, the entire activation process fails and must be
16860           restarted for a different access point or device.
16861
16862         Patch from Bill Moss:
16863         * gnome/applet/applet.c
16864                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16865
16866 2005-04-27  Dan Williams  <dcbw@redhat.com>
16867
16868         * gnome/applet/applet-dbus-vpn.c
16869           gnome/applet/applet.c
16870           gnome/applet/applet.h
16871                 - Fix up active VPN handling so that we reliably know when a VPN
16872                         connection has been deactivated
16873
16874         * src/vpn-manager/nm-vpn-manager.c
16875                 - Remove duplicate VPNConnectionChange signal
16876
16877 2005-04-27  Dan Williams  <dcbw@redhat.com>
16878
16879         Patch from Peter Jones:
16880         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16881
16882         Patch from Bill Moss:
16883         * src/NetworkManagerSystem.c
16884                 - Fix checking of return value from ioctl()
16885
16886 2005-04-27  Dan Williams  <dcbw@redhat.com>
16887
16888         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16889         * Warn and exit if icons cannot be found
16890
16891 2005-04-27  Dan Williams  <dcbw@redhat.com>
16892
16893         Patch from Tom Parker:
16894         * Update debian backend
16895
16896 2005-04-27  Dan Williams  <dcbw@redhat.com>
16897
16898         * Merge the applet and the info-daemon, and move the converged
16899                 applet under gnome/applet
16900         * Move libnm_glib to gnome/libnm_glib
16901         * Convert most dbus calls between the applet, info-daemon, and NM
16902                 into async calls
16903         * Fix a few things valgrind noticed
16904         * Make NM broadcast state more reliably
16905
16906 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16907
16908         * configure.in: Added ne in ALL_LINGUAS
16909
16910 2005-04-15  Dan Williams  <dcbw@redhat.com>
16911
16912         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16913                 code for dbus 0.2x versions
16914
16915 2005-04-15  Dan Williams  <dcbw@redhat.com>
16916
16917         Patches from Tom Parker:
16918         - Fix memleaks
16919         - Join with worker thread rather than polling for its exit
16920
16921         Patch from Bill Moss:
16922         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16923
16924 2005-04-15  Dan Williams  <dcbw@redhat.com>
16925
16926         - Fixes to pass 'make distcheck'
16927
16928 2005-04-15  Dan Williams  <dcbw@redhat.com>
16929
16930         Initial VPN Support
16931                 - supports 'vpnc'
16932                 - reworks device IP configuration, backend files have changed and will need
16933                         to be updated for all distributions.  I will try to do what I can for
16934                         them, but I cannot test them.
16935
16936         - Move named directory to src/named-manager
16937         - Make backends directory self-contained
16938
16939 2005-04-06  Dan Williams  <dcbw@redhat.com>
16940
16941         Add debug code for socket/file descriptor leaks.  We register every socket
16942         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16943         list of sockets that we forgot to close on shutdown.  This also consolidates
16944         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16945
16946 2005-04-06  Dan Williams  <dcbw@redhat.com>
16947
16948         * dhcpcd/dhcpcd.c
16949                 - (dhcp_interface_free): fix a file descriptor leak that may have
16950                         caused network drivers to not unload due to refcounts > 0
16951
16952 2005-04-04  Dan Williams  <dcbw@redhat.com>
16953
16954         * panel-applet/NMWirelessAppletDbus.c
16955                 - (nmwa_dbus_call_nm_method): remove some commented code
16956
16957         * src/NetworkManagerAPList.[ch]
16958                 - (nm_ap_list_remove_ap_by_essid): new function
16959
16960         * src/NetworkManagerDevice.c
16961                 - (nm_device_wireless_force_use): remove access points from the ignore list
16962                         when the user forces them
16963
16964         * src/nm-dbus-device.c
16965                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
16966
16967 2005-04-04  Dan Williams  <dcbw@redhat.com>
16968
16969         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
16970
16971 2005-04-04  Dan Williams  <dcbw@redhat.com>
16972
16973         * src/NetworkManagerDevice.c:
16974                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
16975                         of only erroring after the second consecutive scan times out.  Also
16976                         don't exit when the card requires more time than we can give it, just
16977                         log the event and continue.
16978
16979 2005-04-01  Steve Murphy  <murf@e-tools.com>
16980
16981         * configure.in: Added "rw" to ALL_LINGUAS.
16982
16983 2005-04-01  Dan Williams <dcbw@redhat.com>
16984
16985         Perform scans during device activation, if needed.  Both activation 
16986         and scans run in the same GMainContext.  Therefore, if an access point
16987         is not found by the time the device starts activation, it will not
16988         be available until after activation.  We now try to scan during
16989         activation (in nm_wa_test) every 15s so that all available access
16990         points are more likely to be found and available for the activation
16991         procedure.
16992
16993         Also change nm_wireless_link_state_handle() to only update the "best"
16994         AP if we are not forcing a device and if we are not about to change
16995         state.  This attempts to work around a race when forcing a device,
16996         where the forced AP would get cleared out too soon by the link state
16997         checking timeout in the main thread, and the activation attempt with
16998         that AP would fail.
16999
17000 2005-04-01  Dan Williams <dcbw@redhat.com>
17001
17002         * po/POTFILES.in
17003                 - Update with new translatables
17004
17005 2005-03-31  Dan Williams <dcbw@redhat.com>
17006
17007         * panel-applet/NMWirelessAppletDbus.c
17008                 - Fix device names now that hal has changed device parenting for
17009                         network devices.
17010
17011 2005-03-31  Dan Williams <dcbw@redhat.com>
17012
17013         Tighten up handling of wireless devices that don't support wireless
17014         scanning (ie, Orinoco).  Due to restructuring of code, these devices
17015         hadn't been doing pseudo-scanning for a while either and would just
17016         spin waiting for an access point.  They are now manual devices where
17017         the user must choose the access point from the menu every time.  All
17018         "allowed" access points are listed in the applet's menu regardless
17019         of whether or not they can be seen by the card, since it can't scan
17020         anyway.
17021
17022         * src/NetworkManager.c
17023                 - (nm_wireless_link_state_handle): new function, but only update
17024                         the "best" ap for non-scanning devices when its not activating,
17025                         and when no device is being forced on the card
17026                 - (nm_link_state_monitor): split wireless link state handling out
17027                         into separate function
17028
17029         * src/NetworkManagerDevice.c
17030                 - (nm_device_copy_allowed_to_dev_list): new function
17031                 - (nm_device_new): populate non-scanning cards' AP lists with
17032                         access points from the "allowed" list
17033                 - (nm_device_new): don't start a scanning timeout for devices that
17034                         can't scan
17035                 - (nm_device_activation_schedule_finish): new parameter, should be
17036                         the AP that failed to be connected to, pass it on to the
17037                         activation finish function in NetworkManagerPolicy.c
17038                 - (nm_device_activate_wireless): don't ever try to get a new AP
17039                         for non-scanning devices, just fail.  The user must choose
17040                         a new access point manually.
17041                 - (nm_device_activate): grab the AP that failed connection and
17042                         pass it on
17043                 - (nm_device_update_best_ap): Clear the best AP if we don't have
17044                         a link to it, user must manually choose a new one
17045                 - (nm_device_do_pseudo_scan): remove function
17046                 - (nm_device_wireless_process_scan_results): remove bits for non-
17047                         scanning cards since they never get here
17048                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
17049                         and fake the scan list for test devices a bit earlier
17050
17051         * src/NetworkManagerPolicy.c
17052                 - (nm_policy_activation_finish): use the failed_ap that we get
17053                         passed rather than getting the best_ap from the card, which
17054                         may have changed since we were scheduled
17055                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
17056                         update their scan list directly from the allowed list when
17057                         we get updates to the allowed list from NetworkManagerInfo
17058
17059         * src/NetworkManagerPolicy.h
17060                 - New member for failed access point in NMActivationResult
17061
17062   -------------------------------------
17063
17064         Driver Notification patch: notifies the user when their driver
17065                 sucks.  Gives them the option to ignore further insertions
17066                 of the card that has the sucky driver.
17067
17068         * NetworkManager.h
17069                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
17070                         enum and replace it with NO_CARRIER_DETECT and
17071                         NO_WIRELESS_SCAN
17072
17073         * panel-applet/NMWirelessApplet.[ch]
17074                 - Merge essid.glade -> wireless-applet.glade
17075                 - Implement the "Your driver sucks" notification dialog
17076
17077         * panel-applet/NMWirelessAppletDbus.c
17078                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
17079                 - Grab hardware address for each device from NM too
17080                 - Check whether the driver for each device sucks or not whenever
17081                         a new device is noticed
17082
17083         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17084                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
17085
17086         * src/NetworkManager.c
17087                 - Fix a double-unref on device removal
17088
17089         * src/NetworkManagerUtils.c
17090                 - Set appropriate driver support level on a device that doesn't
17091                         support scanning or carrier detection
17092
17093         * src/nm-dbus-device.c
17094                 - New "getHWAddress" dbus method on devices
17095                 - getSupportsCarrierDetect -> getDriverSupportLevel
17096
17097 2005-03-31  Dan Williams <dcbw@redhat.com>
17098
17099         * src/NetworkManagerDevice.c
17100                 - (nm_device_wireless_scan): Fix leak of scan results in some
17101                         instances
17102
17103 2005-03-29  Dan Williams <dcbw@redhat.com>
17104
17105         * src/NetworkManager.c
17106                 - (nm_poll_and_update_wireless_link_state): make code less indented
17107
17108         Patch from Bill Moss:
17109         * src/NetworkManager.c
17110                 - (nm_device_update_link_state): Update signal strength on wireless
17111                         devices every time we update link state too.
17112
17113 2005-03-29  Dan Williams <dcbw@redhat.com>
17114
17115         * src/NetworkManagerDevice.c
17116                 - (nm_device_set_essid): Work around Orinoco cards which need
17117                         extra time after setting the ESSID
17118
17119 2005-03-29  Dan Williams <dcbw@redhat.com>
17120
17121         * src/NetworkManagerDevice.c
17122                 - Merge one more bit of Peter Jones' completion patch
17123
17124 2005-03-29  Dan Williams <dcbw@redhat.com>
17125
17126         * src/NetworkManagerDevice.c
17127                 - (nm_device_force_use): Fix possible segfault
17128
17129 2005-03-29  Dan Williams <dcbw@redhat.com>
17130
17131         * src/NetworkManagerDevice.c
17132                 - Use iw_get_ext() where we should rather than iw_set_ext()
17133
17134 2005-03-29  Dan Williams <dcbw@redhat.com>
17135
17136         * src/NetworkManagerDevice.c
17137                 - (nm_device_set_up_down): remove check for unsupported devices
17138                         that caused NM to not bring devices up when they were
17139                         added to the device list.
17140
17141 2005-03-28  Dan Williams <dcbw@redhat.com>
17142
17143         * src/NetworkManagerDevice.c
17144                 - (mdio_read): Fix two bugs that caused all devices to fail
17145                         the MII carrier detection support checks
17146
17147 2005-03-26  Dan Williams <dcbw@redhat.com>
17148
17149         * src/NetworkManagerDevice.c
17150                 - (nm_device_wireless_scan): Remove duplicated scanning code
17151
17152 2005-03-25  Dan Williams <dcbw@redhat.com>
17153
17154         * panel-applet/NMWirelessApplet.c
17155                 - (nmwa_about_cb): Add some more contributors
17156                 - (nmwa_update_state): show the applet when there's no connection
17157                 - Enable the "Stop/Resume all wireless devices" option in the
17158                         context menu
17159                 - New "no connection" icon
17160
17161         * src/NetworkManager.c
17162                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17163                         wireless is disabled or we're asleep
17164
17165         * src/NetworkManagerDHCP.c
17166                 - Remove trailing "\n" on debug messages
17167
17168         * src/NetworkManagerDbus.c
17169                 - (nm_dbus_network_status_from_data): new state "asleep"
17170
17171         * src/NetworkManagerDevice.c
17172                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17173                         latency and wait times for most operations
17174                 - (nm_device_wireless_scan): Don't scan when asleep
17175
17176         * src/NetworkManagerPolicy.c
17177                 - (nm_policy_get_best_device): return no device when asleep
17178                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17179                         for all wireless devices on update, not just active device
17180
17181         * src/NetworkManagerUtils.c
17182                 - Merge Peter Jones' "completion" patch
17183
17184         * src/nm-dbus-nm.c
17185                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17186                         we're told to disable them
17187                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17188
17189         * utils/nm-utils.h
17190                 - New variants of the warn/info/error/debug print functions that can take
17191                         variables rather than static strings
17192
17193 2005-03-24  Dan Williams <dcbw@redhat.com>
17194
17195         * src/NetworkManagerUtils.c
17196                 - (nm_get_device_driver_name): driver names are now on the parents of
17197                         "Network Interface" objects, so look for them there
17198
17199 2005-03-24  Dan Williams <dcbw@redhat.com>
17200
17201         * test/nmtest.c
17202                 - Escape some forgotten object paths before we shove them through dbus
17203
17204 2005-03-24  Dan Williams <dcbw@redhat.com>
17205
17206         * dhcpcd/dhcpcd.[ch]
17207           src/NetworkManagerDHCP.c
17208                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17209                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17210
17211         * src/NetworkManagerDbus.c
17212                 - spacing cleanups
17213
17214         * src/nm-dbus-dhcp.c
17215                 - Make the API suck less.  There is now only 1 type of each function,
17216                         ie only "getInteger" and no longer also "getIntegerv".  All types
17217                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17218                         that will never have more than 1 element.  This should simplify
17219                         things greatly.
17220
17221         * test/nm-dhcp-opt-test.c
17222                 - Make the tool not segfault
17223                 - adapt to new DHCP Options API
17224
17225 2005-03-22  Dan Williams <dcbw@redhat.com>
17226
17227         * src/NetworkManager.c
17228                 - (nm_wired_link_deactivated): actually ignore netlink events from
17229                         wireless devices.
17230
17231 2005-03-22  Dan Williams <dcbw@redhat.com>
17232
17233         * src/NetworkManager.c
17234                 - (nm_wired_link_activated): actually ignore netlink events from
17235                         wireless devices.
17236
17237 2005-03-17  Dan Williams <dcbw@redhat.com>
17238
17239         Patch from Tom Parker:
17240         * src/nm-netlink-monitor.c
17241                 - Include unistd.h
17242         * info-daemon/NetworkManagerInfoDbus.c
17243                 - (nmi_dbus_update_network_auth_method): free GConf values
17244
17245         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17246         * src/NetworkManagerDevice.c
17247                 - (nm_device_set_wireless_config): wait for successful
17248                         association longer for some cards (Atheros a/b/g)
17249
17250 2005-03-15  Ray Strode  <rstrode@redhat.com>
17251
17252         * src/NetworkManager.c:
17253         (sigterm_pipe_handler):
17254         remove bogus FIXME
17255
17256 2005-03-15  Ray Strode  <rstrode@redhat.com>
17257
17258         * src/NetworkManagerDbus.c:
17259         Fix some sign weirdness that gcc4 doesn't like,
17260         and add a header file so PPC can hopefully find
17261         SIGTRAP
17262
17263 2005-03-14  Ray Strode  <rstrode@redhat.com>
17264         
17265         Fourth (probably working) cut at porting to
17266         dbus 0.30 api and new hal. This cut adds
17267         some new logging macros to make debugging
17268         easier.
17269
17270         * dispatcher-daemon/NetworkManagerDispatcher.c:
17271         * info-daemon/NetworkmanagerInfo.c:
17272         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17273         * info-daemon/NetworkManagerInfoVPN.c:
17274         * src/NetworkManager.c:
17275         * src/NetworkManagerAP.c:
17276         * src/NetworkManagerAPList.c:
17277         * src/NetworkManagerDHCP.c:
17278         * src/NetworkManagerDbus.c:
17279         * src/NetworkManagerDevice.c:
17280         * src/NetworkManagerPolicy.c:
17281         * src/NetworkManagerSystem.c:
17282         * src/NetworkManagerUtils.c:
17283         * src/NetworkManagerWireless.c:
17284         * src/autoip.c:
17285         * src/nm-dbus-nm.c:
17286         * src/backends/NetworkManagerDebian.c:
17287         * src/backends/NetworkManagerGentoo.c:
17288         * src/backends/NetworkManagerRedHat.c:
17289         * src/backends/NetworkManagerSlackware.c:
17290         use new logging macros.
17291
17292         * dispatcher-daemon/NetworkManagerDispatcher.c:
17293         (nmd_dbus_filter): s/dbus_free/g_free/
17294
17295         * info-daemon/Makefile.am: link in utils library.
17296         * info-daemon/NetworkmanagerInfo.c: use new logging 
17297         macros.
17298         (nmi_dbus_get_network): don't assume enumerations
17299         are 32-bit.
17300         (nmi_dbus_nmi_message_handler): don't free what 
17301         doesn't belong to us.
17302
17303         * libnm_glib/libnm_glib.c:
17304         (libnm_glib_get_nm_status): 
17305         (libnm_glib_init): don't free what doesn't
17306         belong to us.
17307         (libnm_glib_dbus): strdup result, so it doesn't get
17308         lost when message is unref'd.
17309
17310         * panel-applet/NMWirelessAppletDbus.c:
17311         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17312
17313         * src/NetworkManager.c:
17314         (nm_monitor_wired_link_state): request initial status 
17315         dump of all cards when we start up, instead of relying
17316         on /sys/.../carrier.
17317         (nm_info_handler), (nm_set_up_log_handlers): 
17318         log handlers to specify what syslog priorites 
17319         the logging macros default to.
17320
17321         * src/NetworkManagerAPList.c: 
17322         (nm_ap_list_populate_from_nmi):
17323         s/dbus_free_string_array/g_strfreev/
17324
17325         * src/NetworkManagerDbus.c:
17326         (nm_dbus_get_network_object):
17327         validate d-bus message argument types.
17328         Advance message iterator after reading argument,
17329         prepend instead of append to GSList.
17330
17331         * src/NetworkManagerDevice.c:
17332         (nm_device_probe_wired_link_status):
17333         remove redundant /sys in /sys path. remove wrong
17334         contents == NULL means has carrier assumption.
17335
17336         * src/nm-netlink-monitor.c 
17337         (nm_netlink_monitor_request_status): implement
17338         function to ask kernel to dump interface link
17339         status over netlink socket.
17340
17341         * test/*.c: s/dbus_free/g_free/
17342
17343         * utils/nm-utils.h:
17344         (nm_print_backtrace): new macro to print backtrace.
17345         (nm_get_timestamp): new macro to get sub-second precise
17346         unix timestamp.
17347         (nm_info), (nm_debug), (nm_warning), (nm_error):
17348         new logging functions. nm_info just prints,
17349         nm_debug includes timestamp and function,
17350         nm_warning includes function, nm_error includes
17351         backtrace and sigtrap.
17352
17353 2005-03-11  Ray Strode  <rstrode@redhat.com>
17354
17355         Third (unfinished, partially working) cut at porting to 
17356         dbus 0.30 api and new hal.
17357
17358         * info-daemon/NetworkManagerInfoDbus.c:
17359                 don't free null arrays.
17360
17361         * panel-applet/NMWirelessAppletDbus.c: 
17362         * src/nm-dbus-device.c:
17363         * src/nm-dbus-net.c: 
17364         * src/NetworkManagerDbus.c: more 
17365         STRING -> OBJECT_PATH fun
17366         * src/NetworkManagerDevice.c:
17367         * src/NetworkManagerDevice.h:
17368         (rename nm_device_get_link_active): rename to 
17369         nm_device_has_active_link
17370         (nm_device_wireless_link_active): rename to
17371         nm_device_probe_wireless_link_state
17372         (nm_device_wired_link_active): rename to
17373         nm_device_probe_wired_link_state.  Rewrite to
17374         use carrier file since hal doesn't maintain
17375         link state anymore.
17376         (nm_device_update_link_active): rename to
17377         nm_device_update_link_state
17378         * src/NetworkManagerPolicy.c 
17379           (nm_policy_activation_finish): check for NULL
17380           MAC address.
17381
17382         * src/Makefile.am:
17383         * src/NetworkManagerMain.h: 
17384         * src/NetworkManager.c:
17385         * src/nm-netlink-monitor.c:
17386         * src/nm-netlink-monitor.h: New class to support
17387         monitoring wired ethernet link status, since HAL
17388         doesn't export that information anymore.
17389
17390 2005-03-09  Ray Strode  <rstrode@redhat.com>
17391
17392         Second (unfinished, unworking) cut at porting to 
17393         dbus 0.30 api.
17394
17395         * dispatcher-daemon/NetworkManagerDispatcher.c:
17396         * info-daemon/NetworkManagerInfoDbus.c:
17397         * panel-applet/NMWirelessAppletDbus.c:
17398         * src/NetworkManagerDbusUtils.c:
17399         * src/NetworkManagerDbusUtils.h:
17400         * src/nm-dbus-device.c:
17401         * src/nm-dbus-nm.c:
17402         * test/nmtest.c: support dbus "object path" type
17403
17404         * configure.in: 
17405         * Makefile.am:
17406         * info-daemon/Makefile.am:
17407         * libnm_glib/Makefile.am:
17408         * panel-applet/Makefile.am:
17409         * dispatcher-daemon/Makefile.am
17410         * src/Makefile.am:
17411         * test/Makefile.am:
17412         * utils/Makefile.am: 
17413         * utils/nm-utils.c: 
17414         * utils/nm-utils.h: new utils static lib
17415
17416 2005-03-07  Ray Strode  <rstrode@redhat.com>
17417
17418         * info-daemon/NetworkManagerInfoDbus.c:
17419         * libnm_glib/libnm_glib.c:
17420         * panel-applet/NMWirelessAppletDbus.c:
17421         * src/NetworkManager.c:
17422         * src/NetworkManagerDbus.c:
17423         * src/NetworkManagerDevice.c:
17424         * src/NetworkManagerUtils.c:
17425         * src/nm-dbus-device.c:
17426         * src/nm-dbus-dhcp.c:
17427         * src/nm-dbus-net.c:
17428         * src/nm-dbus-nm.c:
17429         * test/nminfotest.c:
17430         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17431
17432 2005-03-04  Dan Williams  <dcbw@redhat.com>
17433
17434         * configure.in
17435                 - Mark HEAD as 0.4
17436
17437 2005-03-04  Dan Williams  <dcbw@redhat.com>
17438
17439         Patch from Peter Jones:
17440         - Make stuff work with gcc 4.0
17441
17442 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17443
17444         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17445
17446 2005-02-27  Jim Huang  <jserv@kaffe.org>
17447
17448         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17449
17450 2005-02-27  Dan Williams  <dcbw@redhat.com>
17451
17452         Patch from Bill Moss:
17453         * panel-applet/NMWirelessAppletDbus.c
17454                 - Make sure strength for current access point is up-to-date when we
17455                         update the gui data model
17456
17457 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17458
17459         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17460
17461 2005-02-27  Dan Williams  <dcbw@redhat.com>
17462
17463         * src/backends/NetworkManagerRedHat.c
17464                 - (nm_system_init): Kill any dhclient processes lying around as well
17465                         as stopping 'nifd' if its already been started.  NetworkManager
17466                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17467
17468 2005-02-27  Dan Williams  <dcbw@redhat.com>
17469
17470         * panel-applet/NMWirelessApplet.c
17471                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17472                         dbus data model, not the GUI data model twice.
17473
17474 2005-02-27  Dan Williams  <dcbw@redhat.com>
17475
17476         * panel-applet/NMWirelessApplet.[ch]
17477           panel-applet/NMWirelessAppletDbus.[ch]
17478                 - Move to incremental network updates.  Instead of blowing away our list
17479                         of devices every time we get a signal from NetworkManager, we now
17480                         incrementally add/remove networks when NetworkManager notifies us that
17481                         a new network has appeared or disappered.  Strength updates now happen
17482                         on-the-fly for each access point as well.  There are now two copies of
17483                         data from NetworkManager: one for the dbus side, and one for the gui side.
17484                         When the dbus side data is modified, it is copied over to the gui side
17485                         so we don't have to hold the data_mutex for long periods of time (and
17486                         therefore block animation of the applet's icon).
17487                 - Clean up some memleaks too
17488
17489         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17490                 - Minor code beautification
17491
17492         * src/NetworkManagerAPList.c
17493                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17494                         completely new and whether or not an existing one's strength was updated.
17495                         Try to fix multiple access points and signal strength by using the highest
17496                         signal strength in each scan for any given ESSID.
17497
17498         * src/NetworkManagerDbus.[ch]
17499                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17500                         wireless networks; now we have only WirelessNetworkUpdate which includes
17501                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17502                 - Kill usage of DbusMessageIter
17503
17504         * src/NetworkManagerDevice.c
17505                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17506                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17507                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17508                         currently associated with from the network list.
17509                 - Update for new signals during scan, send out Appeared, Disappeared, or
17510                         StrengthChanged when necessary.
17511
17512 2005-02-25  Dan Williams  <dcbw@redhat.com>
17513
17514         * README
17515                 - Line break the README
17516
17517 2005-02-25  Dan Williams  <dcbw@redhat.com>
17518
17519         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17520                 - Remove usage of gtk_window_set_default_size()
17521
17522         * panel-applet/essid.glade
17523                 - Stick default size here
17524                 - Add in random crap that current glade wants to add in now
17525
17526 2005-02-25  Dan Williams  <dcbw@redhat.com>
17527
17528         * src/backends/NetworkManagerRedHat.c
17529                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17530                         and that we actually tell nscd to reload the hosts cache when it changes
17531
17532 2005-02-25  Dan Williams  <dcbw@redhat.com>
17533
17534         * info-daemon/NetworkManagerInfoDbus.c
17535                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17536
17537         * test/nminfotest.c
17538                 - Whack usage of DbusMessageIter
17539                 - Clean up DbusError and DbusMessage handling and freeing
17540                 - Remove unused unregister handler
17541
17542         * test/nmtest.c
17543                 - Whack usage of DbusMessageIter
17544
17545         * test/nmtestdevices.c
17546                 - Whack usage of DbusMessageIter
17547
17548 2005-02-25  Dan Williams  <dcbw@redhat.com>
17549
17550         * NetworkManager.h
17551                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17552                         signal
17553
17554 2005-02-25  Dan Williams  <dcbw@redhat.com>
17555
17556         * named/nm-named-manager.c
17557                 - Ensure that pid and watch variables for child named process get cleared out
17558                         when the child goes away.
17559
17560 2005-02-22  Dan Williams  <dcbw@redhat.com>
17561
17562         * src/NetworkManagerPolicy.c
17563                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17564                         and NULL out data->active_device so that we have to choose another one.
17565                         This may make NetworkManager keep attempting to connect to a wired network
17566                         if it fails, but if it keeps failing the wired network has more problems than
17567                         just NetworkManager.
17568
17569         * src/backends/NetworkManagerRedHat.c
17570                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17571                         is already running
17572
17573         * named/nm-named-manager.c
17574                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17575                         named so that the distro can flush whatever name service caching
17576                         daemon it uses
17577
17578 2005-02-21  Dan Williams  <dcbw@redhat.com>
17579
17580         * src/NetworkManagerDHCP.[ch]
17581                 - (nm_device_dhcp_remove_timeouts): new function
17582
17583         * src/NetworkManagerDevice.c
17584                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17585                         remove the DHCP timeouts.
17586
17587 2005-02-21  Dan Williams  <dcbw@redhat.com>
17588
17589         * panel-applet/NMWirelessApplet.[ch]
17590           panel-applet/menu-info.[ch]
17591                 - Give the panel applet some major love: menu items are no longer
17592                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17593                         This allows the applet to actually reflect theme changes correctly,
17594                         since themeing of subclassed items in GTK _sucks_.
17595
17596 2005-02-18  Dan Williams  <dcbw@redhat.com>
17597
17598         * libnm_glib/libnm_glib.[ch]
17599           test/libnm_glib_test.c
17600                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17601                         and its data, and doesn't have to free the callback data anymore
17602
17603 2005-02-18  Dan Williams  <dcbw@redhat.com>
17604
17605         * panel-applet/NMWirelessApplet.c
17606                 - Revert 2005-02-18 William Jon McCann fix for standard
17607                         copyright string until it passes 'make distcheck'.
17608                         With standard copyright string, xgettext complains
17609                         about "Non-ASCII string at ...".
17610
17611 2005-02-18  Dan Williams  <dcbw@redhat.com>
17612
17613         * panel-applet/essid.glade
17614           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17615                 - Correct spelling of "adaptor"->"adapter"
17616
17617 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17618
17619         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17620         (nmwa_about_cb): Use standard copyright string.  Update comment
17621         text to reflect that it is a notification area applet.  Remove
17622         leading newline in authors list.
17623         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17624         instead of on parent menu item activation.  Fixes #167550.
17625
17626 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17627
17628         * panel-applet/essid.glade: Capitalize items as per HIG.
17629           Fixes #167632
17630
17631 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17632
17633         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17634         files for GTK 2.4 or lower, since now public in GTK 2.6.
17635
17636         * panel-applet/essid.glade: Don't specify window size.
17637         
17638 2005-02-17  Dan Williams  <dcbw@redhat.com>
17639
17640         Caught by Bill Moss:
17641         * dhcpcd/client.c
17642                 - Time remaining for DHCP transaction calculation was incorrectly
17643                         inside a #ifdef DEBUG
17644
17645 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17646
17647         * configure.in: Added fr (French) to ALL_LINGUAS.
17648
17649 2005-02-14  Dan Williams  <dcbw@redhat.com>
17650
17651         * src/NetworkManagerDHCP.c
17652                 - (set_domain_searches): Fix free of invalid pointer
17653
17654 2005-02-14  Dan Williams  <dcbw@redhat.com>
17655
17656         Patch from Peter Jones:
17657         * dhcpcd/client.c
17658                 - Ensure we return RET_DHCP_CEASED everywhere we should
17659         * dhcpcd/udpipgen.c
17660                 - Use faster TOS for IP packets
17661                 - Don't set ip_id since we're UDP
17662
17663         Patch from Tomislav Vujec:
17664         * src/nm-dbus-dhcp.c
17665           test/nm-dhcp-opt-test.c
17666                 - Clean up warnings to enable cvs tree compilation.
17667
17668 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17669
17670         * configure.in
17671           po/hr.po
17672                 - Add the Croatian locale.
17673
17674 2005-02-14  Colin Walters  <walters@verbum.org>
17675
17676         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17677         list of domains to search.
17678         
17679         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17680
17681 2005-02-13  Dan Williams  <dcbw@redhat.com>
17682
17683         * dhcpcd/client.c
17684                 - Debug output cleanups of DHCP option printing and parsing.
17685
17686 2005-02-13  Dan Williams  <dcbw@redhat.com>
17687
17688         Patch from Dan Reed:  DHCP options D-BUS API
17689                 Exposes the DHCP options that a device receives to clients over D-BUS.
17690
17691         * configure.in
17692                 - A few cleanups
17693
17694         * dhcpcd/client.h
17695                 - Correct names, option length, and types for DHCP options
17696
17697         * dhcpcd/dhcpcd.[ch]
17698                 - Clarify function names that access DHCP options & data
17699
17700         * src/NetworkManagerDHCP.c
17701                 - Use new DHCP data access functions
17702
17703         * src/NetworkManagerDbus.c
17704                 - Message handler for DHCP functions
17705
17706         * src/nm-dbus-dhcp.[ch] (new)
17707                 - DHCP dbus methods
17708
17709         * test/nm-dhcp-opt-test.c
17710                 - Test DHCP D-BUS API and return all present DHCP options
17711
17712 2005-02-12  Dan Williams  <dcbw@redhat.com>
17713
17714         * test/Makefile.am
17715           test/nmclienttest.c
17716           test/nmtest.c
17717                 - Move nmclienttest.c -> nmtest.c
17718
17719 2005-02-12  Dan Williams  <dcbw@redhat.com>
17720
17721         * dhcpcd/buildmsg.c
17722                 - Pad DHCP packets until they are at least 300 bytes in size.
17723
17724 2005-02-11  Dan Williams  <dcbw@redhat.com>
17725
17726         * dhcpcd/client.c
17727                 - (dhcp_init): only print out client ID and class ID if they are specified
17728
17729         * src/NetworkManagerDbus.[ch]
17730           src/nm-dbus-nm.[ch]
17731           src/nm-dbus-device.[ch]
17732           src/nm-dbus-net.[ch]
17733                 - Move NM, Device, and Net functions to separate files and use the
17734                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17735                         method dispatching
17736
17737         * src/NetworkManagerDbusUtils.c
17738                 - Add new validate_method called before each dispatch (if present)
17739                         that can validate the method call
17740
17741         * src/NetworkManagerWireless.c
17742                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17743                         levels never to be evaluated
17744
17745         Patch from j@bootlab.org
17746         * src/NetworkManagerDevice.c
17747                 - Add typedef for "u64"
17748
17749         * src/backends/NetworkManagerDebian.c
17750                 - Copy in Dave Woodhouse's fixes for IPv6
17751
17752 2005-02-11  Dan Williams  <dcbw@redhat.com>
17753
17754         Patch from Dave Woodhouse for IPv6:
17755         * src/NetworkManagerUtils.c
17756                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17757                         and multicast addresses
17758
17759         * src/NetworkManagerDevice.c
17760                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17761                         after bringing up a card.
17762
17763 2005-02-10  Dan Williams  <dcbw@redhat.com>
17764
17765         Patch from Dave Woodhouse:
17766         * src/NetworkManagerSystem.h
17767           src/backends/NetworkManagerDebian.c
17768           src/backends/NetworkManagerGentoo.c
17769           src/backends/NetworkManagerSlackware.c
17770                 - New nm_system_device_add_ip6_link_address() function to add link-local
17771                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17772
17773         * src/backends/NetworkManagerRedHat.c
17774                 - (nm_system_device_add_ip6_link_address): implement
17775                 - (nm_system_device_flush_addresses): revert to previous behavior of
17776                         flushing all addresses
17777
17778 2005-02-10  Dan Williams  <dcbw@redhat.com>
17779
17780         Patch from Tom Parker:
17781         * src/NetworkManagerDevice.c
17782                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17783                         mii.h headers are broken, and instead use our own typedefs
17784
17785 2005-02-10  Dan Williams  <dcbw@redhat.com>
17786
17787         * dhcpcd/buildmsg.c
17788                 - (fill_host_and_class_id): only fill in client and class IDs if
17789                         they are set by callers.
17790
17791         * dhcpcd/client.c
17792                 - (class_id_setup): don't autogenerate a class ID, only use one
17793                         we're given, if any.
17794                 - (client_id_setup): don't autogenerate a client ID, only use one
17795                         we're given, if any.
17796
17797         * dhcpcd/dhcpcd.c
17798                 - (dhcp_interface_init): ensure that client options are correctly
17799                         NULL terminated
17800
17801         * src/NetworkManagerDHCP.c
17802                 - (nm_device_dhcp_request): pass hostname to dhcp library
17803
17804 2005-02-10  Dan Williams  <dcbw@redhat.com>
17805
17806         * dhcpcd/client.c
17807                 - #rh147661# Don't send kernel version in DHCP requests
17808
17809         * src/NetworkManagerSystem.h
17810           src/backends/NetworkManagerDebian.c
17811           src/backends/NetworkManagerGentoo.c
17812           src/backends/NetworkManagerRedHat.c
17813           src/backends/NetworkManagerSlackware.c
17814                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17815                         functions, they are no longer used anyway
17816
17817         * src/backends/NetworkManagerRedHat.c
17818                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17819                         addresses in an attempt to keep IPv6 local-scope addresses around
17820
17821 2005-02-10  Dan Williams  <dcbw@redhat.com>
17822
17823         * src/NetworkManager.c
17824                 - (nm_create_device_and_add_to_list): change the add message slightly
17825
17826         * src/NetworkManagerUtils.c
17827                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17828                         Return driver name to calling function
17829                 - (nm_get_driver_support_level): print out the driver a device is using
17830                         during the support check
17831
17832         Patch from Dave Woodhouse:
17833         * dhcpcd/udpipgen.c
17834                 - (in_cksum): copy last byte of odd-sized packets into a
17835                         'u_short' rather than a 'u_char', should fix wrong checksums
17836                         on big-endian platforms
17837
17838 2005-02-09  Dan Williams  <dcbw@redhat.com>
17839
17840         * Clean up usage of GSList objects and looping through their members
17841         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17842                 now.
17843         * Fix problem where even if scanning was turned off, card would still
17844                 cycle through frequencies.
17845
17846 2005-02-08  Dan Williams  <dcbw@redhat.com>
17847
17848         * panel-applet/NMWirelessApplet.c
17849                 - Fix for gtk 2.4
17850
17851 2005-02-08  Dan Williams  <dcbw@redhat.com>
17852
17853         Patch from Bill Moss
17854         * panel-applet/NMWirelessApplet.c
17855                 - Restore correct ESSID in tooltips
17856
17857 2005-02-07  Dan Williams  <dcbw@redhat.com>
17858
17859         * panel-applet/NMWirelessApplet.[ch]
17860                 - Add a context menu that contains:
17861                         Pause/Resume Wireless Scanning
17862                         Stop/Start All Wireless Devices
17863                         About...
17864                 - Grab active device strength off active device,
17865                         not its network
17866
17867         * panel-applet/NMWirelessAppletDbus.[ch]
17868                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17869                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17870                 - Update active device strength every 2 seconds, not every 1 second
17871
17872         * panel-applet/menu-info.c
17873                 - Only disable wired devices in the menu when they support carrier detection,
17874                         and don't currently have a link.  Non-carrier-detect devices will always
17875                         remain choosable
17876
17877         * src/Makefile.am
17878           src/NetworkManagerDbusUtils.[ch]
17879                 - Add new new dbus utils sources
17880
17881         * src/NetworkManager.c
17882                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17883                         with the boolean parameter
17884                 - Set scanning_enabled & wireless_enabled to TRUE
17885
17886         * src/NetworkManagerDbus.c
17887                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17888                 - Implement scanning & wireless enable/disable calls
17889                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17890
17891         * src/NetworkManagerDevice.c
17892                 - New link detection stuff again...
17893                         o  Create device's mainloop earlier (but don't run it earlier)
17894                         o  Hook up new carrier-detect support stuff
17895                         o  Add in the ethtool & mii support detection code
17896                 - Don't scan if scanning is disabled
17897
17898         * src/NetworkManagerPolicy.c
17899                 - Never automatically choose a device that doesn't support carrier detection
17900                 - Don't automatically choose a wireless device if wireless is disabled
17901
17902 2005-02-07  Dan Williams  <dcbw@redhat.com>
17903
17904         * libnm_glib/libnm_glib.c
17905                 - Small cleanup in element list iteration
17906
17907 2005-02-07  Dan Williams  <dcbw@redhat.com>
17908
17909         * src/NetworkManagerWireless.c
17910                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17911                         to be in line with the WEXT quality specification
17912
17913 2005-02-02  Dan Williams  <dcbw@redhat.com>
17914
17915         Patch from Nathan Fredrickson <nathan@silverorange.com>
17916         * Fix up compile for deprecation of libgnomeui
17917                 - Switch to <glib/gi18n.h> from <libintl.h>
17918                 - Remove <libgnomeui/libgnomeui.h> includes
17919                 - Use gtk_window_set_default_icon_from_file() rather than
17920                         gnome_window_set_default_icon_from_file()
17921
17922         * named/nm-named-manager.c
17923                 - (generate_named_conf): Fix return-nothing in non-void
17924                         function
17925
17926 2005-02-02  Dan Williams  <dcbw@redhat.com>
17927
17928         * Clean up unused variables and the like
17929
17930 2005-02-02  Dan Williams  <dcbw@redhat.com>
17931
17932         * src/NetworkManagerAPList.c
17933                 - (nm_ap_list_merge_scanned_ap): merge strength too
17934
17935         * src/NetworkManagerUtils.c
17936                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17937                         of locking issues by printing out prettier information than g_mutex_lock
17938                 - Print out names of mutexes registered with nm_register_mutex_desc()
17939                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17940                         us to seemingly block here for too long
17941
17942         * src/NetworkManager.c
17943           src/NetworkManagerAPList.c
17944           src/NetworkManagerDevice.c
17945                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17946                         so we get better debug information printed
17947
17948         * src/NetworkManagerDbus.c
17949                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17950                         since it sometimes has locking side effects
17951                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17952                         from 10s
17953                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17954                         we don't need a switch.  This gets called often enough that we can't block
17955                         until the scan mutex is acquired, because we'll block on device activation
17956                         and a few other things, which hangs main thread for too long.
17957
17958         * src/NetworkManagerPolicy.c
17959                 - (nm_policy_auto_get_best_device): reduce the possiblity that
17960                         nm_device_need_ap_switch() will be called               
17961
17962 2005-02-02  Dan Williams  <dcbw@redhat.com>
17963
17964         * panel-applet/NMWirelessApplet.c
17965                 - Display name of wireless network we are connecting to or connected to
17966                         in the tooltip of the applet
17967
17968 2005-02-02  Dan Williams  <dcbw@redhat.com>
17969
17970         * src/NetworkManagerDHCP.c
17971                 - Hopefully fix double-default-route problem by cleaning up the default
17972                         route added by DHCP code right before the DHCP transaction begins
17973
17974 2005-02-02  Dan Williams  <dcbw@redhat.com>
17975
17976         * named/nm-named-manager.c
17977                 - Write out valid resolv.conf when we exit
17978
17979 2005-02-01  Dan Williams  <dcbw@redhat.com>
17980
17981         Patch from Colin Walters:
17982         * named/nm-named-manager.c
17983                 - Make multi-domain search options work
17984
17985 2005-01-31  Dan Williams  <dcbw@redhat.com>
17986
17987         * info-daemon/NetworkManagerInfoDbus.c
17988                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
17989
17990         * src/NetworkManagerDevice.c
17991                 - (nm_device_new): Don't store the entire range struct, use only what we need
17992                         (which is currently avg_quality, max_quality, and frequencies).  Also
17993                         zero device structure when we've free'd it to maybe expose errors down
17994                         the line.
17995                 - (nm_device_update_signal_strength): grab the scan mutex before getting
17996                         quality data from the card since quality will be useless during a scan.
17997                         Call updated wireless qual-to-percent function with values stored in
17998                         nm_device_new() earlier.
17999                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
18000                         nm_device_get_bad_crypt_packets())
18001                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
18002                         nm_device_new()
18003                 - (get_initial_auth_method): always use the Auth method that's in the allowed
18004                         list if available.  Problem was this: when the WEP key is wrong, NM will
18005                         try OS then SK modes, and then get stuck in SK mode after that.  This
18006                         should reset it.
18007                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
18008                         function
18009
18010         * src/NetworkManagerWireless.c
18011                 - (nm_wireless_qual_to_percent): try to make this function actually work and
18012                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
18013                         if that's all present, otherwise fall back to signal-to-noise ratios.
18014
18015 2005-01-29  Dan Williams  <dcbw@redhat.com>
18016
18017         * initscript/RedHat/NetworkManager
18018                 - Don't spit out sysctl stuff to console
18019
18020         * libnm_glib/libnm_glib.c
18021                 - (libnm_glib_init): call dbus_g_thread_init()
18022
18023         * panel-applet/NMWirelessAppletDbus.c
18024                 - (nmwa_dbus_worker): call dbus_g_thread_init()
18025
18026         * src/NetworkManager.c
18027                 - (main): call dbus_g_thread_init()
18028
18029         * src/NetworkManagerAPList.c
18030                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
18031                         so we can actually see what's there in a normal syslog
18032
18033         * src/NetworkManagerDevice.c
18034                 - (nm_device_activate_wireless): print out the "waiting for access point"
18035                         message only once, then say what access point we actually got after
18036                         the wait.
18037                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
18038                         function, wait until the scan is done.  Scans may change the ESSID of
18039                         the card, making this function think we need to switch access points
18040                 - (nm_device_wireless_process_scan_results): for artificial access points
18041                         don't check against the card's ESSID, but the best_ap's ESSID.  This
18042                         prevents collisions with the scanning code, which may change the card's
18043                         ESSID and cause the access point to get dropped from the device's AP
18044                         list.  Also increase the keep-around time to 2m from 60s since the max
18045                         scan interval could be 60s in some cases.
18046
18047         * src/NetworkManagerPolicy.c
18048                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
18049                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
18050                         the new properties and ESSIDs to the device's AP list.  Fixes some races
18051                         between NM and NMI.
18052
18053 2005-01-27  Dan Williams  <dcbw@redhat.com>
18054
18055         * info-daemon/NetworkManagerInfoDbus.c
18056                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
18057                         GConf, make a minimal entry for it (essid & timestamp)
18058
18059         * src/NetworkManagerAPList.c
18060                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
18061                         NetworkManagerInfo isn't running
18062
18063         * src/NetworkManagerDbus.[ch]
18064                 - (nm_dbus_nmi_is_running): new function
18065
18066         * src/NetworkManagerDevice.c
18067                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
18068                         address to garbage.
18069
18070         * src/NetworkManagerPolicy.c
18071                 - (nm_policy_activation_finish): On successful activation, make sure
18072                         the "best" AP has a MAC address, and don't tell NMI to add the
18073                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
18074                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
18075                         access point after refreshing our allowed list if it doesn't already
18076                         have a "best" access point.
18077
18078 2005-01-25  Dan Williams  <dcbw@redhat.com>
18079
18080         * panel-applet/NMWirelessAppletDbus.c
18081                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
18082                         so we check for NM_DBUS_SERVICE rather than not for it
18083
18084         * libnm_glib/libnm_glib.c
18085                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
18086                         ServiceOwnerChanged signal
18087
18088 2005-01-25  Dan Williams  <dcbw@redhat.com>
18089
18090         * configure.in
18091                 - Check DBUS version in configure, and set the C macros
18092                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
18093
18094         * info-daemon/NetworkManagerInfoDbus.c
18095                 - Remove #if 0-d section of code that quit NMI if NM went away.
18096
18097         * panel-applet/NMWirelessAppletDbus.c
18098                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18099
18100         * src/NetworkManager.c
18101           src/NetworkManagerMain.h
18102           src/NetworkManagerDbus.c
18103                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
18104                 - Make updating of our Allowed Wireless Network lists from NMI
18105                         an idle function in the main thread now, with a high priority.
18106
18107 2005-01-24  Dan Williams  <dcbw@redhat.com>
18108
18109         * panel-applet/gtkcellview.[ch]
18110           panel-applet/menu-info.c
18111                 - Fix GTK version checks to be <= rather than <
18112
18113         * test/Makefile.am
18114                 - Include the libtool archive of libnm_glib rather than
18115                         trying to pull in the .so
18116
18117 2005-01-24  Dan Williams  <dcbw@redhat.com>
18118
18119         * src/NetworkManagerDevice.c
18120           src/NetworkManagerDevicePrivate.h
18121                 - Block nm_device_new() until our device's worker thread has had a
18122                         chance to start up.  Fixes a race between main thread and worker
18123                         thread starting that caused activation requests to get lost.
18124
18125 2005-01-24  Dan Williams  <dcbw@redhat.com>
18126
18127         * initscript/RedHat/NetworkManager
18128                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18129                         to add the NM startup script at priority 50, which was
18130                         way too early
18131
18132 2005-01-24  Colin Walters  <walters@redhat.com>
18133
18134         * named/named.conf: Use any port for query source instead of
18135         restricting to port 53.
18136
18137 2005-01-24  Dan Williams  <dcbw@redhat.com>
18138
18139         * initscript/RedHat/NetworkManager
18140                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
18141                         to add the NM startup script at priority 50, which was
18142                         way too early
18143
18144 2005-01-24  Dan Williams  <dcbw@redhat.com>
18145
18146         Patch from Tom Parker <palfrey@tevp.net>
18147         * Fix up compile warnings & errors in the wireless applet
18148
18149 2005-01-24  Dan Williams  <dcbw@redhat.com>
18150
18151         * panel-applet/NMWirelessApplet.c
18152                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18153
18154 2005-01-24  Dan Williams  <dcbw@redhat.com>
18155
18156         * panel-applet/gtkcellview.[ch]
18157                 - Only compile these files for GTK 2.4 or lower, since 
18158                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18159                         when choosing "Other Wireless Networks" from the panel
18160                         applet menu
18161
18162 2005-01-21  Dan Williams  <dcbw@redhat.com>
18163
18164         * src/NetworkManager.c
18165                 - Daemonize earlier so that glib doesn't get confused (?)
18166
18167 2005-01-21  Dan Williams  <dcbw@redhat.com>
18168
18169         * panel-applet/NMWirelessApplet.[ch]
18170           panel-applet/NMWirelessAppletDbus.c
18171           panel-applet/menu-info.c
18172           src/NetworkManagerDevice.c
18173                 - Disable wired devices in the menu when they have no link.
18174
18175 2005-01-21  Dan Williams  <dcbw@redhat.com>
18176
18177         * Cache last-known-good wireless authentication method in
18178                 NetworkManagerInfo, and use that method first during
18179                 wireless device activation.  Should speed up devices that
18180                 need Shared Key authentication method since Open System is
18181                 now the default.
18182
18183         * Remove the hack to not do full activation on wired connections
18184                 that are active when we launch, it causes too many problems
18185                 with name resolution and was a hack in the first place.
18186
18187         * Re-work wireless device activation again somewhat to have a
18188                 clearer chain of events and to use last-known-good
18189                 authentication method of the access point.  Also provide
18190                 better status throughout activation to ensure the applet
18191                 can tell the user exactly what's going on.
18192
18193         * Remove the "find wireless network" code and now simply attempt
18194                 to activate with that access point.  This reduces the delay
18195                 between selecting "Other wireless Network" and actually
18196                 connecting to that network.
18197
18198         * Correctly stop the device's worker thread when its removed.
18199
18200 2005-01-21  Dan Williams  <dcbw@redhat.com>
18201
18202         * dhcpcd/client.c
18203                 - Clean up some of the debug messages
18204
18205 2005-01-21  Dan Williams  <dcbw@redhat.com>
18206
18207         * Add new icons, more frames of animation
18208         * Remove some hacks to get the panel applet to display correct
18209                 status, an NM update will soon follow that will fix the
18210                 real issue.
18211
18212 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18213
18214         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18215         the first include for working i18n. Also, don't include it in .h files
18216         * panel-applet/NMWirelessApplet.h: Same
18217         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18218         * panel-applet/menu-info.c: Same
18219
18220 2005-01-18  Dan Williams <dcbw@redhat.com>
18221
18222         * dhcpcd/client.c
18223                 - Remove some debug messages
18224                 - Wrap others in #ifdef DEBUG/#endif
18225
18226         * src/NetworkManager.c
18227                 - Remove some debug messages
18228                 - Clarify some debug messages
18229                 - Remove code related to old single-thread wireless scanning
18230
18231         * src/NetworkManagerAP.[ch]
18232                 - New AP property "last_seen" to track how recently an AP was
18233                         found in a scan
18234                 - Start using 'const' more in function arguments
18235
18236         * src/NetworkManagerAPList.[ch]
18237                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18238                         of an AP found in an AP list from a source AP, or if not found
18239                         in the list add the source AP
18240                 - (nm_ap_list_combine): remove, no longer needed
18241
18242         * src/NetworkManagerDevice.c
18243                 - Each device now has a "worker" thread from start to end of its life.
18244                         Scanning for wireless devices now happens in that thread,
18245                         not in a single "wireless scanning thread" for all devices as
18246                         previously.  Activation consists of adding an idle handler to the
18247                         thread's main loop/context, which gets run at the next available
18248                         opportunity.
18249                 - Wireless scanning is also simplified, there is now only one list of
18250                         access points per wireless device, and APs older than 60s are
18251                         removed from the list.  Previously, we kept results for the last
18252                         3 scans and merged whole lists, which was complicated.
18253                 - Cleaned up activation debug messages.
18254                 - Wireless activation and access-point search routines now use Open System
18255                         authentication before trying Shared Key.
18256                 - Removed some code in nm_device_update_best_ap() that could cause cards
18257                         to loose their link to the access point.
18258                 - Scanning now uses a backoff algorithm, where the inverval becomes
18259                         progressively longer between scans when the list of scanned access
18260                         points doesn't change.  A change will revert to the shortest scan
18261                         interval (20s).
18262
18263         * src/NetworkManagerWireless.[ch]
18264                 - Remove code related to old single-thread wireless scanning
18265
18266 2005-01-18  Colin Walters  <walters@redhat.com>
18267
18268         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18269         of older nameservers.
18270
18271 2005-01-18  Colin Walters  <walters@redhat.com>
18272
18273         * named/nm-named-manager.c (generate_named_conf): Many fixes
18274         to config file generation.
18275         (safer_kill): Remove, was too much trouble for little gain.
18276         (nm_named_manager_start): Run named as NM_NAMED_USER.
18277
18278         * configure.in: Add option --with-named-user.
18279
18280 2005-01-14  Colin Walters  <walters@redhat.com>
18281
18282         Patch from ed@catmur.co.uk (Ed Catmur)
18283
18284         * named/nm-named-manager.c: Add "context" property.
18285         Use it to add child watch source in specific GMainContext.
18286
18287         * src/NetworkManager.c (nm_data_new): Initialize
18288         named with correct main context.  Start named only
18289         after forking.
18290
18291 2005-01-14  Colin Walters  <walters@redhat.com>
18292
18293         * named/nm-named-manager.c (generate_named_conf): Write config
18294         and pid files into NM_NAMED_DATA_DIR; this allows things to
18295         work better with FC3 named SELinux policy.  Also fix up silly
18296         format error.
18297
18298         * configure.in: Add --with-named-dir option.
18299
18300 2005-01-14  Colin Walters  <walters@redhat.com>
18301
18302         * configure.in: Make named support require passing --with-named.
18303
18304         * named/nm-named-manager.c: Support writing resolv.conf directly
18305         without running named.
18306
18307 2005-01-13  Dan Williams <dcbw@redhat.com>
18308
18309         * named/nm-named-manager.c
18310                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18311
18312         * src/NetworkManagerDevice.c
18313                 - Rework wireless link detection code to be more reliable
18314
18315 2005-01-12  Dan Williams <dcbw@redhat.com>
18316
18317         * initscripts/RedHat/NetworkManager
18318                 - Change initial level to "-" rather than "345" so that
18319                         we don't activate ourselves by default on install
18320
18321 2005-01-12  Dan Williams <dcbw@redhat.com>
18322
18323         * libnm_glib/
18324                 - Client library for applications using glib
18325
18326         * configure.in
18327           various Makefiles
18328                 - Split NM_CFLAGS and NM_LIBS into separate variables
18329                         like DBUS_*, HAL_* and GLIB_*
18330
18331         * src/NetworkManager.c
18332           src/NetworkManagerMain.h
18333                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18334                         broadcast a status changed signal over DBUS from the main thread.
18335                         Still unused anywhere for the moment.
18336
18337         Patch from j@bootlab.org
18338         * panel_applet/NMWirelessAppletDbus.c
18339           src/NetworkManagerDbus.c
18340                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18341                         for the "getMode" method call
18342
18343 2005-01-10  Dan Williams <dcbw@redhat.com>
18344
18345         * src/NetworkManagerDevice.c
18346                 - Minor fixups & corrections to "auto" frequency mode, make it
18347                         less chatty with syslog
18348
18349 2005-01-10  Dan Williams <dcbw@redhat.com>
18350
18351         * src/NetworkManagerDevice.c
18352                 - Implement "auto" frequency/channel support, since cards like Atheros
18353                         can't use other frequencies at all when you've told it to use a
18354                         specific one, even for scanning.
18355                 - Grab the scan mutex around places where we can't tolerate wireless
18356                         settings changing underneath us, like nm_device_wireless_network_exists()
18357                         and nm_device_activate_wireless()
18358
18359         * src/NetworkManagerWireless.c
18360                 - Back scan interval off to 20s instead of 14s
18361
18362 2005-01-09  Dan Williams <dcbw@redhat.com>
18363
18364         * src/NetworkManagerDevice.c
18365                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18366                         already set.  Stops some drivers like Atmel from continually
18367                         reloading the firmware, which they do upon every configuration
18368                         change.
18369
18370 2005-01-09  Dan Williams <dcbw@redhat.com>
18371
18372         * dhcpcd/client.c
18373                 - Use correct timeout value
18374
18375         * info-daemon/NetworkManagerInfoDbus.c
18376           src/NetworkManagerDbus.c
18377                 - Consolidate communication between NM and NMI by doing only 1 dbus
18378                         method call to get Wireless Network info from NMI instead of 6
18379
18380         * src/NetworkManager.c
18381                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18382                         when we didn't have an AP to use, we'd wait for one forever without
18383                         quitting
18384
18385         * src/NetworkManagerDevice.c
18386                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18387                         activation, dhcp might not have started yet but we don't quit activation
18388                         before starting it, so the quit signal gets lost
18389
18390 2005-01-07  Dan Williams <dcbw@redhat.com>
18391
18392         * dhcpcd/client.c
18393                 - Rework the DHCP client code to be much less chatty when
18394                         it receives non-DHCP UDP packets during the DHCP run
18395                         (reported by and preliminary patches from Bill Moss)
18396
18397         * Move wireless scanning to a separate thread.  This thread forwards the
18398                 results to the main thread when done where they are integrated into
18399                 the device's access point lists.  This keeps the main thread (which
18400                 does all the DBUS communication) from being blocked for long periods
18401                 of time by wireless scanning.
18402
18403         * Make state modification an idle routine in the main loop, and trigger
18404                 state changes rather than polling for them.
18405
18406         * src/backends/NetworkManagerGentoo.c
18407                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18408
18409         * src/NetworkManagerDevice.c
18410                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18411                         router advertisements, causing problems and infinite loop
18412                         during "best" device determination due to link going up/down
18413                         (reported by Bill Moss)
18414
18415         Apply patch from Peter Jones
18416         * src/NetworkManagerDevice.c
18417                 - Shortcut for link-checking for ipw2x00 cards
18418                 - Split out association check into separate routine
18419
18420 2004-01-05  Colin Walters  <walters@redhat.com>
18421
18422         * named/named.conf: Add PID_FILE.
18423
18424         * named/nm-named-manager.c: Always generate a pid
18425         file, since older BIND versions don't support
18426         "pid-file none".
18427
18428 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18429
18430         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18431
18432 2004-12-22  Dan Williams <dcbw@redhat.com>
18433
18434         * src/NetworkManagerDevice.c
18435                 - Silently fail when setting bitrate doesn't work
18436
18437
18438         Patches from j@bootlab.org:
18439         * src/backends/NetworkManagerDebian
18440                 - Update backend to match functionality in RedHat backend
18441         * src/NetworkManagerDevice.c
18442                 - Take down then bring up wired devices after connection so
18443                 they send out ipv6 router advertisements
18444
18445 2004-12-21  Colin Walters  <walters@verbum.org>
18446
18447         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18448         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18449
18450 2004-12-21  Colin Walters  <walters@redhat.com>
18451
18452         * configure.in: Correct named detection.
18453
18454 2004-12-21  Colin Walters  <walters@redhat.com>
18455
18456         * src/NetworkManager.c (nm_data_new): Initialize named.
18457         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18458         the mainloop when these signals are received.
18459         (nm_data_free): Unref named.
18460         (sigterm_handler, sigterm_pipe_handler): New functions for
18461         exiting mainloop.
18462         
18463         * src/NetworkManagerMain.h (NMData): Add signal handling and
18464         nameserver bits.
18465
18466         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18467         unref.
18468
18469         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18470         set nameservers from DHCP response data.
18471         (set_domain_search): Set domain search from DHCP response.
18472         (nm_device_dhcp_configure): Invoke them.
18473
18474         * src/NetworkManagerSystem.c
18475         (nm_system_device_update_resolv_conf): Delete.  Deleting
18476         code is totally sweet.
18477
18478         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18479
18480         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18481         implements an object which controls a nameserver.  Currently
18482         uses bind 9.
18483
18484         * configure.in: Check for named.
18485
18486         * Makefile.am (SUBDIRS): Add named dir.
18487
18488         * named/named.conf: New template config file.
18489
18490 2004-12-20  Colin Walters  <walters@redhat.com>
18491
18492         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18493         instead of '='.
18494
18495 2004-12-17  Dan Williams  <dcbw@redhat.com>
18496
18497         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18498                 link-local addresses instead of doing DHCP.
18499
18500         * In the panel applet, there's a new "Create new Wireless Network..." item
18501
18502         * The panel applet also sticks around now even if NetworkManager dies, but
18503                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18504                 a bug, I'll fix that later.
18505
18506         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18507                 lookups after a switch rather than actually doing them.
18508
18509         * Clean up some of those warnings in nm_ap_list_* functions
18510
18511         * Delay between scans changed to 15s instead of 10s
18512
18513 2004-12-15  Dan Williams  <dcbw@redhat.com>
18514
18515         Patch from Tom Parker
18516         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18517                 address
18518
18519         * Longer pause after setting ESSID on cards that support a larger number
18520                 of channels to give the card time to find the right channel
18521
18522         * Add system hook to restart mDNSResponder (or whatever the local implementation
18523                 of Multicast DNS is) when we activate interfaces
18524
18525 2004-12-15  Dan Williams  <dcbw@redhat.com>
18526
18527         * Rework the DHCP code again to revert to sending full ethernet frames
18528                 rather then relying on the kernel to do the right thing with our
18529                 packets.
18530
18531 2004-12-06  Dan Williams  <dcbw@redhat.com>
18532
18533         * dhcpcd/client.c
18534                 - Fix some minor errors in dhcp_handle_transaction() that caused
18535                         unexpected early timeouts of DHCP transactions
18536
18537         * dhcpcd/client.h
18538                 - DHCP retransmit time from 4s -> 5s
18539
18540 2004-12-05  Dan Williams  <dcbw@redhat.com>
18541
18542         * Major rework of the DHCP code, taking some cues from pump.  We don't
18543                 write raw Ethernet packets anymore, which simplifies the code quite
18544                 a bit.  The new code should be more robust, not hang in recvfrom()
18545                 as much, and generally work better.  This also means that we need
18546                 to force HAL/dbus to use a created GMainContext rather than the
18547                 default context, since having the DHCP renew/rebind thread using
18548                 its own GMainContext seemed to give dbus a fit.  There is also more
18549                 debugging information printed from the DHCP loop to help with future
18550                 problems.
18551
18552         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18553                 assume that the default gateway should be the DHCP server.
18554
18555         Patch from Matthew Schick <matt oss-institute org>
18556         * src/backends/NetworkManagerGentoo.c
18557                 - Fix compilation error due to missing "ip4_broadcast"
18558
18559 2004-12-03  Dan Williams  <dcbw@redhat.com>
18560
18561         * initscript/Makefile.am
18562         * initscript/Debian/NetworkManager
18563         * initscript/Gentoo/NetworkManager
18564         * initscript/RedHat/NetworkManager
18565         * initscript/NMLaunchHelper.c
18566                 - Remove NMLaunchHelper, if you need to wait until the network
18567                         comes up, use the dead code from CVS.
18568
18569 2004-12-01  Colin Walters  <walters@redhat.com>
18570         
18571         * configure.in: Suck in gcc warnings code from Rhythmbox,
18572         but use fewer default flags, and in particular add -Wno-unused,
18573         since the codebase has a lot of unused variables.
18574
18575         * test/nmtestdevices.c (create_device): 
18576         * test/nminfotest.c (get_network_string_property) 
18577         (get_networks_of_type): 
18578         * test/nmclienttest.c (main): 
18579         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18580         * initscript/NMLaunchHelper.c (get_nm_status): 
18581         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18582         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18583         Fix declarations after statements.
18584
18585 2004-12-01  Colin Walters  <walters@redhat.com>
18586
18587         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18588         (nmi_dbus_get_vpn_userpass): New method.
18589         (nmi_dbus_nmi_message_handler): Invoke it.
18590
18591         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18592
18593         * info-daemon/NetworkManagerInfoVPN.h,
18594         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18595         to requests for VPN passwords.
18596
18597         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18598
18599 2004-12-01  Colin Walters  <walters@redhat.com>
18600
18601         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18602         includes.
18603
18604 2004-12-01  Colin Walters  <walters@redhat.com>
18605
18606         * panel-applet/NMWirelessAppletDbus.c
18607         (nmwa_dbus_update_active_device_strength): Fix missing
18608         return value.
18609
18610 2004-12-01  Colin Walters  <walters@redhat.com>
18611
18612         * panel-applet/NMWirelessApplet.c: Add missing include.
18613
18614 2004-12-01  Colin Walters  <walters@redhat.com>
18615
18616         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18617         Remove useless CLAMP (); the value is unsigned, and the case tests
18618         qual->qual < 100, so the value must always be between 0 and 100.
18619
18620 2004-12-01  Colin Walters  <walters@redhat.com>
18621
18622         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18623
18624 2004-11-22  Colin Walters  <walters@verbum.org>
18625
18626         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18627         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18628         which is essentially a noop since nscd caches hosts on disk too.
18629         
18630 2004-11-22  Colin Walters  <walters@redhat.com>
18631
18632         * src/Makefile.am (NetworkManager_SOURCES): Add
18633         NetworkManagerDevicePrivate.h.
18634
18635 2004-11-22  Dan Williams <dcbw@redhat.com>
18636
18637         * src/NetworkManagerDevicePrivate.h
18638                 - Split out the NMDevice struct to a different file so that stuff like
18639                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18640
18641         * dhcpcd/client.c
18642                 - fprintf->syslog
18643                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18644                         need to cancel the dhcp request during the send and recv
18645
18646         * dhcpcd/client.h
18647                 - Move the DHCP option enum to dhcpcd.h
18648
18649         * src/NetworkManagerDHCP.c
18650                 - Split out the actual IP/netmask/etc setting code
18651                 - New Renew/Rebind functions
18652                 - New timer setup function for renew/rebind operations
18653
18654         * src/NetworkManagerDevice.c
18655                 - For device activation, if we are using DHCP then keep the activation thread
18656                         alive until device deactivation.  We need to renew/rebind the DHCP address
18657                         after the T1 (renew) and T2 (rebind) times have expired.
18658                 - Increase some timeouts after bringing wireless cards up/down
18659
18660 2004-11-17  Dan Williams <dcbw@redhat.com>
18661
18662         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18663                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18664                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18665                 show known access points that don't broadcast their ESSID in the menus without
18666                 any user intervention whatsoever.
18667
18668         * info-daemon/NetworkManagerInfoDbus.c
18669                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18670                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18671
18672         * src/NetworkManagerAP.[ch]
18673                 - Add a "user_addresses" data member to the NMAccessPoint structure
18674                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18675                         the user_addresses data member
18676
18677         * src/NetworkManagerAPList.c
18678                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18679                         the AP's reported address
18680                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18681
18682         * src/NetworkManagerDHCP.c
18683                 - Increase DHCP timeout from 25s -> 30s
18684
18685         * src/NetworkManagerDbus.[ch]
18686                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18687                         user addresses
18688
18689         * src/NetworkManagerDevice.c
18690                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18691                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18692                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18693                         So, we take the card down to clear it out.
18694                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18695                         too, since that's where the user_addresses are
18696
18697         * src/NetworkManagerPolicy.c
18698                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18699                         that wireless networks' user_addresses list upon successful activation
18700
18701 2004-11-16  Dan Williams <dcbw@redhat.com>
18702
18703         * src/NetworkManagerDevice.[ch]
18704                 - (nm_device_clear_activation_fail): new function
18705
18706         * src/NetworkManagerPolicy.c
18707                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18708                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18709
18710 2004-11-16  Dan Williams <dcbw@redhat.com>
18711
18712         * src/NetworkManagerDevice.c
18713                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18714                         leak the structure, better updating of now_scanning status
18715                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18716
18717 2004-11-15  Dan Williams <dcbw@redhat.com>
18718
18719         Major rework of link detection code.  We now use DHCP
18720         as part of the link detection which proves to be much more robust,
18721         and also supports Open System authentication for wireless networks.
18722
18723         We no longer use external DHCP client programs.  Instead, we use 
18724         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18725         which was written by:
18726                 Yoichi Hariguchi <yoichi@fore.com>
18727                 Sergei Viznyuk <sv@phystech.com>
18728                 http://www.phystech.com/download/
18729         It resides in the "dhcpcd" directory and was refactored into a general
18730         purpose DHCP client library by me.
18731
18732         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18733         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18734
18735 2004-11-15  Dan Williams <dcbw@redhat.com>
18736
18737         Patch from Tom Parker <palfrey@tevp.net>:
18738
18739         * src/NetworkManagerDevice.c
18740                 - Less output to console when no access
18741                         points are found during a scan
18742
18743 2004-11-15  Dan Williams <dcbw@redhat.com>
18744
18745         Patch from Tom Parker <palfrey@tevp.net>:
18746
18747         * src/backends/interface_parser.c
18748                 - Use g_strdup ()
18749                 - Check for inp == NULL
18750                 - use syslog ()
18751
18752 2004-11-13  Colin Walters  <walters@redhat.com>
18753
18754         Patch from Tom Parker <palfrey@tevp.net>:
18755
18756         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18757         
18758         * src/backends/NetworkManagerRedHat.c: Switch to
18759         including shvar.h instead of shvar.c.
18760
18761         * src/backends/NetworkManagerDebian.c: Don't include
18762         interface_parser.c in source file.
18763
18764         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18765         and interface_parser.[ch].
18766         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18767         Include shvar.c and shvar.h here.
18768         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18769         interface_parser.c and interface_parser.h here.
18770
18771 2004-11-12  Colin Walters  <walters@redhat.com>
18772
18773         * configure.in: Strip out TARGET_DISTRO and
18774         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18775         conditionals.
18776
18777         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18778         (libnmbackend_la_SOURCES): Use Automake conditionals
18779         to add distro-specific files.
18780
18781         * initscript/Makefile.am (SUBDIRS): Update to
18782         use conditionals.
18783
18784 2004-11-12  Colin Walters  <walters@redhat.com>
18785
18786         Patches from j bootlab org
18787
18788         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18789         Add interface_parser.[ch].
18790
18791         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18792         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18793
18794 2004-11-12  Colin Walters  <walters@redhat.com>
18795
18796         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18797         call to nmi_dbus_is_running too, not necessary anymore.
18798         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18799         pick up exit().
18800
18801 2004-11-11  Colin Walters  <walters@verbum.org>
18802
18803         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18804         Delete.
18805         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18806         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18807         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18808         This avoids a race condition that made it pretty easily
18809         possible to get two NetworkManagerInfo daemons running.
18810
18811 2004-11-11  Colin Walters  <walters@verbum.org>
18812         
18813         * src/NetworkManager.c (main): Use daemon(3).
18814
18815         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18816
18817         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18818
18819 2004-11-10 Dan Williams <dcbw@redhat.com>
18820
18821         Patches from j bootlab org
18822         * src/NetworkManagerDevice.c
18823                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18824                         whether the card has a link or not, some cards are slow
18825                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18826
18827         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18828                 - Disable the "Login" button on the passphrase dialog until the user
18829                         enters a valid passphrase or key
18830
18831         Patches from Tom Parker <palfrey tevp net>
18832         * src/backends/NetworkManagerDebian.c
18833                 - Add static IP support to the debian backend
18834
18835         * src/backends/interface_parser.[ch]
18836                 - Parse debian interface config files
18837
18838 2004-11-08 Dan Williams <dcbw@redhat.com>
18839
18840         * src/NetworkManagerDevice.c
18841                 - Some random fprintf->syslog conversions
18842                 - (nm_device_wireless_network_exists): double-check for network
18843                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18844
18845         * src/NetworkManagerWireless.[ch]
18846                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18847                         so that the binary->ascii conversion works (if unsigned, the bitshift
18848                         will fill with zeros, which is what's required).  Also mask bitshift
18849                         result with 0xF for futher assurance.
18850
18851 2004-11-06 Dan Williams <dcbw@redhat.com>
18852
18853         * src/NetworkManagerUtils.c
18854                 - (nm_get_wireless_driver_support_level): default to
18855                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18856                         flip this when changing from whitelist->blacklist of
18857                         wireless drivers
18858
18859 2004-11-05 Dan Williams <dcbw@redhat.com>
18860
18861         Patch from Robert Paskowitz:
18862         * src/backends/NetworkManagerGentoo.c
18863                 - Update static IP config code
18864
18865 2004-11-05 Dan Williams <dcbw@redhat.com>
18866
18867         * info-daemon/NetworkManagerInfoDbus.c
18868           src/NetworkManagerDbus.[ch]
18869           src/NetworkManagerDevice.c
18870                 - Keep track of the # of attempts to get the WEP key
18871                         from the user and pass that along to the info daemon
18872
18873 2004-11-05 Dan Williams <dcbw@redhat.com>
18874
18875         * src/NetworkManagerUtils.c
18876                 - Blacklist wireless cards rather than whitelisting them.
18877                 - Grab driver name from HAL rather than trying to find it
18878                         ourselves.
18879
18880 2004-11-03 Dan Williams <dcbw@redhat.com>
18881
18882         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18883                 - Disable OK button until valid data is entered
18884                         for encryption stuff too
18885
18886         * panel-applet/NMWirelessApplet.c
18887                 - Report card strength for current AP if the card
18888                         doesn't report strength data for scanned access
18889                         points
18890
18891         * src/NetworkManagerDevice.c
18892                 - Smooth out cards reported quality, Atmel card was
18893                         intermittently reporting no quality data but soon
18894                         recovers
18895
18896         * src/NetworkManagerWireless.c
18897                 - Better quality data percentage calculation.  Atmel
18898                         cards (mine at least) seem to report the quality
18899                         in percentage format already, so honor that
18900
18901         Patch from <j@bootlab.org>
18902         * NetworkManager.h
18903           info-daemon/NetworkManagerInfoPassphraseDialog.c
18904           info-daemon/passphrase.glade
18905           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18906           panel-applet/essid.glade
18907           src/NetworkManagerAP.c
18908           src/NetworkManagerDevice.c
18909           src/NetworkManagerWireless.[ch]
18910                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18911
18912 2004-11-03 Dan Williams <dcbw@redhat.com>
18913
18914         * src/NetworkManagerDevice.[ch]
18915                 - (nm_device_set_enc_key): Add parameter to set Authentication
18916                         Mode (Open System, Shared Key, or None).  We're still using
18917                         Shared Key for now though.
18918
18919 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18920
18921         * panel-applet/menu-info.c: change from bold text to light
18922         colored, may cause problems with some themes, i've tested a lot
18923         and they seem fine. 
18924
18925         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18926
18927 2004-11-01  Colin Walters  <walters@verbum.org>
18928
18929         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18930         (nm_wireless_128bit_key_from_passphrase): Add const.
18931
18932         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18933         (nm_ap_set_enc_key_source): Add const.
18934         
18935 2004-11-01  Colin Walters  <walters@verbum.org>
18936
18937         * .cvsignore: Update.
18938
18939 2004-10-29 Dan Williams <dcbw@redhat.com>
18940
18941         * src/NetworkManagerDevice.c
18942                 - (nm_device_wireless_network_exists): Actually use the encryption
18943                         key we got from the applet when attempting to find a wireless network
18944                 - Don't bring devices down so much since on some cards it triggers
18945                         firmware hotplugs each time
18946
18947         * src/NetworkManagerDbus.c
18948                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18949                         from the caller
18950
18951 2004-10-29 Dan Williams <dcbw@redhat.com>
18952
18953         * src/NetworkManager.c
18954                 - (nm_hal_device_property_modified): unlock a locked active
18955                         wireless device when a wired connection gets a link.
18956                         (Means you'll switch to wired whenever you plug in no
18957                         matter what).
18958
18959 2004-10-29 Dan Williams <dcbw@redhat.com>
18960
18961         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
18962                 - New files, implement the "Other wireless network" dialog
18963
18964         * panel-applet/NMWirelessApplet.c
18965                 - Move "other wireless network" dialog to separate file
18966
18967         * panel-applet/NMWirelessAppletDbus.[ch]
18968                 - Take key and key_type paramaters for the set_device function
18969
18970         * panel-applet/essid.glade
18971                 - Add UI bits for encryption settings
18972
18973         * src/NetworkManagerDbus.c
18974                 - Retrieve key and key_type params for "setActiveDevice" method call
18975                         and pass them on
18976                 - unref AP returned from nm_device_get_best_ap() when needed
18977
18978         * src/NetworkManagerDevice.c
18979                 - (nm_device_get_best_ap): ref the ap before returning it
18980                 - unref AP returned from nm_device_get_best_ap() when needed
18981                 - (nm_device_activate_wireless): add "ap" parameter so we don't
18982                         need to call nm_device_get_best_ap() here, it was pretty much
18983                         redundant anyway
18984                 - (AP_NEED_KEY): break second link check condition out into separate
18985                         function, and fix segfault when ap->enc_key_source was NULL
18986                 - (nm_device_find_and_use_essid): take key and key_type parameters and
18987                         pass them along to nm_device_wireless_network_exists().  If the
18988                         network does exist, set the passed-in key+key_type on the AP
18989
18990         * src/NetworkManagerPolicy.c
18991                 - unref AP returned from nm_device_get_best_ap() when needed
18992
18993 2004-10-28 Dan Williams <dcbw@redhat.com>
18994
18995         * src/NetworkManagerUtils.c
18996                 - (nm_spawn_process): Fix a potential dereference of NULL
18997
18998         Patches from Peter Jones:
18999
19000         * src/NetworkManagerDevice.c
19001                 - (nm_device_test_wireless_extensions): Better check for
19002                         wireless devices
19003
19004         * src/NetworkManagerUtils.c
19005                 - (nm_spawn_process): Pass in valid stdout and stderr so
19006                         executed programs don't randomly SIGPIPE and fail
19007                 - (nm_get_wired_driver_support_level): quash hal warning
19008                         when checking for USB ethernet device
19009
19010 2004-10-27 Dan Williams <dcbw@redhat.com>
19011
19012         * info-daemon/NetworkManagerInfo.c
19013           info-daemon/NetworkManagerInfoDbus.c
19014           info-daemon/NetworkManagerInfoPassphraseDialog.c
19015           panel-applet/NMWirelessApplet.c
19016                 - Properly escape gconf keys
19017
19018         * src/NetworkManager.c
19019                 - remove unused variables
19020
19021         * src/NetworkManagerAP.c
19022                 - (nm_ap_new_from_ap): Don't redundantly set new APs
19023                         refcount since it got set in nm_ap_new()
19024
19025         * src/NetworkManagerAPList.c
19026                 - (nm_ap_list_combine): Give up ownership of newly created
19027                         access points to the ap list, fixes memleak
19028
19029         * src/NetworkManagerDevice.c
19030                 - Remove cached_ap_list4 member since its not really needed
19031                 - (nm_device_wireless_network_exists): Try to get correct
19032                         encryption status of a found AP if its already in our
19033                         device list
19034                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
19035                         memory allocs/deallocs a bit clearer and shorter-lived
19036
19037 2004-10-26 Ray Strode <rstrode@redhat.com>
19038
19039         * panel-applet/NMWirelessApplet.c:
19040           (custom_essid_item_selected):  kill some compiler
19041         warnings 
19042
19043 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
19044
19045         * info-daemon/NetworkManagerInfoDbus.c
19046                 - (nmi_dbus_is_running): New function for determining if nmi is already running
19047                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
19048
19049 2004-10-23 Dan Williams <dcbw@redhat.com>
19050
19051         * info-daemon/NetworkManagerInfoDbus.c
19052                 - Trap the "DeviceActivationFailed" signal
19053
19054         * docs/NetworkManager DBUS API.txt
19055                 - Add "DeviceActivationFailed" signal
19056
19057         * panel-applet/NMWirelessAppletDbus.c
19058                 - Quash the "NetworkManager service not available" message
19059
19060         * src/NetworkManagerDbus.[ch]
19061                 - Add the "DeviceActivationFailed" signal
19062
19063         * src/NetworkManagerDevice.c
19064                 - Add support for activation_failed flag
19065                 - Fix deadlock where activation thread didn't clean itself up, making
19066                         main thread still believe it was alive forever (didn't reset activation
19067                         flags like activating, just_activated, etc when IP configuration
19068                         failed)
19069
19070         * src/NetworkManagerPolicy.c
19071                 - Implement logic for DeviceActivationFailed signal, and when activation fails
19072                         for wireless networks, try to fall back to some other access point
19073
19074 2004-10-23 Dan Williams <dcbw@redhat.com>
19075
19076         * panel-applet/NMWirelessApplet.[ch]
19077                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
19078                         to the applet object, so we can get tooltips
19079                 - Add tooltips (RH #136866)
19080
19081         * src/NetworkManagerDevice.c
19082                 - When trying to find a wireless network, try to connect with encryption
19083                         turned on first, so that we can more accurately detect whether or not
19084                         we need to use encryption for the actual association later on
19085
19086 2004-10-21 Dan Williams <dcbw@redhat.com>
19087
19088         * Add some support for telling NetworkManagerInfo to tell the user
19089                 that they are using a device that's not fully supported
19090
19091         * Fix some assertions in debug messages due to null access point args
19092
19093 2004-10-21 Dan Williams <dcbw@redhat.com>
19094
19095         * src/NetworkManagerDevice.c
19096                 - Don't try to activate/bring up/down unsupported
19097                         devices
19098
19099         * src/NetworkManagerUtils.c
19100                 - Fix case of PCI ID checks for driver support levels
19101
19102 2004-10-21 Dan Williams <dcbw@redhat.com>
19103
19104         * NetworkManager.h
19105                 - New file, now contains commonly used structures and bits
19106                         for the dbus API of NetworkManager
19107
19108         * Makefile.am
19109                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
19110
19111         * src/NetworkManager.h
19112                 - Rename -> src/NetworkManagerMain.c
19113
19114         * Various fixups all around to use NetworkManager.h and new
19115                 src/NetworkManagerMain.h, remove redundant bits that got
19116                 moved into NetworkManager.h
19117
19118         * src/NetworkManagerDevice.[ch]
19119           src/NetworkManagerUtils.[ch]
19120           src/NetworkManagerPolicy.c
19121           src/NetworkManagerDbus.c
19122                 - Whitelist wireless drivers, and blacklist some wired
19123                         drivers.  Also blacklist cipsec and ethernet-over-usb
19124                         devices at this time (RH #135722, RH #135648)
19125                 - Don't leak unsupported devices out over dbus, or allow
19126                         them to be set as the active device.  Skip over them
19127                         during automatic device picking
19128
19129         * test/nmclienttest.c
19130                 - Clean up the dbus code a lot
19131
19132 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
19133
19134         * configure.in: post release bump.
19135
19136 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
19137
19138         * configure.in:
19139         * NEWS: Released NetworkManager-0.3.1
19140
19141 2004-10-18 Dan Williams <dcbw@redhat.com>
19142
19143         Patches from Thom May:
19144         * test/nmtestdevices.c
19145                 - Include <string.h>
19146         * src/backends/NetworkManagerDebian.c:
19147                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19148                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19149                         Move to using g_strdup_printf rather than arbitrary buffers
19150                 - (nm_system_device_setup_static_ip4_config) Implement function.
19151                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19152
19153 2004-10-17 Dan Williams <dcbw@redhat.com>
19154
19155         * info-daemon/NetworkManagerInfoDbus.c
19156                 - Display name of network in the "network not found" dialog
19157
19158         * panel-applet/NMWirelessAppletDbus.c
19159                 - (nmwa_dbus_call_nm_method): new function replaces all other
19160                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19161                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19162                         consolidated into nmwa_dbus_get_object_name()
19163
19164 2004-10-15 Dan Williams <dcbw@redhat.com>
19165
19166         * src/NetworkManagerDbus.c
19167           info-daemon/NetworkManagerInfoDbus.c
19168                 - Display an error dialog when the user tries to use an
19169                         "Other wireless network" that's not found.
19170
19171 2004-10-15 Dan Williams <dcbw@redhat.com>
19172
19173         * panel-applet/NMWirelessApplet.[ch]
19174                 - Fix up corner cases in applet state, making it
19175                         look more responsive.  Change state to "connecting" when
19176                         the user is forcing a device too.
19177
19178 2004-10-15 Dan Williams <dcbw@redhat.com>
19179
19180         * src/NetworkManagerAPList.c
19181                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19182
19183         * src/NetworkManagerDbus.c
19184                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19185
19186         * src/NetworkManagerDevice.c
19187                 - Disown APs after the device's AP list takes ownership
19188
19189 2004-10-15 Dan Williams <dcbw@redhat.com>
19190
19191         * panel-applet/NMWirelessApplet.c
19192                 - Update our applet state from the GUI thread
19193
19194         * panel-applet/NMWirelessAppletDbus.c
19195                 - Greatly simplify the locking to make the GUI thread
19196                         smoother.  Update a private copy of the device list
19197                         and active device and only when done talking to
19198                         NetworkManager turn it over to the GUI thread.
19199
19200 2004-10-15 Dan Williams <dcbw@redhat.com>
19201
19202         * src/NetworkManagerAP.[ch]
19203                 - Add "artificial" get/set functions, set for APs that
19204                         aren't discovered as part of a scan but instead
19205                         discovered by force-setting the ESSID
19206
19207         * src/NetworkManagerDevice.[ch]
19208                 - (nm_device_wireless_network_exists): pass back whether
19209                         or not the discovered AP was encrypted.  Also, try
19210                         falling back to encrypted mode on the card if unencrypted
19211                         association doesn't work
19212                 - (nm_device_find_and_use_essid): If the network requested
19213                         did in fact exists, but it wasn't in our scan list, add
19214                         an "artificial" entry for it.  Some Cisco cards don't
19215                         see non-ESSID-broadcasting APs in their scan but can still
19216                         associate with them if you know the ESSID, this works around
19217                         that behavior
19218                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19219                         to scan if the card is currently associated with that AP
19220
19221 2004-10-15 Dan Williams <dcbw@redhat.com>
19222
19223         ---- We have a website ----
19224         http://people.redhat.com/dcbw/NetworkManager
19225
19226         Patch from Robert Paskowitz:
19227         * src/NetworkManager.c
19228                 - (main): Make sure we are run as root
19229         * src/NetworkManagerDevice.c
19230                 - Fix type in ad-hoc setting function
19231
19232         Patch from Thom May:
19233         * src/backends/NetworkManagerDebian.c
19234                 - Make Debian backend compile again
19235
19236 2004-10-14 Dan Williams <dcbw@redhat.com>
19237
19238         * Tagged NetworkManager-0_3
19239
19240 2004-10-14 Dan Williams <dcbw@redhat.com>
19241
19242         Patch from Robert Paskowitz:
19243         * NEWS
19244           src/NetworkManagerDevice.[ch]
19245           src/backends/NetworkManagerDebian.c
19246           src/backends/NetworkManagerGentoo.c
19247           src/backends/NetworkManagerRedHat.c
19248           src/backends/NetworkManagerSlackware.c
19249                 - Add support for grabbing and using a broadcast address
19250                         from system config files
19251                 - Some Gentoo backend fixes for grabbing network config
19252                 - Fix LOG_WARN->LOG_WARNING
19253
19254 2004-10-14 Dan Williams <dcbw@redhat.com>
19255
19256         * NEWS: a few small fixes in the credits
19257
19258 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19259
19260         * NEWS: prep for release.
19261
19262 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19263
19264         * panel-applet/NMWirelessAppletDbus.c
19265         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19266
19267 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19268
19269         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19270         applet->state == APPLET_STATE_NO_NM animation.
19271
19272         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19273         set the text correctly.
19274
19275 2004-10-14 Dan Williams <dcbw@redhat.com>
19276
19277         * src/NetworkManager.c
19278                 - Only accept and manager 802.3 and 802.11 devices
19279
19280         * src/NetworkManagerDbus.[ch]
19281                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19282                         logic into NetworkManagerDevice.c
19283                 - (nm_dbus_network_status_from_data): new function
19284                 - (nm_dbus_signal_network_status_change): new function, unused for now
19285                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19286
19287         * src/NetworkManagerDevice.[ch]
19288                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19289                         a random ESSID.
19290
19291 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19292
19293         * info-daemon/NetworkManagerInfo.c 
19294                 - (main): Added session management
19295
19296 2004-10-14 Dan Williams <dcbw@redhat.com>
19297
19298         * panel-applet/NMWirelessAppletDbus.[ch]
19299                 - Expose network_device_[un]ref()
19300                 - Expose wireless_network_[un]ref()
19301                 - (wireless_network_new_with_essid): new function, create and return
19302                         a wireless network with a particular essid
19303
19304         * panel-applet/NMWirelessApplet.c
19305                 - Hook up the "other network" dialog to do something
19306
19307 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19308
19309         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19310         doesn't work yet, but it looks okay.
19311
19312         * panel-applet/icons/*png: Resize to 22x22 and install in the
19313         right place.
19314
19315 2004-10-13 Dan Williams <dcbw@redhat.com>
19316
19317         * panel-applet/NMWirelessApplet.c
19318                 - Add function to print out applet_state in a readable
19319                         manner
19320
19321         * src/NetworkManager.c
19322                 - (main): Don't segfault when nm_dbus_init() fails, we had
19323                         a left-over call to hal_shutdown() into which we passed NULL
19324
19325         * src/NetworkManagerAP.c
19326                 - (nm_ap_set_essid): Allow NULL essids
19327
19328         * src/NetworkManagerAPList.[ch]
19329                 - More use of nm_ap_list_[un]lock ()
19330                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19331                         network/essid, just return nothing.  Also skip over NULL
19332                         essid access points in the list when searching
19333                 - (nm_ap_list_get_ap_by_address): new function
19334                 - (nm_ap_list_update_network): set the access point's key source to
19335                         NULL when the key returned from NetworkManagerInfo is NULL or
19336                         of 0 length
19337                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19338                         copy timestamp over too
19339                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19340                         find the correct ESSID for a blank-essid access point by searching
19341                         through another list and matching access point MAC addresses
19342                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19343
19344         * src/NetworkManagerDbus.c
19345                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19346                         may specify.  This is mainly for access points that don't
19347                         broadcast their essid.  So if the user tells us to associate with
19348                         some random ESSID that's not in our access point list, we find
19349                         out if the access point does in fact exist (by attempting association
19350                         and then matching that access point's MAC address with the essid the
19351                         user gave us) and then we switch to it.
19352                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19353                         to the returned list of networks for the "getNetworks" method
19354
19355         * src/NetworkManagerDevice.[ch]
19356                 - Extra debugging info for link detection
19357                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19358                         based on MAC address
19359                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19360                 - (nm_device_wireless_network_exists): new function, find out whether
19361                         a random ESSID exists by attempting to associate with it
19362                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19363                         device list as long as they have an AP MAC address we can use.
19364                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19365                         devices too.  Lets the applet update more frequently.
19366
19367         * src/backends/NetworkManagerGentoo.c
19368                 - Patch from: Robert Paskowitz
19369                         - Update backend code for Gentoo
19370                         - Implement nm_system_device_update_config_info ()
19371
19372         * test/nmclienttest.c
19373                 - (set_network_device): new function, takes a command-line argument
19374                         and tells NetworkManager to use that wireless network
19375
19376 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19377
19378         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19379         if the notification icon crashes 5 times within 5 seconds of each respawn 
19380
19381 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19382
19383         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19384         g_print.
19385
19386 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19387
19388         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19389
19390         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19391         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19392         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19393         Change the name of the icons.
19394
19395         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19396         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19397         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19398         (nm_menu_wireless_expose_event): Really bad hack to get the style
19399         to draw in the right color.
19400
19401 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19402
19403         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19404         Notification if it crashes
19405
19406 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19407
19408         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19409         (nmwa_dbus_get_string): remove unused functions
19410
19411         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19412         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19413         remove unused functions
19414
19415         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19416
19417 2004-10-12 Dan Williams <dcbw@redhat.com>
19418
19419         * panel-applet/NMWirelessAppletDbus.c
19420                 - New functions:
19421                         wireless_network_new
19422                         wireless_network_copy
19423                         network_device_new
19424                         network_device_copy
19425
19426         * src/NetworkManagerDevice.[ch]
19427                 - New functions:
19428                         nm_device_set_mode_managed
19429                         nm_device_set_mode_adhoc
19430                 - Use these functions where appropriate
19431                 - When creating a new wireless device, force the card
19432                         to managed/Infrastructure mode as soon as possible
19433
19434 2004-10-12 Dan Williams <dcbw@redhat.com>
19435
19436         * src/NetworkManagerDevice.c
19437                 - Force wireless cards into Infrastructure mode before we use them
19438
19439 2004-10-12 Dan Williams <dcbw@redhat.com>
19440
19441         * TODO
19442                 - Remove bit about static IP address support
19443
19444         * src/NetworkManagerUtils.c
19445                 - (nm_spawn_process): Add some error reporting
19446
19447         * src/NetworkManagerDevice.c
19448                 - (nm_device_activation_configure_ip): hook up to the static config
19449                         routines in the backends
19450
19451         * src/backends/NetworkManagerRedHat.c
19452                 - (nm_system_device_update_config_info): use shvar.c routines to
19453                         parse the config file iformation, not our own
19454                 - (nm_system_device_setup_static_ip4_config): new function, based
19455                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19456                         with a static IP address and gateway
19457
19458         * src/backends/shvar.[ch]
19459                 - Parser (filched from initscripts package) for ifcfg-* files
19460
19461         * src/backends/NetworkManagerSystem.h
19462           src/backends/NetworkManagerGentoo.c
19463           src/backends/NetworkManagerDebian.c
19464           src/backends/NetworkManagerSlackware.c
19465                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19466
19467 2004-10-11 Dan Williams <dcbw@redhat.com>
19468
19469         * TODO
19470                 - Remove bit about more robust AP diffing since I just implemented it
19471
19472 2004-10-11 Dan Williams <dcbw@redhat.com>
19473
19474         * src/NetworkManagerAP.c
19475                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19476                         enough RAM to allocate new AP structures, but return NULL instead
19477
19478         * src/NetworkManagerAPList.[ch]
19479                 - (nm_ap_list_is_empty): new function
19480                 - (nm_ap_list_combine): new function, combine two access point lists
19481                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19482                         into another
19483
19484         * src/NetworkManagerDevice.[ch]
19485                 - Rename some functions to be clearer:
19486                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19487                         nm_device_just_activated     -> nm_device_is_just_activated
19488                         nm_device_activating         -> nm_device_is_activating
19489                         nm_device_now_scanning       -> nm_device_is_scanning
19490                 - Cache the last 4 scans so that the access point list is more stable.
19491                         We combine the lastest two scans and use that as the AP list,
19492                         and diff that combined list against the combination of the earliest
19493                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19494
19495 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19496
19497         * info-daemon/NWManagerInfo.h
19498                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19499
19500         * info-daemon/NWManagerInfoDbus.c
19501                 - (shutdown_callback): new function
19502                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19503                         if NetworkManager goes away.  Kill the timeout
19504                         if NetworkManager restarts before the 30 seconds
19505                         are up.
19506                 - (nmi_dbus_service_init): 
19507                         - call gtk_main_quit if NetworkManager is not running
19508                         - add filters to monitor dbus service creations and
19509                                 deletions
19510         
19511 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19512
19513         * panel-applet/NMWirelessApplet.c
19514                 - (nmwa_update_state): Hide notification icon if we are only
19515                         showing one wired card and no wireless interfaces 
19516                         (Red Hat Bug #134895)
19517
19518         * panel-applet/NMWirelessAppletDbus.c
19519                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19520
19521         * info-daemon/NWManagerInfo.c
19522                 - (main): Terminated the notification_icon_cmd array with a NULL
19523
19524 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19525
19526         * configure.in (ALL_LINGUAS): Added de (German).
19527
19528 2004-10-08 Dan Williams <dcbw@redaht.com>
19529
19530         * src/NetworkManagerDevice.c
19531                 - Be a bit more robust about link checking, ie make sure that
19532                         the WEP key we were given actually has some data in it
19533
19534 2004-10-08 Dan Williams <dcbw@redhat.com>
19535
19536         * info-daemon/NetworkManagerInfo.c (main):
19537                 - Initialize GError object to NULL
19538
19539 2004-10-08 Dan Williams <dcbw@redhat.com>
19540
19541         * panel-applet/NMWirelessAppletDbus.c
19542                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19543
19544 2004-10-08 Dan Williams <dcbw@redhat.com>
19545
19546         * info-daemon/NetworkManagerInfo.[ch]
19547           info-dameon/NetworkManagerInfoDbus.[ch]
19548           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19549                 - Preserve original label text in the passphrase dialog so that
19550                         it actually gets updated with the new network name the next
19551                         time around.  Previously, we were overwriting it so you'd get
19552                         the wrong network name to enter a key for
19553                 - Add a "Key Type" combo to the passphrase dialog, user selects
19554                         encryption key type now, type is stored in GConf too
19555                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19556
19557         * src/NetworkManagerAP.[ch]
19558                 - Remove all the encyption method magic.  It's now set by the user
19559                         and NetworkManager retrieves the type of encryption key from
19560                         NetworkManagerInfo
19561
19562         * src/NetworkManagerAPList.[ch]
19563           src/NetworkManagerDbus.[ch]
19564                 - Adjust to new way of setting encryption key and method
19565                 - Pull encryption method down from NMI along with key
19566
19567         * src/NetworkManagerDevice.[ch]
19568                 - Removed encryption method fallback magic as the method is now
19569                         determined by the user.  This greatly simplifies the connection
19570                         logic.
19571                 - More robust connection/link logic.  Besides removing the encryption
19572                         method fallback magic, check whether or not the card is receiving
19573                         invalidly encrypted packets, which usually indicates that we have
19574                         a bad WEP key set.
19575                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19576
19577         * test/nminfotest.c
19578                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19579
19580 2004-10-07 Dan Williams <dcbw@redhat.com>
19581
19582         * info-daemon/NetworkManagerInfo.conf
19583                 - Allow root user to run NMI too
19584
19585 2004-10-06 Dan Williams <dcbw@redhat.com>
19586
19587         * src/NetworkManagerDevice.[ch]
19588           src/NetworkManagerDbus.c
19589           doc/NetworkManager DBUS API.txt
19590                 - Add a new status tag "scanning", which is set when there
19591                         is no active network connection, but NetworkManager is
19592                         looking for an access point to associate with
19593
19594         * panel-applet/main.c
19595                 - Cast the applet appropriately for gtk_widget_show_all ()
19596
19597 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19598
19599         * panel-applet/eggtrayicon.[ch]:
19600         * panel-applet/main.c: Add missing file
19601
19602 2004-10-04 Dan Williams <dcbw@redhat.com>
19603
19604         * src/NetworkManagerDevice.[ch]
19605                 - Add a slightly more robust method of determining if the WEP key
19606                         is correct or not, by checking the WEP-discarded packet count
19607                         on the card
19608
19609         * info-daemon/NetworkManagerInfo.c
19610                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19611                         un-escape values we pull out rather than escaping them
19612
19613 2004-10-03  Marcel Telka  <marcel@telka.sk>
19614
19615         * configure.in (ALL_LINGUAS): Added sk.
19616
19617 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19618
19619         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19620         and feel.  We should be back to working, and have a good, clean
19621         look.
19622
19623 2004-09-30 Dan Williams <dcbw@redhat.com>
19624
19625         * info-daemon/NetworkManagerInfo.c
19626           info-daemon/NetworkManagerInfoDbus.c
19627           test/nminfotest.c
19628                 - Escape ESSIDs in gconf
19629
19630         * src/NetworkManagerDevice.c
19631                 - Fix pseudo-scanning to use netowrk list from info daemon
19632
19633 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19634
19635         * configure.in: Add a temporary --enable-notification-icon.  This
19636         will prolly go away.
19637
19638         * info-daemon/Makefile.am:
19639         * info-daemon/NetworkManagerInfo.c:
19640         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19641
19642         * panel-applet/Makefile.am:
19643         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19644         * panel-applet/NMWirelessApplet.h:
19645
19646 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19647
19648         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19649         before 'select custom ESSID'.
19650
19651         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19652         fully complete, but syncing in prep for merge.
19653
19654         * panel-applet/icons/*png: New images
19655
19656 2004-09-28 Dan Williams <dcbw@redhat.com>
19657
19658         * src/NetworkManager.c
19659           src/NetworkManagerDevice.c
19660           src/NetworkManagerPolicy.c
19661                 - Don't blow away an active wired connection on startup
19662
19663 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19664
19665         Changes from J5
19666         
19667         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19668
19669         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19670         syslog output
19671
19672 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19673
19674         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19675         have a wireless card.
19676
19677 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19678
19679         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19680         Also, get the right device strings.
19681
19682 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19683
19684         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19685         the logic to make this right.
19686
19687         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19688         devices so that wired networks are always first.
19689
19690 2004-09-22    <clarkbw@cvs.gnome.org>
19691
19692         * initscript/Debian/.cvsignore:
19693         * initscript/Slackware/.cvsignore:
19694         Added new cvsignores for Makefile, Makefile.in
19695         
19696         * test/.cvsignore:
19697         Added nmtestdevices
19698         
19699         * src/NetworkManagerDevice.c: 
19700         * src/NetworkManager.c: 
19701         Updated the wireless/wired HAL device strings from net.ethernet to
19702         net.80203 or net.80211 depending on wired or wireless respectively
19703         
19704         * examples/python/NetworkManager.py: 
19705         s/Quality/Strength/
19706
19707         * examples/python/systray/network_tray.py:
19708         Lots of little changes and fixes.  been rotting for a while so I
19709         figured I'd finally sync them all with CVS
19710
19711 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19712
19713         * configure.in: Add graphics
19714
19715         * panel-applet/Makefile.am: Add graphics
19716
19717         * panel-applet/icons/*: Add graphics
19718
19719         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19720         the icons fully lined up.
19721
19722         * panel-applet/menu-info.c: 
19723         * panel-applet/menu-info.h: Add another menu type.
19724
19725 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19726
19727         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19728
19729         * panel-applet/menu-item.[ch]: Wireless menu item.
19730
19731 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19732
19733         * info-daemon/NetworkManagerInfo.conf
19734                 - Created a more robust security policy for the DBus service
19735                         - everything is denied by default
19736                         - root can own and send to the service
19737                         - users logged in at the console can send to the service
19738
19739 2004-09-13  Dan Williams <dcbw@redhat.com>
19740
19741         * src/NetworkManagerDevice.c
19742                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19743                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19744                         the latter
19745
19746 2004-09-13  Dan Williams <dcbw@redhat.com>
19747
19748         * TODO: fix typo
19749
19750         * docs/NetworkManager DBUS API.txt
19751                 - Update for new signal strength changes
19752
19753         * panel-applet/NMWirelessApplet.c
19754                 - Make panel icon show strength of the current connection
19755                 - Cleanups and memleak fixes
19756
19757         * panel-applet/NMWirelessApplet.h
19758                 - Add data members for signal strength on devices and networks
19759
19760         * panel-applet/NMWirelessAppletDbus.c
19761                 - Free more DBusErrors
19762                 - Update for new signal strength changes
19763                 - Make devices and networks more like real objects, use ref/unref methods
19764                 - Actually unlock the mutex when updating the active device
19765
19766         * src/NetworkManagerAP.c
19767                 - Change AP functions and data members from "quality"->"strength"
19768
19769         * src/NetworkManagerDbus.c
19770                 - Kill "getMaxQuality" and "getQuality" methods
19771                 - Add "getStrength" methods for Networks and Devices
19772
19773         * src/NetworkManagerDevice.[ch]
19774                 - Add accessors for device strength
19775                 - Add functions to update strength for a device.  Note that not all drivers
19776                         actually support signal strength for scanned access points (Atmel drivers
19777                         being one)
19778                 - Calculate signal strength for each AP during scan
19779
19780         * src/NetworkManagerWireless.[ch]
19781                 - Add function to return signal strength % from a device and a raw quality struct
19782
19783         * test/nmclienttest.c
19784                 - Update for new signal strength changes
19785
19786 2004-09-11  Dan Williams <dcbw@redhat.com>
19787
19788         * src/NetworkManager.c
19789                 - Fix race condition between initscripts and NM on card insertion
19790                         which could cause a card to keep an IP address and routes around
19791                         even when it was not the active device
19792
19793         * src/NetworkManagerDbus.c
19794                 - Fix compile errors, free more DBusErrors
19795
19796 2004-09-11  Dan Williams <dcbw@redhat.com>
19797
19798         * docs/NetworkManager DBUS API.txt
19799                 - Add an explanation of NM's API
19800
19801         * src/NetworkManagerDbus.c
19802                 - Free some more DBusErrors if needed
19803
19804 2004-09-11  Dan Williams <dcbw@redhat.com>
19805
19806         * panel-applet/NMWirelessApplet.c
19807           panel-applet/NMWirelessAppletDbus.c
19808                 - Start using NetworkDevice/WirelessNetwork structures in more places
19809                 - Update for unified device/network forcing in NetworkManager
19810
19811         * src/NetworkManager.c
19812                 - some code consolidation
19813
19814         * src/NetworkManagerDbus.c
19815                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19816                         or two arguments:  the first is the NM ID of the device to switch to,
19817                         and the second (optional) argument is the ESSID of a wireless network
19818                         to use as well.
19819                 - Get rid of "setNetwork" method due to above change
19820
19821         * src/NetworkManagerDevice.c
19822                 - (nm_device_new): perform scan and update best AP on device creation
19823                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19824                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19825                         spin waiting for cancellation to finish before returning
19826
19827         * src/NetworkManagerPolicy.c
19828                 - Changes here clarify the situations in which a device switch occurs, and 
19829                         make sure to keep using a forced device and network if the user gives
19830                         us one
19831                 - Remove old unused code
19832
19833 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19834
19835         * configure.in: Added Danish (da) to ALL_LINGUAS.
19836
19837 2004-09-09  Dan Williams <dcbw@redhat.com>
19838
19839         * panel-applet/NMWirelessAppletDbus.c
19840                 - Pull fresh devices and networks from NM when wireless networks
19841                         change.  Provides faster feedback of a forced wireless network
19842
19843         * src/NetworkManagerDbus.c
19844                 - Return error when "getMaxQuality" is called on a wired device
19845                 - Make best_ap freezing actually work again, and signal cancellation
19846                         of activation if there's already a device activation when the user
19847                         freezes the best_ap
19848
19849         * src/NetworkManagerDevice.c
19850                 - Don't clear out the best_ap for wireless devices when the link goes
19851                         down, that's done elsewhere
19852                 - Kill any dhcp daemons when cancelling device activation since they
19853                         may be stuck waiting for a DHCP address, and since we're cancelling
19854                         activation we don't care about that anymore
19855
19856         * src/NetworkManagerPolicy.c
19857                 - Make sure to unref the device we ref earlier (we refed it to make sure
19858                         it stuck around during device activation and such)
19859                 - If we were going to change the best device, but its activating currently
19860                         (and therefore the change didn't occur due to the check earlier)
19861                         we mark the state changed to we come back to it later when device
19862                         activation has canceled and its no longer activating
19863
19864         * src/backends/NetworkManagerRedHat.c
19865                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19866
19867 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19868
19869         * info-daemon/passphrase.glade: 
19870         set passphrase input to activates_default : True
19871
19872         * examples/python/systray/network_tray.py
19873         (network_tray.sort_networks):
19874
19875         Added support for having wireless always scanning
19876
19877 2004-09-09  Dan Williams <dcbw@redhat.com>
19878
19879         NOTE: this commit changes the behavior of wireless devices in
19880         NetworkManager.  They are now up all the time, scanning all
19881         the time.  Only the active device has an IP address and routing
19882         information set up however.  Also, NetworkManager will no longer
19883         opportunistically switch wireless networks when a better one
19884         comes in range, it will remain associated with one wireless network
19885         until that one drops out.
19886
19887         * panel-applet/NMWirelessApplet.c
19888           panel-applet/NMWirelessAppletDbus.c
19889                 - List all wireless cards and their respective networks
19890
19891         * src/NMLoadModules
19892                 - Use full path to /sbin/ip
19893
19894         * src/NetworkManager.c
19895                 - Keep wireless devices up all the time so they can scan
19896
19897         * src/NetworkManagerDbus.c
19898                 - On a WirelessNetworkUpdate signal from NMI, don't update
19899                         the "best" AP
19900
19901         * src/NetworkManagerDevice.c
19902                 - (nm_device_set_link_active): clear out the best ap for
19903                         wireless devices when the link is set to FALSE
19904                 - Scan on all wireless cards, all the time
19905                 - (nm_device_activation_worker): split out the wireless card
19906                         link-waiting code to a separate function
19907                 - Keep wireless cards up even if device activation fails
19908                 - Don't update the "best" ap as much
19909
19910         * src/NetworkManagerPolicy.c
19911                 - Don't update the best ap when checking if its frozen,
19912                         let link checking clear out a frozen best ap for us
19913
19914         * src/NetworkManagerWireless.c
19915                 - Scan on all wireless cards, all the time
19916
19917 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19918
19919         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19920
19921 2004-09-09  Ankit Patel <ankit@redhat.com>
19922
19923         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19924
19925 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19926
19927         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19928
19929 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19930
19931         * examples/python/NetworkManager.py: 
19932         added CONNECTED, CONNECTING, and DISCONNECTED states
19933         added methods to return number of devices of a single type
19934
19935         * examples/python/systray/network_tray.py: 
19936         did some tweaks to get the menu looking near what it is supposed
19937         to look like.  Also did a Airo card hack to make it show the
19938         correct AP quality
19939
19940 2004-09-08  Dan Williams <dcbw@redhat.com>
19941
19942         * panel-applet/no-networkmanager.png
19943           panel-applet/Makefile.am
19944           panel-applet/NMWirelessApplet.c
19945                 - Add a "NetworkManager not running" icon and use it
19946                 - Use new consolidated GConf keys rather than Preferred/Trusted
19947
19948         * TODO: update
19949
19950         * info-daemon/NetworkManagerInfo.c
19951           info-daemon/NetworkManagerInfoDbus.[ch]
19952           info-daemon/NetworkManagerInfoPassphraseDialog.c
19953                 - There are now no longer two separate lists of wireless networks,
19954                         but one list where each network is "trusted" or not trusted
19955                 - Add a "getNetworkTrusted" dbus method
19956                 - "WirelessNetworkUpdate" signal now sent rather than
19957                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19958                 - Start freeing some dbus errors (not completed yet)
19959
19960         * info-daemon/passphrase.glade
19961                 - Remove the "don't show" hints for pager and taskbar
19962                 - Add a title since its going to be in the taskbar
19963
19964         * src/NetworkManager.[ch]
19965           src/NetworkManagerAPList.[ch]
19966                 - There are now no longer two separate lists of wireless networks,
19967                         but one list where each network is "trusted" or not trusted
19968
19969         * src/NetworkManagerAP.[ch]
19970                 - Add get/set "trusted" accessors and data bit
19971
19972         * src/NetworkManagerDbus.[ch]
19973                 - Add function to get "trusted" status of a network from NetworkManagerInfo
19974                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
19975
19976         * src/NetworkManagerDevice.[ch]
19977                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
19978                 - (nm_device_new): Get device config from backend when initializing devices
19979                 - (nm_device_activation_worker): Split out device configuration on
19980                         activation to deal with static/dynamic IP differences, and try encryption
19981                         fallbacks on a device if the encryption method for the best AP is not good
19982                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
19983                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
19984
19985         * src/NetworkManagerWireless.c
19986                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
19987
19988         * src/backends/NetworkManagerRedHat.c
19989           src/backends/NetworkManagerSystem.h
19990                 - (nm_system_device_update_config_info): Add function to get device configuration
19991                         from system data in ifcfg-* files
19992
19993         * src/backends/NetworkManagerDebian.c
19994           src/backends/NetworkManagerGentoo.c
19995           src/backends/NetworkManagerSlackware.c
19996                 - Add stub functions for getting device configuration
19997
19998 2004-09-07  Dan Williams <dcbw@redhat.com>
19999
20000         * src/backends/NetworkManagerRedhat.c
20001           src/backends/NetworkManagerSlackware.c
20002                 - Use full path to /sbin/ip everywhere
20003
20004 2004-09-07  Dan Williams <dcbw@redhat.com>
20005
20006         Patch from: Narayan Newton <narayan_newton@yahoo.com>
20007
20008         * configure.in
20009           initscript/Makefile.am
20010           initscript/Slackware/Makfile.am
20011           initscript/Slackware/rc.networkmanager
20012           src/Makefile.am
20013           src/backends/NetworkManagerSlackware.c
20014                 - Add Slackware support
20015
20016 2004-09-07  Dan Williams <dcbw@redhat.com>
20017
20018         Patches below from:
20019                 <j@bootlab.org>
20020                 Mark Roach <mrroach@okmaybe.com>
20021                 Thom May <thom@debian.org>
20022
20023         * configure.in
20024           initscript/Debian/NetworkManager
20025           initscript/Debian/Makefile.am
20026                 - Initscript for Debian
20027
20028         * src/backends/NetworkManagerDebian.c
20029                 - Add missing system init function to allow compilation
20030                         on Debian
20031
20032 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
20033
20034         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
20035
20036 2004-09-03  Akagic Amila <bono@linux.org.ba>
20037
20038         * configure.in: Added 'bs' to ALL_LINGUAS.
20039
20040 2004-09-02  Colin Walters  <walters@verbum.org>
20041
20042         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
20043         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
20044         g_strdup_printf instead of arbitrarily sized buffers.
20045
20046 2004-09-01  Colin Walters  <walters@verbum.org>
20047
20048         * NetworkManager.pc.in: New file.
20049
20050         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
20051
20052 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
20053         
20054         * configure.in: Punjabi(pa) is added to po/.
20055
20056 2004-08-31  Dan Williams <dcbw@redhat.com>
20057
20058         * Remove 'debug' extern global from all files since we now
20059                 use syslog()
20060
20061         * src/NetworkManager.[ch]
20062                 - Break out routine that get the net.interface property from HAL,
20063                         removing that logic from nm_create_device_and_add_to_list()
20064                 - (nm_create_device_and_add_to_list): make this a bit more general so
20065                         it doesn't do the talking to HAL.  Also add arguments to facilitate
20066                         the create of test devices.
20067                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
20068                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
20069                         which makes NetworkManager listen for dbus commands to create test
20070                         devices, which have no backing hardware.  Use when you're on a plane
20071                         for example, and/or forgot your wireless card at home.  Test devices
20072                         _cannot_ be created unless NM is started with --enable-test-devices.
20073
20074         * src/NetworkManagerDbus.[ch]
20075                 - New "getLinkActive" method for devices
20076                 - New "setLinkActive" method for devices (only works on test devices)
20077                 - New "createTestDevice" method on NetworkManager object to create a test
20078                         device of a specified type (ie wired, wireless).  UDI is created from
20079                         scratch, as is the interface name.  Only works when NM is started with
20080                         --enable-test-devices switch.
20081                 - New "removeTestDevice" method on NetworkManager object which removes a
20082                         test device.  Only works when NM is started with --enable-test-devices
20083
20084         * src/NetworkManagerDevice.[ch]
20085                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
20086                         whether a device is a test device or not, and what its link status is.
20087                 - Deal with test devices in most functions.  For those that work directly on hardware
20088                         special-case test devices.
20089                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
20090                         command-line.
20091                 - (nm_device_update_link_active): split out logic for wired and wireless device link
20092                         checking to separate functions to facilitate test device link checking.
20093                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
20094                         don't make a distinction between System Authentication and Encryption
20095                         (namely Cisco aironet), we use Open System auth when setting a WEP key
20096                         on the card.  We don't deal with Shared Key auth yet.
20097                 - (nm_device_activation_worker): split the activation cancel check logic out into
20098                         a separate routine nm_device_activation_cancel_if_needed()
20099                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
20100                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
20101                         a list of fake access points that they can "see"
20102                 - (nm_device_is_test_device): return whether or not a device is a test device
20103
20104         * src/NetworkManagerPolicy.c
20105                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
20106                         previously if you "locked"/forced NM to use a wireless device but then
20107                         selected a wireless network for NM to use, it would switch to a wired device.
20108                         So, if the active device is wireless and it has a "forced" best AP, use it
20109                         if the "forced" best AP is still valid
20110                 - (nm_state_modification_monitor): deal with NULL best devices, for example
20111                         there were no usable network devices, or the last one was removed
20112
20113         * src/backends/NetworkManager*.c
20114                 - Deal with test devices, mostly just return success for operations like getting
20115                         a DHCP address
20116
20117         * test/nmtestdevices.c
20118                 - Test tool to create/remove/link-switch test devices
20119
20120 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
20121
20122         * examples/python/NetworkManager.py: 
20123         added convience functions has_wired_device and has_wireless_device
20124
20125         * examples/python/systray/network_tray.py: 
20126         cleaned up a bunch of cruft, added support for listing wireless
20127         networks just like the real applet.  This is probably all I'm
20128         going to work on this applet from now on.
20129         TODO: add support for actually changing networks and devices
20130
20131         * examples/python/NetworkManager.py (NetworkManager.get_device): 
20132         changed "nm.networks" into a dict from a list so I can store all
20133         the cool information about networks in there
20134
20135         * examples/python/systray/network_tray.py: 
20136         Added nice message when you try to run without running make first
20137
20138         * examples/python/NetworkManager.py: 
20139         Bug fixes to the code so we get all the device information
20140         that we need in get_device()
20141         
20142         * examples/python/NMTester.py: 
20143         Fixed _print_device_list to print_device_list
20144
20145 2004-08-29  Seth Nickell  <seth@gnome.org>
20146
20147         * configure.in:
20148
20149         Actually properly setup the Debian backend in configure.
20150         
20151 2004-08-29  Colin Walters  <walters@verbum.org>
20152
20153         * test/nminfotest.c: Include string.h and stdlib.h.
20154         (get_network_string_property, get_networks_of_type): Return NULL.
20155
20156         * test/nmclienttest.c (get_device_name, get_active_device): Return
20157         NULL.
20158
20159         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20160         use strlen, fgets always NULL-terminates the string.
20161
20162         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20163         dbus_message_get_member): Remove /* in comment.
20164
20165         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20166
20167         * src/NetworkManager.c (quit): Unused, delete.
20168         (nm_data_free): Cast arg to GFunc.
20169
20170         * panel-applet/NMWirelessAppletDbus.c: Need to include
20171         string.h, and dbus-glib-lowlevel.h (the latter is needed
20172         for dbus_connection_setup_with_g_main at present).
20173         (nmwa_dbus_update_wireless_network_list): Parenthesize
20174         assignment in conditional.
20175         (nmwa_dbus_worker): Return NULL.
20176
20177         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20178         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20179         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20180         (nmwa_populate_menu): Return NULL on failure, instead of just
20181         return;
20182
20183         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20184
20185         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20186         variables.
20187
20188         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20189         delete.
20190         
20191 2004-08-29  Colin Walters  <walters@verbum.org>
20192
20193         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20194         a GTimeVal instead of time_t.  This is easier to work with,
20195         since time_t may be a long or double, we don't know.
20196
20197         * src/NetworkManagerDbus.h: Update prototype.
20198         
20199         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20200         instead of time_t.
20201         (nm_ap_get_timestamp): Update to return GTimeVal.
20202         (nm_ap_set_timestamp): Update to take GTimeVal.
20203         
20204         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20205         to handle GTimeVal.
20206
20207         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20208         GTimeVal change.
20209         (nm_ap_list_print_members): Fix warnings in printf format.
20210
20211 2004-08-29  Colin Walters  <walters@verbum.org>
20212         
20213         * panel-applet/NMWirelessApplet.c: Include config.h.
20214
20215 2004-08-29  Colin Walters  <walters@verbum.org>
20216
20217         * configure.in: Generate config.h.
20218
20219         * configure.in: Dump dependency on OpenSSL; we can't
20220         use it since this package is GPL:
20221         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20222         Instead, check for libgcrypt, use it if available,
20223         otherwise use included MD5 code.
20224
20225         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20226         Suck in from gnome-keyring, munge a bit.
20227         
20228         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20229         gnome-keyring-md5.h gnome-keyring-md5.c.
20230         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20231
20232         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20233         libgcrypt or included gnome-keyring md5 bits.
20234         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20235
20236 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20237
20238         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20239
20240 2004-08-27  Bryan Clark  <bclark@redhat.com>
20241
20242         * examples/python/systray/Makefile: 
20243
20244         Updated the clean section
20245         
20246         * examples/python/systray/trayiconmodule.c: 
20247         * examples/python/systray/trayicon.override: 
20248         * examples/python/systray/network_tray.py: 
20249         * examples/python/systray/eggtrayicon.h: 
20250         * examples/python/systray/eggtrayicon.c: 
20251         * examples/python/systray/Makefile: 
20252         * examples/python/README: 
20253         * examples/python/NetworkManager.py: 
20254         * examples/python/NMTester.py: 
20255
20256         Initial commit of these python example files
20257
20258 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20259
20260         * panel-applet/NMWirelessApplet.c
20261                 - Make current device bold
20262                 - Show more user-friendly device name if we got one from hal
20263
20264         * panel-applet/NMWirelessAppletDbus.c
20265                 - Grab "info.product" key from hal for network devices
20266                 - Cache the current active device
20267
20268 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20269
20270         * configure.in: Added en_CA to ALL_LINGUAS.
20271
20272 2004-08-27  Christian Rose  <menthos@menthos.com>
20273
20274         * configure.in: Added "sv" to ALL_LINGUAS.
20275
20276 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20277
20278         * Tag NetworkManager-0.2
20279
20280 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20281
20282         * initscripts/Makefile.am
20283         * configure.in: Make pass distcheck
20284
20285         * po/ChangeLog: added
20286
20287 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20288
20289         * panel-applet/NMWirelessApplet.c
20290                 - Remove debugging code
20291                 - Enable device switching from menus
20292
20293         * panel-applet/NMWirelessAppletDbus.[ch]
20294                 - Method for asking NM to switch devices
20295
20296         * src/NetworkManagerDevice.c
20297                 - Set dev->activating earlier, avoids race between
20298                         the dbus signal of "DeviceActivating" and setting
20299                         dev->activating (which is what NM's "status" method call
20300                         looks at)
20301
20302 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20303
20304         * panel-applet/NMWirelessApplet.[ch]
20305                 - Rework menu code to add devices to menu, and to show
20306                         signal strength for each access point.  Code cleanups
20307                         too.
20308
20309         * panel-applet/NMWirelessAppletDbus.c
20310                 - Grab network devices from NetworkManager too
20311                 - Grab quality information from NM for wireless networks
20312
20313         * src/NetworkManagerDbus.[ch]
20314                 - Add dbus methods for getting the HAL UDI from a device and
20315                         for getting its base quality, if its wireless
20316                 - Consolidate some functions (wireless network notifications,
20317                         device notifications)
20318                 - Add method for requesting NM to use a particular device
20319
20320         * src/NetworkManager.c
20321                 - Change for function consolidations from NetworkManagerDbus.c
20322                 - Implement active device locking and user-requested devices
20323                         (ie, tell NM to use a particular device instead of the one
20324                         it autochose)
20325
20326         * src/NetworkManagerDevice.c
20327                 - Add method for getting the base quality of a device, if its
20328                         wireless
20329                 - Grab device base quailty info from iwlib during scans
20330
20331         * src/NetworkManagerPolicy.c
20332                 - Use a user-requested device rather than the auto-chosen device
20333                         if we are told to
20334
20335 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20336
20337         * Makefile.am: add po as a supdir
20338
20339         * autogen.sh: use gnome-autogen.sh
20340
20341         * initscript/Gentoo/.cvsignore:
20342         * initscript/RedHat/.cvsignore: Shut up cvs
20343
20344         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20345
20346         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20347         (nmwa_fill): Use gettext.
20348
20349         * configure.in: add gettext support
20350         * po/.cvsignore:
20351         * po/NetworkManager.pot:
20352         * po/POTFILES.in:
20353
20354 2004-08-26  Seth Nickell  <seth@gnome.org>
20355
20356         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20357         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20358         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20359         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20360         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20361         * panel-applet/NMWirelessApplet.h:
20362
20363         Use a menu bar instead of a button for the main clickable
20364         thingy.
20365         
20366 2004-08-25  Dan Williams <dcbw@redhat.com>
20367
20368         * src/NetworkManagerDevice.c
20369                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20370                         turning encryption off, because the Cisco driver doesn't associate
20371                         with WEP-enabled access points unless we are in "open"
20372
20373 2004-08-25  Dan Williams <dcbw@redhat.com>
20374
20375         * src/NetworkManagerWireless.c
20376                 - Don't try to defererence blank passphrases
20377
20378 2004-08-25  Dan Williams <dcbw@redhat.com>
20379
20380         * panel-applet/NMWirelessApplet.c
20381                 - Rebuild the menu whenever a user clicks
20382
20383 2004-08-25  Dan Williams <dcbw@redhat.com>
20384
20385         * panel-applet/NMWirelessApplet.c
20386                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20387                         when NM isn't around or when its not connected
20388
20389         * src/NetworkManagerDevice.c
20390                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20391                         canceled.
20392
20393 2004-08-25  Dan Williams <dcbw@redhat.com>
20394
20395         * panel-applet/NMWirelessAppletDbus.c
20396                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20397                         for getting encryption, and don't stop on "val" once we've gotten it
20398                         from NetworkManager.  Short form:  encryption should now show up.
20399
20400 2004-08-25  Dan Williams <dcbw@redhat.com>
20401
20402         * panel-applet/NMWirelessApplet.c
20403                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20404                         network to associate with
20405
20406 2004-08-25  Dan Williams <dcbw@redhat.com>
20407
20408         * panel-applet/*
20409                 - Rework the panel applet to do all DBUS communication in a separate
20410                         thread
20411
20412 2004-08-25  Dan Williams <dcbw@redhat.com>
20413
20414         * info-daemon/NetworkManagerInfo.[ch]
20415                 - Remove "get_next_priority" function
20416
20417         * info-daemon/NetworkManagerInfoDbus.[ch]
20418                 - Convert "priority" functions to "timestamp"
20419
20420 2004-08-25  Dan Williams <dcbw@redhat.com>
20421
20422         * src/NetworkManagerAP.[ch]
20423                 - Add a "enc_method_good" member and accessors to an Access Point
20424                         to signal when we've found the correct encryption method
20425                         for an access point
20426                 - Add a "timestamp" member and accessors, remove "priority" member
20427                         and accessors (use timestamps instead)
20428                 - Rename "wep_key"->"enc_key"
20429                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20430                         for a specified encryption method using the access points
20431                         source encryption key/passphrase
20432
20433         * src/NetworkManagerAPList.c
20434                 - When updating a network with dbus, grab timestamp now instead of
20435                         priority
20436
20437         * src/NetworkManagerDBus.[ch]
20438                 - Add signal for "DeviceActivating"
20439                 - Switch priority->timestamp
20440
20441         * src/NetworkManagerDevice.c
20442                 - Change references of "wep_key" -> "enc_key" or "key"
20443                 - Signal DeviceActivating when starting activation
20444                 - When activating a wireless device, if the access point we are connecting
20445                         to is encrypted, and we have a source key, try to generate a mangled
20446                         key and use that (ie, generate real WEP key from a passphrase)
20447                 - Rework device activation to fallback to other encryption methods if
20448                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20449                         first, then if that doesn't work fall back to direct hex key).
20450                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20451                         priority.  We now prefer the latest access point used, rather than using
20452                         a priority scheme
20453                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20454                         points we've just discovered, and merge in correct info from the global
20455                         access point lists
20456
20457 2004-08-25  Seth Nickell  <seth@gnome.org>
20458
20459         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20460         Debian support.
20461         
20462         * src/Makefile.am:
20463         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20464         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20465         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20466         (nm_system_delete_default_route),
20467         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20468         (nm_system_load_device_modules):
20469
20470 2004-08-24  Dan Willemsen <dan@willemsen.us>
20471
20472         * src/NetworkManager.c
20473           src/backends/NetworkManagerGentoo.c
20474           src/backends/NetworkManagerRedHat.c
20475           src/backends/NetworkManagerSystem.h
20476                 - Implement preliminary Gentoo support, adding a
20477                         nm_system_init function to the backend specification
20478
20479         * configure.in
20480                 - Distribution auto-detection, lowercase any user-fed
20481                         distribution names
20482
20483         * initscript/.cvsignore
20484           initscript/Makefile.am
20485           initscript/RedHat/Makefile.am
20486           initscript/RedHat/NetworkManager
20487           initscript/Gentoo/Makefile.am
20488           initscript/Gentoo/NetworkManager
20489                 - Refactored initscript code separately for each
20490                         distribution
20491
20492 2004-08-23  Dan Williams <dcbw@redhat.com>
20493
20494         * configure.in
20495           src/Makefile.am
20496           src/NetworkManagerDevice.c
20497           src/NetworkManager.c
20498           src/NetworkManagerUtils.[ch]
20499           src/backends/NetworkManagerSystem.h
20500           src/backends/NetworkManagerRedHat.c
20501           src/backends/NetworkManagerGentoo.c
20502                 - Refactor system-specific code into separate backends for
20503                         each distribution
20504
20505 2004-08-23  Dan Willemsen <dan@willemsen.us>
20506
20507         * dispatcher-daemon/NetworkManagerDispatcher.c
20508           info-daemon/NetworkManagerInfo.[ch]
20509           info-daemon/NetworkManagerInfoDbus.c
20510           info-daemon/NetworkManagerInfoPassphraseDialog.c
20511           src/NetworkManager.c
20512           src/NetworkManagerAP.c
20513           src/NetworkManagerAPList.c
20514           src/NetworkManagerDbus.c
20515           src/NetworkManagerDevice.c
20516           src/NetworkManagerPolicy.c
20517           src/NetworkManagerUtils.[ch]
20518           src/NetworkManagerWireless.c
20519                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20520
20521         * src/NetworkManager.c
20522                 - Fixed usage wording for --no-daemon
20523
20524 2004-08-23  Dan Williams <dcbw@redhat.com>
20525
20526         * panel-applet/NMWirelessApplet.c
20527                 - Update our state every second to get more responsive panel icon
20528                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20529                         was causing our marching ants status blips to never move when
20530                         looking for a wireless network
20531
20532         * src/NetworkManagerDevice.c
20533                 - (nm_device_activation_begin): return if activation has already begun
20534                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20535                         trusted/preferred network into the device's access point when the
20536                         scan list is processed
20537
20538 2004-08-23  Dan Williams <dcbw@redhat.com>
20539
20540         * initscript/NetworkManager
20541                 - Use NMLaunchHelper rather than sleeping
20542
20543         * initscript/NMLaunchHelper.c
20544           Makefile.am
20545                 - Add helper program that exits only when NM activates a device,
20546                         or 10 seconds have passed, whichever happens first.  This
20547                         stops the boot processes until we have a network connection,
20548                         which NM can't do because it daemonizes and brings the connection
20549                         up in the background.  Allows stuff like NFS to not die.
20550
20551 2004-08-20  Dan Williams <dcbw@redhat.com>
20552
20553         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20554                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20555                         for a network, set the essid as well since it may not exist yet
20556                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20557                         since WEP keys/passphrases are long and prone to entry-error
20558
20559         * panel-applet/Makefile.am
20560           panel-applet/wired.png
20561                 - Add (pulled from system-config-network temporarily)
20562
20563         * panel-applet/NMWirelessApplet.[ch]
20564                 - Show wired picture when a wired connection is used
20565                 - Rename wireless icon enums, adding WIRELESS
20566
20567         * src/NetworkManagerDevice.c
20568                 - (nm_device_activate_wireless): unset encryption before bringing
20569                         down the card and setting the essid
20570                 - (nm_device_activatin_worker): request a key from the user if the
20571                         AP we are connecting to is encrypted but we don't have a key
20572                         for it yet
20573                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20574                         strcmp() that prevented a user-entered key from actually getting
20575                         used
20576
20577 2004-08-16  Dan Williams <dcbw@redhat.com>
20578
20579         * initscript/NetworkManager
20580                 - Check for /sbin/ip
20581                 - Do sysctl magic that network service does
20582                 - sleep 4s after start to allow network time to come up [hack]
20583
20584         * src/Makefile.am
20585           src/NMLoadModules
20586                 - Load all network device kernel modules (hal doesn't know devices
20587                         are ethernet until the module is loaded, and therefore we don't know)
20588
20589         * src/NetworkManager.c
20590                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20591                         network devices, and bring up the loopback device explicitly
20592
20593         * src/NetworkManagerUtils.[ch]
20594                 - (nm_enable_loopback): new function
20595
20596 2004-08-13  Dan Williams <dcbw@redhat.com>
20597
20598         * configure.in
20599           panel-applet/Makefile.am
20600                 - Fix up cleanfiles and server_DATA/server_in_files
20601
20602         * README
20603                 - Update with some comments on theory of operation
20604
20605         * CONTRIBUTING
20606           Makefile.am
20607                 - Add CONTRIBUTING
20608
20609 2004-08-12  Dan Williams <dcbw@redhat.com>
20610
20611         * info-daemon/passphrase.glade
20612                 - Set window title to " "
20613
20614         * panel-applet/Makefile.am
20615           panel-applet/keyring.png
20616                 - Deliver to correct place
20617
20618         * panel-applet/NMWirelessApplet.[ch]
20619                 - Add comments
20620                 - Remove applet->have_active_device as its no longer used
20621                 - (nmwa_load_theme): load keyring.png too
20622                 - (error_dialog): remove
20623                 - (show_warning_dialog): subsume functionality of error dialog too
20624                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20625                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20626                         the networks menu
20627                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20628                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20629                         and when we get broadcasts of changed wireless access points only, not when the
20630                         user clicks on the button to display the menu (too long of a wait)
20631                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20632                         networks that are encrypted
20633                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20634                         menu item with g_object_set_data()
20635
20636         * panel-applet/NMWirelessAppletDbus.[ch]
20637                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20638                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20639                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20640                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20641                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20642                         activation/deactivation signals and rebuild the menu when they happen
20643
20644         * src/NetworkManager.c
20645                 - (main): use new nm_spawn_process() rather than system()
20646
20647         * src/NetworkManagerDbus.c
20648                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20649                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20650                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20651                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20652                         to freeze the best_ap.
20653
20654         * src/NetworkManagerDevice.[ch]
20655                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20656                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20657                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20658                         ap list
20659
20660         * src/NetworkManagerUtils.[ch]
20661                 - (nm_spawn_process): add replacement for system() usage
20662
20663 2004-08-11  Dan Williams <dcbw@redhat.com>
20664
20665         * panel-applet/NMWirelessApplet.[ch]
20666                 - Fix up copyright and credits to include Bastien and Eskil,
20667                         who created the gnome-applets wireless applet, from whose
20668                         skeleton this one was created
20669                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20670                         pixmap to draw is computed during nmwa_update_state()
20671                 - Applet now shows itself all the time due to panel packing issues
20672                         which caused the applet to previously never come back after hiding.
20673                         When a wired device is the active device, the applet shows "not connected"
20674
20675         * panel-applet/NMWirelessAppletDbus.[ch]
20676                 - Clean up error messages and show what function they are from
20677                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20678                 - Add new device type getters, and a status getter
20679
20680         * src/NetworkManagerDbus.c
20681                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20682                         network is actually in the device's ap list
20683                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20684
20685         * src/NetworkManagerDevice.c
20686                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20687                         card
20688
20689         * test/nmclienttest.c
20690                 - Report status of NetworkManager too
20691
20692 2004-08-11  Dan Williams <dcbw@redhat.com>
20693
20694         * info-daemon/NetworkManagerInfo.c:
20695                 - (main): clean up Seth's code style
20696
20697         * info-daemon/NetworkManagerInfoDbus.c:
20698                 - Use the more aptly-named path/service/interface constants from NetworkManager
20699                 - Don't return empty strings ("") as object paths ever, instead return errors
20700
20701         * panel-applet/NMWirelessApplet.c:
20702                 - Clean up Seth's code style
20703
20704         * src/NetworkManager.[ch]
20705                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20706                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20707
20708         * src/NetworkManagerAPList.[ch]
20709                 - Move Iter struct right above the iter functions to preserve opacity
20710                 - (nm_ap_list_remove_ap): implement
20711                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20712                         remove AP if NetworkManagerInfo doesn't know anything about it
20713                 - (nm_ap_list_diff): user NMAPList iterators
20714                 - (nm_ap_list_print_members): implement debugging function
20715
20716         * src/NetworkManagerDbus.[ch]
20717                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20718                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20719                         and move the actual key setting stuff into NetworkManagerDevice.c
20720                 - (nm_dbus_get_network_priority): return -1 now on errors
20721                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20722                         get lost, and force the active device to update its "best" ap when AP lists change
20723                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20724                         method call due to pending_device member removal
20725
20726         * src/NetworkManagerDevice.[ch]
20727                 - Move NMDevice structure to the top
20728                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20729                 - Remove Pending Action stuff from everywhere
20730                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20731                         activation for us.  This thread blocks until all conditions for activation have
20732                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20733                         then setup up the interface and runs dhclient.  We have to do this because there
20734                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20735                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20736                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20737                         can tell nm_device_activation_worker() that we've got a key
20738                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20739                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20740                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20741                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20742
20743         * src/NetworkManagerPolicy.c
20744                 - Remove anything to do with pending_device
20745                 - Adjust device activation to deal with activation-in-worker-thread
20746
20747         * src/NetworkManagerUtils.c
20748                 - Clean up locking debugging a bit
20749
20750         * src/NetworkManagerWireless.[ch]
20751                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20752                         was badly named and is better as a device function
20753
20754         * panel-applet/.cvsignore: add
20755
20756 2004-08-09  Seth Nickell  <seth@gnome.org>
20757
20758         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20759         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20760         (nmwa_new):
20761         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20762
20763         Don't load the menus until clicked on (also removes a call outside
20764         normal code paths at first load).
20765
20766         Hide applet when NM is not present.
20767         
20768         Improve printf debugging stuff.
20769         
20770 2004-08-09  Dan Williams <dcbw@redhat.com>
20771
20772         * dispatcher-daemon/NetworkManagerDispatcher.c:
20773                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20774                 - Use constants for NetworkManager interface, service, and path
20775
20776 2004-08-09  Dan Williams <dcbw@redhat.com>
20777
20778         * src/NetworkManagerDbus.c:
20779                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20780                         instead return an error message
20781                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20782                         on a wired device.  Also never return an empty object path, instead return an error message
20783
20784 2004-08-06  Seth Nickell  <seth@gnome.org>
20785
20786         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20787
20788         Check the error code when getting a connection.
20789         
20790         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20791
20792         Check if the NM service exists when initializing (rather than
20793         assuming it does not).
20794         
20795         * src/NetworkManagerDbus.c: (nm_dbus_init):
20796
20797         Don't acquire the well-known service name until we have
20798         registered object/path handlers and can actually receive
20799         calls.
20800         
20801 2004-08-06  Dan Williams <dcbw@redhat.com>
20802
20803         * panel-applet/*
20804                 - Add panel applet
20805
20806         * src/NetworkManagerPolicy.c
20807           src/NetworkManager.c
20808                 - Get access point lists from NetworkManagerInfo on-demand,
20809                         and look for ServiceCreate/ServiceDeleted signals to see when
20810                         we should query NMI for lists
20811         * src/NetworkManagerAPList.c
20812                 - Make sure to init the list's mutex
20813                 - Convert traversals of the list over to the list iter functions
20814
20815         * src/NetworkManagerDbus.[ch]
20816                 - Use more aptly-named path/service/interface constants
20817                 - Treat both active and pending devices the same for "getActiveDevice"
20818                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20819
20820         * src/NetworkManagerDevice.c
20821                 - Honor "ignored" network list when picking best ap to use
20822
20823 2004-08-06  Seth Nickell  <seth@gnome.org>
20824
20825         * aclocal.m4:
20826
20827         Autogenerated, remove from CVS.
20828         
20829         * autogen.sh:
20830
20831         Don't hardcode automake version.
20832         
20833         * configure.in:
20834         * info-daemon/Makefile.am:
20835         * info-daemon/NetworkManagerInfo.c: (main):
20836
20837         Use GnomeProgram et al. for doing session management.
20838         Use popt stuff for argument parsing rather than doing
20839         it manugally.
20840         
20841 2004-08-05  Dan Williams <dcbw@redhat.com>
20842
20843         * test/nminfotest.c
20844                 - Update to new NMI dbus API, check different network types
20845
20846         * info-daemon/NetworkManagerInfoDbus.c
20847                 - Update to new NM dbus API, ie network type sent in query message
20848
20849 2004-08-05  Dan Williams <dcbw@redhat.com>
20850
20851         * An assload of changes
20852
20853 2004-08-02  Dan Williams <dcbw@redhat.com>
20854
20855         * TODO
20856                 - new task: proper logging support
20857
20858         * info-daemon/NetworkManagerInfo.c
20859                 - Correct spelling of "canceled"
20860                 - Correct casting of objects for g_signal_connect()
20861
20862         * info-daemon/NetworkManagerInfoDbus.c
20863                 - Add defines for NetworkManager namespace and object path, and use them
20864                 - Add filter function to trap new signals from NetworkManager:
20865                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20866
20867         * info-daemon/passphrase.glade
20868                 - Change name of "ok" button to "Login to Network..."
20869                 - Mark invisible
20870
20871         * src/NetworkManager.c
20872                 - Code and debug message cleanups
20873                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20874                 - (nm_add_initial_devices) Check returned string array of devices
20875                         and don't try to add devices if array is NULL
20876                 - (main) Initialize libhal a bit later, make code a bit clearer
20877
20878         * src/NetworkManagerAP.[ch]
20879                 - New accessor and data member "matched": used to speed up AP list
20880                         diffing
20881                 - New accessor and data member "enc_method": will be used during key
20882                         fallback to cache which passphrase->key conversion actually works
20883                         so we don't have to do it every time
20884
20885         * src/NetworkManagerAPList.[ch]
20886                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20887                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20888                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20889                         dbus in response to those differences
20890
20891         * src/NetworkManagerDbus.[ch]
20892                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20893                         make an object path for that access point (NOTE that we don't yet check to
20894                         make sure that access point is actually in the device's AP list yet)
20895                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20896                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20897                         New: signal appearance/disappearance of wireless networks
20898                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20899                         key entry
20900
20901         * src/NetworkManagerDevice.[ch]
20902                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20903                 - (nm_device_ap_list_get) New: return the AP list (static function)
20904                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20905                         new one resulting from the scan with the old one
20906
20907         * src/NetworkManagerWireless.c
20908                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20909
20910         * test/nminfotest.c
20911                 - #define object paths and namespaces and use the #defines rather than static strings
20912                 - Test out user-key functionality of NetworkManagerInfo too
20913
20914 2004-07-29  Dan Williams <dcbw@redhat.com>
20915
20916         * info-daemon/NetworkManagerInfoDbus.c
20917           src/NetworkManagerDbus.c
20918                 - Update to current DBus (ie don't use decomposed paths when registering
20919                         object paths/fallbacks)
20920
20921 2004-07-27  Dan Williams <dcbw@redhat.com>
20922
20923         * Remove various Makefile.in files
20924
20925         * TODO
20926                 - Add some more items
20927
20928         * configure.in
20929                 - Add checks for OpenSSL/md5 headers and libs
20930
20931         * src/Makefile.am
20932                 - Use OpenSSL CFLAGS
20933
20934         * src/NetworkManagerAP.[ch]
20935                 - Remove 'stamp' functions, replace with 'invalid' functions
20936                         to support user cancelling WEP key entry
20937
20938         * src/NetworkManagerDbus.c
20939                 - Remove 'stamp' return functions
20940                 - Treat returned user key as a passphrase and convert to a WEP key,
20941                         but don't actually use the WEP key yet.  We use the returned user
20942                         key as a hexadecimal WEP key until we can figure out a UI for
20943                         passphrase-vs-hex key
20944
20945         * src/NetworkManagerWireless.[ch]
20946                 - Add passphrase-to-128bit-key function
20947
20948 2004-07-27  Dan Williams <dcbw@redhat.com>
20949
20950         * TODO
20951                 - Add a couple of items
20952
20953 2004-07-27  Dan Williams <dcbw@redhat.com>
20954
20955         * info-daemon/NetworkManagerInfo.c
20956                 - Update allowed network's GConf key when user enters a WEP key explicitly
20957
20958         * info-daemon/NetworkManagerDbus.c
20959                 - Fix some comments
20960                 - nmi_dbus_get_allowed_networks(): kill warning
20961
20962 2004-07-27  Dan Williams <dcbw@redhat.com>
20963
20964         * initscript/Makefile.in
20965                 - Remove
20966
20967         * initscript/Makefile.am
20968                 - Add correct rules to install the init.d initscript
20969
20970         * info-daemon/NetworkManagerInfoDbus.c
20971                 - Remove debug fprintf
20972
20973         * src/NetworkManagerDbus.[ch]
20974                 - Remove debug fprintfs
20975                 - Add macros for NetworkManagerInfo object path/namespace
20976                 - Use said macros instead of constant strings
20977
20978 2004-07-27  Dan Williams <dcbw@redhat.com>
20979
20980         * initscript/.cvsignore
20981                 - Add
20982
20983         * info-daemon/Makefile.am
20984                 - Install .glade files and keyring.png
20985                 - Fix stupid omission of a \ that caused half the flags not to be
20986                         passed to gcc
20987
20988         * info-daemon/NetworkManagerInfo.c
20989                 - gtk_signal_connect->g_signal_connect
20990                 - Alert NetworkManagerInfo to new glade file location
20991
20992 2004-07-27  Dan Williams <dcbw@redhat.com>
20993
20994         * test/nmclienttest.c
20995           test/nminfotest.c
20996                 - Add missing <dbus/dbus.h> headers
20997                 - Add GPL message at top
20998
20999 2004-07-27  Dan Williams <dcbw@redhat.com>
21000
21001         * src/NetworkManagerAPList.[ch]
21002           src/Makefile.am
21003                 - Add.  Deal with allowed network list additions, deletions, and updates
21004
21005         * dispatcher-daemon/NetworkManagerDispatcher.c
21006                 - Add missing <dbus/dbus.h> header
21007
21008         * info-daemon/NetworkManagerInfo.[ch]
21009                 - Add missing <dbus/dbus.h> header
21010                 - Implement the GConf notify callback to signal NetworkManager of an allowed
21011                         network change
21012                 - Better error checking
21013
21014         * info-daemon/NetworkManagerInfoDbus.[ch]
21015                 - Add missing <dbus/dbus.h> header
21016                 - Convert to using dbus_message_append_args/dbus_message_get_args
21017                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
21018                         that an allowed network changed.  We don't want to signal on individual
21019                         keys _inside_ an allowed network really, just want NM to query the info
21020                         daemon for updated info on all keys.
21021                 - Better error checking
21022
21023         * src/NetworkManager.[ch]
21024                 - Add missing <dbus/dbus.h> header
21025                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
21026                 - Zero out NMData structure on free
21027                 - No longer use a thread for allowed_ap_list updating, instead its now done
21028                         through dbus queries against NetworkManagerInfo
21029                 - Populate allowed_ap_list initially before adding existing network devices
21030                         to the device list, so wireless devices can get their "best" AP
21031
21032         * src/NetworkManagerDbus.[ch]
21033                 - Convert to using dbus_message_append_args/dbus_message_get_args
21034                 - Better error checking
21035                 - Implement Allowed Network info functions to request allowed network
21036                         info from NetworkManagerInfo
21037                 - Implement the filter function to process signals from NetworkManagerInfo
21038                         about changing allowed networks
21039
21040         * src/NetworkManagerDevice.c
21041                 - Fix file descriptor leak in nm_device_update_ip4_address()
21042
21043 2004-07-27  Dan Williams <dcbw@redhat.com>
21044
21045         * .cvsignore
21046           src/.cvsignore
21047           test/.cvsignore
21048           dispatcher-daemon/.cvsignore
21049           info-daemon/.cvsignore
21050                 - Add .cvsignore files to reduce noise when diffing
21051
21052 2004-07-24  Dan Williams <dcbw@redhat.com>
21053
21054         * src/NetworkManager.[ch]
21055           src/NetworkManagerDbus.[ch]
21056           src/NetworkManagerDevice.[ch]
21057           src/NetworkManagerPolicy.c
21058           src/NetworkManagerWireless.[ch]
21059                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
21060                 - Pass the NMData application data structure through all calls
21061                         that need it so we can get rid of nm_get_global_data()
21062                 - Change deallocation of the allowed_ap_list GSList in preparation
21063                         for not completely clearing it every time we get an update,
21064                         but instead getting incremental updates via GConf/dbus
21065
21066 2004-07-22  Dan Williams <dcbw@redhat.com>
21067
21068         * configure.in
21069                 - Add checks for GConf libs & headers & flags
21070
21071         * info-daemon/Makefile.am
21072                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
21073
21074         * info-daemon/NetworkManagerInfo.[ch]
21075                 - Don't use gquarks for data storage, just use normal data storage
21076                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
21077
21078         * info-daemon/NetworkManagerDbus.[ch]
21079                 - Add method call for getting allowed networks
21080                 - Add method calls for getting an allowed network's essid, priority, and key
21081                 - Hook the method calls up to GConf
21082                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
21083                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
21084                 
21085         * src/NetworkManagerDbus.[ch]
21086                 - Switch for enumeration of networks to using essid instead
21087
21088         * test/Makefile.am
21089           test/nminfotest.c
21090                 - Add test program for NetworkManagerInfo
21091
21092 2004-07-19  Dan Williams <dcbw@redhat.com>
21093
21094         * src/NetworkManagerDbus.c
21095                 - Switch from indexed device paths to names.  Less code, more efficient.
21096                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
21097
21098 2004-07-19  Dan Williams <dcbw@redhat.com>
21099
21100         * dispatcher-daemon/NetworkManagerDispatcher.c
21101                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
21102
21103 2004-07-19  Dan Williams <dcbw@redhat.com>
21104
21105         * Makefile.am
21106                 - Add info-daemon directory
21107
21108         * configure.in
21109                 - Check for glade libs and headers
21110                 - Add info-daemon directory
21111
21112         * src/NetworkManagerAP.c
21113                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
21114                         copied over to the new AP.
21115
21116         * src/NetworkManagerDbus.c
21117           src/NetworkManagerDbus.h
21118                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
21119                 - Remove nm_dbus_signal_need_key_for_network()
21120                 - Add disabled code for asynchronous user wep key callbacks
21121                 - Add functions for getting, setting, and cancelling user key operations
21122                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
21123                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
21124
21125         * src/NetworkManagerDevice.c
21126           src/NetworkManagerDevice.h
21127                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
21128                         logic is in device activation now
21129                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
21130                         key is wrong) trigger get-user-key pending action
21131                 - Implement get-user-key pending action stuff, tie to dbus messages
21132                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
21133                 - Add nm_device_ap_list_get_ap_by_essid()
21134                 - Instead of copying "best" access points, ref them instead so that the key we set
21135                         sticks around
21136
21137         * src/NetworkManagerPolicy.c
21138                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
21139                 - Don't cancel pending actions on a device if its the same device as last iteration
21140                 - Only promote pending_device->active_device if activation was successfull
21141
21142         * src/Makefile.am
21143                 - Rename nmclienttest->nmtest
21144
21145         * info-daemon/Makefile.am
21146           info-daemon/NetworkManagerInfo.c
21147           info-daemon/NetworkManagerInfo.h
21148           info-daemon/NetworkManagerInfoDbus.c
21149           info-daemon/NetworkManagerInfoDbus.h
21150           info-daemon/passphrase.glade
21151           info-daemon/NetworkManagerInfo.conf
21152           info-daemon/keyring.png
21153                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21154                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21155                         lists to NetworkManager by proxying user's GConf
21156           
21157
21158 2004-07-15  Dan Williams <dcbw@redhat.com>
21159
21160         * src/Makefile.am
21161                 - Turn on warnings
21162
21163         * src/NetworkManager.c
21164                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21165                         that doing the deactivation ourselves
21166                 - Cancel an pending actions on a device if its being removed
21167                 - Break up link state checking a bit, make non-active wireless cards
21168                         deactivated to save power
21169                 - Remove unused variables
21170
21171         * src/NetworkManager.h
21172                 - Add support for "pending" device
21173
21174         * src/NetworkManagerAP.h
21175           src/NetworkManagerAP.c
21176                 - Add support for determining whether and AP has encryption enabled or not
21177                 - AP address is now "struct ether_addr" rather than a string
21178
21179         * src/NetworkManagerDbus.h
21180           src/NetworkManagerDbus.c
21181                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21182                 - Changes for AP address from struct ether_addr->string
21183
21184         * src/NetworkManagerDevice.h
21185           src/NetworkManagerDevice.c
21186                 - Remove unused variables, fix warnings
21187                 - Add support for Pending Actions (things that block a device from being "active"
21188                         until they are completed).
21189                 - First pending action:  Get a WEP key from the user
21190                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21191                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21192                 - Update wireless link checking to try to determine if the AP we are associated
21193                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21194                         trigger the GetUserKey pending action on the device
21195                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21196                         up in that case, otherwise we can't scan or link-check on it
21197                 - Add IP address change notifications at appropriate points (still needs some work)
21198                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21199
21200         * src/NetworkManagerPolicy.h
21201           src/NetworkManagerPolicy.c
21202                 - Split out "best" access point determiniation into separate function
21203                 - Make device activation 2-stage:  first the device is pending, then
21204                         in the next iteration through it becomes "active" unless it has
21205                         pending actions
21206
21207         * src/NetworkManagerUtils.h
21208           src/NetworkManagerUtils.c
21209                 - Clean up unused variables and warnings
21210                 - Wrap our debug macros in {} to prevent possible confusion
21211
21212         * src/NetworkManagerWireless.c
21213                 - Forgot to return current best priority, which lead to last available AP always
21214                         being chosen no matter what its priority was.  Corrected.
21215
21216 2004-07-15  Dan Williams <dcbw@redhat.com>
21217
21218         * dispatcher-daemon/Makefile.am
21219                 - Turn on warnings
21220
21221         * dispatcher-daemon/NetworkManagerDispatcher.c
21222                 - Remove unused variables due to warnings
21223                 - Fix some comments
21224                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21225
21226 2004-07-06  Dan Williams <dcbw@redhat.com>
21227
21228         * src/NetworkManager.c
21229                 - Add IPv4 address update for active device during link state check
21230                 - Don't allow wireless cards to be powered up when they are not the
21231                         active device
21232
21233         * src/NetworkManagerDbus.c
21234           src/NetworkManagerDbus.h
21235                 - Add DBUS IPv4 address change signal
21236                 - Add DBUS IPv4 address get method for devices
21237
21238         * src/NetworkManagerDevice.c
21239                 - Make setting the WEP key actually work
21240                 - Move IP address get/set/update stuff here, per-device
21241                 - Power down/bring down wireless device when deactivated
21242                 - For scanning wireless devices, if first scan returned ENODATA, try again
21243
21244         * src/NetworkManagerPolicy.c
21245                 - Only set the WEP key for an allowed access point if there is one.
21246                         We were setting it to be blank if one wasn't specified.
21247
21248         * src/NetworkManagerUtils.h
21249           src/NetworkManagerUtils.c
21250                 - Move the IP address stuff to NetworkManagerDevice.c
21251
21252         * dispatcher-daemon/NetworkManagerDispatcher.c
21253                 - Add device IPv4 address change notification stuff
21254
21255 2004-07-05  Dan Williams <dcbw@redhat.com>
21256
21257         * dispatcher-daemon/NetworkManagerDispatcher.c
21258                 - A bit more descriptive state message
21259                 - Don't segfault when reading directory
21260
21261         * src/NetworkManager.h
21262                 - Remove NMData desired_ap member, its now
21263                         per-device rather than global
21264
21265         * src/NetworkManager.c
21266                 - Remove references to desired_ap
21267                 - Move the allowed AP list refresh stuff into a thread
21268
21269         * src/NetworkManagerDevice.c
21270           src/NetworkManagerDevice.h
21271                 - Each wireless device now has a "best ap"
21272                 - Make device activate/deactivate functions per-device
21273                 - Make wireless scanning per-device
21274                 - Add IPv4 address discover functions, stub IPv6 ones
21275                 - Move ethernet address validation functions to NetworkManagerUtils.c
21276                 - Add wireless access point accessor function
21277                 - Get/Set functions for "best ap"
21278
21279         * src/NetworkManagerPolicy.c
21280                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21281                 - Deal with per-device "best ap" rather than data->desired_apa
21282                 - Implement allowed access point worker thread
21283                 - Add nm_policy_essid_is_allowed() function
21284
21285         * src/NetworkManagerUtils.c
21286           src/NetworkManagerUtils.h
21287                 - Add nm_ethernet_address_is_valid() function
21288                 - Add IPv4/IPv6 address get functions
21289
21290         * src/NetworkManagerWireless.c
21291           src/NetworkManagerWireless.h
21292                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21293
21294 2004-06-29  Dan Williams <dcbw@redhat.com>
21295
21296         * dispatcher-daemon/NetworkManagerDispatcher.c
21297                 - Implement script callout functionality
21298
21299 2004-06-24  Dan Williams <dcbw@redhat.com>
21300
21301         * NetworkManager.c
21302             - Spacing cleanups
21303             - Flush device routes and ip addresses when added to the device list
21304
21305         * NetworkManagerDbus.c
21306             - Spacing cleanups
21307             - Add missing returns in the two signal functions
21308         
21309         * NetworkManagerPolicy.c
21310             - Spacing and variable cleanups
21311
21312 2004-06-24  Dan Williams <dcbw@redhat.com>
21313
21314         * Makefile.am
21315           Makefile.in
21316           configure.in
21317           dispatcher-daemon/Makefile.am
21318           dispatcher-daemon/Makefile.in
21319           dispatcher-daemon/NetworkManagerDispatcher.c
21320             - Add a daemon that receives signals from NetworkManager
21321                         and will (eventually) call scripts in /etc/somewhere
21322                         when devices go up or down.
21323         
21324         * NetworkManager.c
21325             - Spacing cleanups
21326             - Flush device routes and ip addresses when added to the device list
21327
21328         * NetworkManagerDbus.c
21329             - Spacing cleanups
21330             - Add missing returns in the two signal functions
21331         
21332         * NetworkManagerPolicy.c
21333             - Spacing and variable cleanups
21334             - Rename nm_policy_switch_interface->nm_policy_switch_device
21335             - nm_policy_switch_device():
21336                                 Use kill (pid) instead of system ("kill <pid>")
21337             - nm_state_modification_monitor():
21338                                 Add wireless essid to output of debug statements
21339                                 Correct typo in device compare to switch or not (should be !=)
21340                                 Don't sleep after sending "no longer active" signal, was useless
21341
21342 2004-06-24  Dan Williams <dcbw@redhat.com>
21343
21344         * Initial import