2008-10-11 Dan Williams <dcbw@redhat.com>
[NetworkManager.git] / ChangeLog
1 2008-10-11  Dan Williams  <dcbw@redhat.com>
2
3         * src/nm-device-wifi.c
4                 - (can_scan): remove old madwifi hack for not scanning while connected
5
6 2008-10-11  Dan Williams  <dcbw@redhat.com>
7
8         Add support for VPN subnet gateways (bgo #549196)
9
10         * include/NetworkManager.h
11                 - Add key for internal VPN subnet gateway
12
13         * src/vpn-manager/nm-vpn-connection.c
14                 - (ip_address_to_string): return a const from a static buffer so we
15                         don't leak a lot of strings
16                 - (print_vpn_config): print internal VPN gateway as well
17                 - (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
18                         VPN service too
19                 - (nm_vpn_connection_get_ip4_internal_gateway): new function
20
21         * src/NetworkManagerSystem.c
22           src/NetworkManagerSystem.h
23                 - (nm_system_device_replace_default_ip4_route): split into two, one for
24                         VPN connections and one for normal devices
25                 - (replace_default_ip4_route): break out route stuff into its own function
26                 - (nm_system_replace_default_ip4_route_vpn,
27                    nm_system_replace_default_ip4_route): simplify by having two cases,
28                         one for VPNs and one for normal devices
29
30         * src/NetworkManagerPolicy.c
31                 - (update_routing_and_dns): simplify, use split default route replacement
32                         functions
33
34 2008-10-10  Dan Williams  <dcbw@redhat.com>
35
36         Rework default route handling to consolidate decisions in the policy,
37         and to take active VPN connections into account when changing the default
38         route (bgo #545912)
39
40         * src/NetworkManager.c
41                 - (main): pass the vpn_manager to the policy so it knows about active
42                         VPN connections; clean up the named manager which wasn't done before
43
44         * src/NetworkManagerPolicy.c
45           src/NetworkManagerPolicy.h
46                 - (nm_policy_new): get a clue about the vpn_manager
47                 - (update_default_route): remove, fold into update_routing_and_dns()
48                 - (update_routing_and_dns): handle active VPN connections too; an
49                         active VPN connection becomes the default route if it does not have
50                         server-specified or user-specified custom routes.  Otherwise, the
51                         best active device gets the default route
52                 - (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
53                    nm_policy_destroy): track VPN connection activation and deactivation
54                         and update the default route when appropriate
55
56         * src/NetworkManagerSystem.c
57           src/NetworkManagerSystem.h
58                 - (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
59                         in the VPN connection itself
60                 - (nm_system_vpn_device_set_from_ip4_config,
61                    nm_system_device_set_from_ip4_config): merge together to make
62                         nm_system_apply_ip4_config()
63                 - (add_vpn_gateway_route): add a route to the VPN's external gateway
64                         via the parent device
65                 - (nm_system_apply_ip4_config): simplify
66                 - (add_ip4_route_to_gateway): new function; add a direct route to the
67                         gateway if needed
68                 - (nm_system_device_replace_default_ip4_route): simplify, break gateway
69                         route stuff out into add_ip4_route_to_gateway() for clarity
70
71         * src/nm-device.c
72                 - (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
73
74         * src/vpn-manager/nm-vpn-connection.c
75           src/vpn-manager/nm-vpn-connection.h
76                 - (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
77                    nm_vpn_connection_get_parent_device): add
78                 - (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
79                         device explicit
80                 - (connection_state_changed): update the named manager now that
81                         nm_system_vpn_device_unset_from_ip4_config() is gone; do something
82                         useful on errors
83
84         * src/vpn-manager/nm-vpn-manager.c
85           src/vpn-manager/nm-vpn-manager.h
86                 - Add a 'connection-activated' signal
87                 - (nm_vpn_manager_get_active_connections): new function; mainly for the
88                         policy to find out about active VPN connections
89
90 2008-10-10  Tambet Ingo  <tambet@gmail.com>
91
92         * src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
93         a daemon to prevent NM logging spew on console on startup and shutdown (due
94         to dependency loop between NM and syslog).
95
96 2008-10-10  Alexander Sack  <asac@ubuntu.com>
97
98         Implement managed mode. We bind devices configured in /etc/network/interfaces
99         to their connections by updating wired/wireless setting with the
100         mac address of the device.
101
102         * system-settings/plugins/ifupdown/plugin.c
103                 - (get_net_address_for_udi): implement function to retrieve MAC
104                         address of udi from hal in GByteArray format
105                 - (bind_device_to_connection): bind mac address of device to
106                         wired/wireless system connection
107                 - (hal_device_added_cb): call bind_device_to_connection for
108                         system connections with a matching interface.name
109                 - (hal_device_added_cb): ensure that all code paths
110                         properly free the "iface" string.
111
112 2008-10-10  Alexander Sack  <asac@ubuntu.com>
113
114         Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
115         mode of the ifupdown system config plugin.
116
117         * system-settings/plugins/ifupdown/plugin.c
118                 - (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
119                         private unmanage_well_known state field accordingly
120
121 2008-10-10  Alexander Sack  <asac@ubuntu.com>
122
123         Implement unmanaged mode that will prevent all devices in the
124         well_known_udis set from being touched by NetworkManager
125
126         * system-settings/plugins/ifupdown/plugin.c
127                 - (typedef struct SCPluginIfupdownPrivate): add gboolean
128                         unmanage_well_known field used to turn on/off unmanaged
129                         mode
130                 - (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
131                         signal when well_known_udis get added/removed
132                 - (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
133                         if we are in unmanaged mode
134
135 2008-10-10  Alexander Sack  <asac@ubuntu.com>
136
137         Add support to track network devices that have a configuration
138         with a matching interface.name in /etc/network/interfaces
139
140         * system-settings/plugins/ifupdown/plugin.c
141                 - (typedef struct SCPluginIfupdownPrivate): add hash table
142                         to track |well_known_udis|
143                 - (get_iface_for_udi): helper function to get interface.name
144                         for a udi
145                 - (hal_device_added_cb, hal_device_removed_cb): callbacks
146                         that add and remove devices to and from the well_known_udis
147                         set depending on whether their |interface.name| matches
148                         any interface definition in /etc/network/interfaces
149                 - (SCPluginIfupdown_init): connect callbacks from above with
150                         hal_mgr and setup well_known_udis hashtable
151                 - (GObject__dispose): destroy well_known_udis hashtable
152                 - (hal_device_added_cb2): implement wrapper callback with GFunc
153                         signature. user_data is supposed to be a triple (hal_mgr,
154                         config and devtype)
155                 - (SCPluginIfupdown_init): bootstrap wired and wifi devices for
156                         startup and call hal_device_added_cb2
157
158 2008-10-10  Alexander Sack  <asac@ubuntu.com>
159
160         Remove implementation for not used NMSystemConfigInterface callback functions
161         in ifupdown plugin
162
163         * system-settings/plugins/ifupdown/plugin.c
164                 - (SCPluginIfupdown_unmanaged_devices_changed): removed
165                 - (SCPluginIfupdown_connection_added): removed
166
167 2008-10-08  Dan Williams  <dcbw@redhat.com>
168
169         Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)
170
171         * src/NetworkManagerUtils.c
172                 - (nm_utils_call_dispatcher): add a 'hostname' action
173
174         * src/NetworkManagerPolicy.c
175                 - (set_system_hostname): dispatch hostname changes
176
177         * callouts/nm-dispatcher-action.c
178                 - (nm_dispatcher_action): handle 'hostname' actions
179
180 2008-10-08  Dan Williams  <dcbw@redhat.com>
181
182         * src/NetworkManagerSystem.c
183                 - (find_route): ref the route so it doesn't get destroyed when the cache
184                         is cleared
185                 - (nm_system_device_set_priority): unref the route here after it's done
186                         being used
187
188 2008-10-08  Dan Williams  <dcbw@redhat.com>
189
190         * src/nm-serial-device.c
191                 - Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment
192
193 2008-10-08  Tambet Ingo  <tambet@gmail.com>
194
195         * system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
196         connection with new settings before saving it.
197
198 2008-10-06  Dan Williams  <dcbw@redhat.com>
199
200         * src/nm-ip4-config.c
201           src/nm-ip4-config.h
202                 - nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path
203
204         * src/nm-device-interface.c
205                 - (nm_device_interface_init): make 'ip4-config' a boxed property of type
206                         DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
207                         by using '/' for the object path
208
209         * src/nm-device.c
210                 - (src/nm-device.c): marshal missing/unexported ip4-config through
211                         dbus as '/' since dbus-glib can't handle NULL objects nor can
212                         dbus handle NULL object paths
213
214 2008-10-03  Alexander Sack  <asac@ubuntu.com>
215
216         Implement system hostname support for debian/ubuntu
217
218         * system-settings/plugins/ifupdown/plugin.c
219                 - (GObject__get_property): extend announced capabilities; add
220                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME support
221                 - (GObject__set_property,write_system_hostname): implement
222                         NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_HOSTNAME capability.
223                 - (GObject__set_property, GObject__get_property, SCPluginIfupdown_init,
224                    update_system_hostname, get_hostname):
225                         implement hostname property that watches and
226                         parses /etc/hostname
227
228 2008-10-03  Alexander Sack  <asac@ubuntu.com>
229
230         * system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
231           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
232           system-settings/plugins/ifcfg-fedora/Makefile.am
233           system-settings/src/nm-inotify-helper.c
234           system-settings/src/nm-inotify-helper.h
235           src/Makefile.am
236                 - Move ifcfg-fedora inotify helpers to the system settings service so
237                         they are available to all plugins
238
239 2008-10-03  Alexander Sack  <asac@ubuntu.com>
240
241         Implement support for wep-tx-keyidx in ifupdown system
242         config plugin.
243
244         * system-settings/plugins/ifupdown/parser.c
245                 - (update_wireless_security_setting_from_if_block): introduce
246                         free_type_mapping func table; rename a few local
247                         variables to improve readability; add wpa security mapping
248                         for wep-tx-keyidx property
249                 - (string_to_gpointerint): new function used for the auto_type_mapping
250                         of new wep-tx-keyidx property
251                 - (slist_free_all): free func used for mapped slist types
252
253 2008-10-03  Alexander Sack  <asac@ubuntu.com>
254
255         * system-settings/src/main.c:
256                 - (add_default_dhcp_connection, device_removed_cb): ensure the UDI is
257                         always used as the hash key; fixes a crash when removing wired
258                         devices
259
260 2008-10-02  Dan Williams  <dcbw@redhat.com>
261
262         * src/nm-gsm-device.c
263                 - (enter_pin_done, enter_pin, check_pin_done, real_act_stage1_prepare):
264                         pass the required GSM secret along via user_data rather than keeping
265                         it around in the private data where it sometimes didn't get cleared
266                 - (real_get_ppp_name): implement using the GSM username
267
268 2008-10-02  Dan Williams  <dcbw@redhat.com>
269
270         * src/ppp-manager/nm-ppp-manager.c
271           src/ppp-manager/nm-ppp-manager.h
272                 - (impl_ppp_manager_need_secrets): tries secrets twice before asking
273                         the settings daemon for completely new ones
274                 - (create_pppd_cmd_line): new parameter 'ppp_name' used to set the
275                         local PPP peer name; allow PPP debuging by launching NM with
276                         the environment variable NM_PPP_DEBUG defined
277                 - (nm_ppp_manager_start): new parameter 'ppp_name' passed to
278                         create_pppd_cmd_line()
279
280         * src/nm-serial-device.c
281           src/nm-serial-device.h
282                 - New 'get_ppp_name' function for subclasses to implement to return the
283                         local PPP peer name
284                 - (real_act_stage2_config): call 'get_ppp_name' function of subclasses
285                         and pass that name to the PPP manager
286
287         * src/nm-device-ethernet.c
288                 - (pppoe_stage2_config): pass the PPPoE username to the PPP manager as
289                         the local peer name
290
291         * src/nm-cdma-device.c
292                 - (real_get_ppp_name): implement using the CDMA username
293
294 2008-10-02  Dan Williams  <dcbw@redhat.com>
295
296         Patch from Alexander Sack <asac ubuntu com>
297
298         * system-settings/plugins/ifupdown/parser.c
299                 - Implement more graceful ip4 config parsing for cases where
300                   /etc/network/interfaces omits basic ip4 settings, such as gateway etc
301                   by using default values
302
303 2008-10-02  Dan Williams  <dcbw@redhat.com>
304
305         * src/NetworkManagerPolicy.c
306                 - (device_state_changed): when marking a connection invalid, clear its
307                         secrets too so that fresh secrets get requested the next time
308
309 2008-10-01  Dan Williams  <dcbw@redhat.com>
310
311         * system-settings/src/dbus-settings.c
312                 - (nm_sysconfig_settings_init): cache system hostname on startup as
313                         a fallback if no plugin provides a hostname
314                 - (get_property): fall back to cached hostname if no plugin provides
315                         a hostname
316
317 2008-10-01  Dan Williams  <dcbw@redhat.com>
318
319         Fix setting value comparison issue that caused some settings to look the
320         same when they were really different (rh #464417)
321
322         * libnm-util/nm-param-spec-specialized.c
323                 - (type_is_fixed_size): return fundamental size of the fixed type too
324                 - (nm_gvalues_compare_collection): use the fundamental fixed type size
325                         in the comparison so that the _entire_ fixed type collection gets
326                         compared rather than just the first 'len1' bytes
327
328 2008-09-30  Dan Williams  <dcbw@redhat.com>
329
330         * src/NetworkManagerPolicy.c
331                 - (lookup_thread_worker): don't store the idle handler ID becuase the
332                         idle handler could have already run and freed the LookupThread
333                         structure
334
335 2008-09-30  Tambet Ingo  <tambet@gmail.com>
336
337         * src/nm-device.c (nm_device_get_priority): Implement.
338         (nm_device_set_ip4_config): Send the device priority to system ip4 
339         config setter.
340
341         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
342         Add priority argument and if it's >= 0, set the priority of the network
343         route added automatically by netlink (or kernel?).
344         (nm_system_device_set_priority): Implement.
345
346         * src/NetworkManagerPolicy.c (get_best_device): Use 
347         nm_device_get_priority() instead of home-grown version. Revert the
348         meaning, best priority is the lowest one.
349
350 2008-09-29  Dan Williams  <dcbw@redhat.com>
351
352         Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
353         when it returns EAGAIN (rh #362421)
354
355         * src/nm-device-wifi.c
356                 - (wireless_get_range): try GIWRANGE a few times until the card responds
357                 - (real_get_generic_capabilities, constructor): use wireless_get_range()
358
359 2008-09-28  Dan Williams  <dcbw@redhat.com>
360
361         * src/nm-serial-device.c
362           src/nm-serial-device.h
363                 - (nm_serial_device_close): stop PPP manager here so that PPP gets
364                         cleaned at the right times when subclasses close the serial port too
365                 - (nm_serial_device_send_command): use a default send delay; don't
366                         spin forever on EAGAIN
367                 - (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
368                         remove, no longer used
369                 - (find_response): return the matched response if any
370                 - (nm_serial_device_wait_reply_blocking): wait for a reply but block
371                         while doing so
372                 - (wait_for_reply_done): pass the matched response to the callback
373                 - (wait_for_reply_got_data): save the matched response; simplify timeout
374                         handling
375                 - (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
376                         const since they never get modified
377                 - (cleanup_device): split out common cleanup stuff to a new function
378                 - (real_deactivate_quickly, finalize): use cleanup_device()
379
380         * src/nm-gsm-device.c
381                 - (modem_get_reply): remove, unused
382                 - (set_apn): give the card a bit more time to respond
383                 - (manual_registration_again, schedule_manual_registration_again,
384                    manual_registration_response, manual_registration): handle manual
385                         registration timeouts better by retrying registration a few times
386                         because cards are a bit slow after CFUN=1
387                 - (automatic_registration_get_network, get_network_response): use
388                         modem_wait_for_reply() because it interacts better with the serial
389                         buffer and does more intelligent matching; need to wait for 'OK'
390                         rather than just matching terminators
391                 - (schedule_automatic_registration_again,
392                    automatic_registration_response, automatic_registration): retry
393                         registration a few times on timeout or "searching" because cards
394                         take a bit to find a network after being powered up with CFUN=1
395                 - (power_up_response, power_up, init_full_done, enter_pin,
396                    check_pin_done): power up the card with CFUN=1 before trying to
397                         register with the network
398                 - (init_modem_full, init_modem): use more standard 3G init strings
399
400         * src/nm-hso-gsm-device.c
401                 - (modem_get_reply): remove, unused
402                 - (hso_ip4_config_response, real_act_stage3_ip_config_start): use
403                         modem_wait_for_reply() to match actual responses instead of single
404                         termination characters; it doesn't leave stuff in the serial buffer
405                         that might confuse later calls
406                 - (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
407                         to ensure that the call is really disconnected and not leave extra
408                         stuff in the serial buffer
409
410         * src/nm-cdma-device.c
411                 - (power_up_response, power_up, init_done): try Sierra-style modem
412                         power up before attempting to connect
413
414 2008-09-27  Dan Williams  <dcbw@redhat.com>
415
416         * libnm-util/nm-setting-gsm.c
417                 - (verify): verify GSM network ID
418
419 2008-09-25  Dan Williams  <dcbw@redhat.com>
420
421         * libnm-util/nm-setting-gsm.c
422           libnm-util/nm-setting-gsm.h
423                 - Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
424                         technology terms (bgo #551361)
425
426 2008-09-25  Dan Williams  <dcbw@redhat.com>
427
428         Fix bgo #549401 (inspired by patch from Alexander Sack)
429
430         * src/nm-device-ethernet.c
431                 - (finish_supplicant_task): clean up scheduled tasks and free memory
432                 - (remove_supplicant_interface_error_handler): remove the supplicant
433                         error idle callback too
434                 - (supplicant_interface_release): rename from supplicant_interface_clean
435                         to match nm-device-wifi.c; clean up supplicant interface-related
436                         state tasks when the supplicant interface is disposed of
437                 - (schedule_state_handler): add scheduled tasks to a list so they can
438                         be cleaned up later
439                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
440                    supplicant_iface_connection_state_cb_handler): use
441                         finish_supplicant_task() to clean up each completed task
442                 - (supplicant_iface_connection_error_cb_handler,
443                    supplicant_connection_timeout_cb): clear source id when the task is
444                         complete
445                 - (supplicant_iface_connection_error_cb): save scheduled task id for
446                         later cleanup
447                 - (nm_device_ethernet_dispose): clean up any pending supplicant state
448                         tasks
449
450         * src/nm-device-wifi.c
451                 - (finish_supplicant_task): clean up scheduled tasks and free memory
452                 - (remove_supplicant_interface_error_handler): remove the supplicant
453                         error idle callback too
454                 - (supplicant_interface_release): clean up supplicant interface-related
455                         state tasks when the supplicant interface is disposed of
456                 - (schedule_state_handler): add scheduled tasks to a list so they can
457                         be cleaned up later
458                 - (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
459                    supplicant_iface_connection_state_cb_handler): use
460                         finish_supplicant_task() to clean up each completed task
461                 - (supplicant_iface_connection_error_cb_handler): clear source id when
462                         the task is complete
463                 - (supplicant_iface_connection_error_cb): save scheduled task id for
464                         later cleanup
465                 - (nm_device_wifi_dispose): clean up any pending supplicant state tasks
466
467 2008-09-24  Tambet Ingo  <tambet@gmail.com>
468
469         * system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
470         method and get/set hostname property.
471
472 2008-09-24  Tambet Ingo  <tambet@gmail.com>
473
474         * src/supplicant-manager/nm-supplicant-interface.c
475         (nm_supplicant_interface_disconnect): Don't increment the reference 
476         count when disconnecting. The problem is on shutdown, when the replies
477         to these commands do not arrive before NM exits, resulting on never
478         calling supplicant interface's dispose(), which removes the interface
479         from supplicant.
480
481 2008-09-24  Tambet Ingo  <tambet@gmail.com>
482
483         * libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
484         all the public function arguments.
485
486 2008-09-22  Tambet Ingo  <tambet@gmail.com>
487
488         * src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
489         "Failure" signal from VPN plugins, store the failure reason, and
490         use it when the state is changed to failure.
491
492         * introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
493         description.
494
495         * include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
496         reason to the end of the list to not break the API.
497         (NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
498         so it can be shared by plugins and daemon.
499
500 2008-09-18  Dan Williams  <dcbw@redhat.com>
501
502         Patch from Alexander Sack <asac@ubuntu.com>
503
504         * configure.in
505           system-settings/plugins/Makefile.am
506           system-settings/plugins/ifupdown/Makefile.am
507           system-settings/plugins/ifupdown/interface_parser.c
508           system-settings/plugins/ifupdown/interface_parser.h
509           system-settings/plugins/ifupdown/nm-ifupdown-connection.c
510           system-settings/plugins/ifupdown/nm-ifupdown-connection.h
511           system-settings/plugins/ifupdown/parser.c
512           system-settings/plugins/ifupdown/parser.h
513           system-settings/plugins/ifupdown/plugin.c
514           system-settings/plugins/ifupdown/plugin.h
515                 - Implement a Debian/Ubuntu legacy network configuration plugin
516                         (gnome.org #551941)
517
518 2008-09-18  Dan Williams  <dcbw@redhat.com>
519
520         Implement support for honoring configured and automatic hostnames, and for
521         setting the configured hostname.
522
523         * introspection/nm-ip4-config.xml
524           src/nm-ip4-config.c
525           src/nm-ip4-config.h
526           src/dhcp-manager/nm-dhcp-manager.c
527                 - Remove useless hostname property; it's not really part of the IPv4
528                         config
529
530         * introspection/nm-settings-system.xml
531           libnm-glib/nm-dbus-settings-system.c
532           libnm-glib/nm-dbus-settings-system.h
533                 - Add SetHostname() call to system settings D-Bus interface
534                 - Add Hostname property to system settings D-Bus interface
535                 - (nm_dbus_settings_system_save_hostname,
536                    nm_dbus_settings_system_get_hostname): implement
537
538         * src/nm-device.c
539           src/nm-device.h
540                 - (nm_device_get_dhcp4_config): implement
541
542         * src/nm-manager.c
543           src/nm-manager.h
544                 - Fetch and track system settings service hostname changes, and proxy
545                         the changes via a GObject property of the manager
546
547         * system-settings/src/nm-system-config-interface.c
548           system-settings/src/nm-system-config-interface.h
549                 - Replace nm_system_config_interface_supports_add() with a capabilities
550                         bitfield
551
552         * system-settings/src/nm-system-config-error.c
553           system-settings/src/nm-system-config-error.h
554                 - Add additional errors
555
556         * system-settings/src/dbus-settings.c
557           system-settings/src/dbus-settings.h
558                 - (get_property, nm_sysconfig_settings_class_init): add hostname
559                         property; first plugin returning a hostname wins
560                 - (impl_settings_add_connection): use plugin capabilities instead of
561                         nm_system_config_interface_supports_add()
562                 - (impl_settings_save_hostname): implement hostname saving
563
564         * src/NetworkManagerPolicy.c
565                 - (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
566                    lookup_thread_die): implement an asynchronous hostname lookup thread
567                         which given an IPv4 address tries to look up the hostname for that
568                         address with reverse DNS
569                 - (get_best_device): split out best device code from
570                         update_routing_and_dns()
571                 - (update_etc_hosts): update /etc/hosts with the machine's new hostname
572                         to preserve the 127.0.0.1 reverse mapping that so many things require
573                 - (set_system_hostname): set a given hostname
574                 - (update_system_hostname): implement hostname policy; a configured
575                         hostname (from the system settings service) is used if available,
576                         otherwise an automatically determined hostname from DHCP, VPN, etc.
577                         If there was no automatically determined hostname, reverse DNS of
578                         the best device's IP address will be used, and as a last resort the
579                         hostname 'localhost.localdomain' is set.
580                 - (update_routing_and_dns): use get_best_device(); update the system
581                         hostname when the network config changes
582                 - (hostname_changed): update system hostname if the system settings
583                         service signals a hostname change
584                 - (nm_policy_new): list for system settings service hostname changes
585                 - (nm_policy_destroy): ensure that an in-progress hostname lookup thread
586                         gets told to die
587
588         * system-settings/plugins/keyfile/plugin.c
589           system-settings/plugins/ifcfg-suse/plugin.c
590                 - (get_property, sc_plugin_ifcfg_class_init): implement hostname and
591                         capabilities properties
592
593         * system-settings/plugins/ifcfg-fedora/shvar.c
594                 - (svOpenFile): re-enable R/W access of ifcfg files since the plugin
595                         writes out /etc/sysconfig/network now
596
597         * system-settings/plugins/ifcfg-fedora/plugin.c
598                 - (plugin_get_hostname): get hostname from /etc/sysconfig/network
599                 - (plugin_set_hostname): save hostname to /etc/sysconfig/network
600                 - (sc_network_changed_cb): handle changes to /etc/sysconfig/network
601                 - (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
602                 - (get_property, set_property, sc_plugin_ifcfg_class_init): implement
603                         hostname get/set and capabilities get
604
605 2008-09-18  Dan Williams  <dcbw@redhat.com>
606
607         * libnm-util/nm-setting-wireless.c
608                 - (nm_setting_wireless_ap_security_compatible): only verify pairwise and
609                         group ciphers if the wireless-security setting explicitly specified
610                         them, effectively making the default be "all ciphers"  (idea from
611                         Alexander Sack)
612
613 2008-09-15  Dan Williams  <dcbw@redhat.com>
614
615         Patch from Alexander Sack <asac@ubuntu.com>
616
617         * src/named-manager/nm-named-manager.c
618                 - (dispatch_resolvconf): respect resolvconf exit code
619
620 2008-09-12  Tambet Ingo  <tambet@gmail.com>
621
622         * src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
623         again. Add some debugging.
624
625 2008-09-11  Dan Williams  <dcbw@redhat.com>
626
627         * system-settings/plugins/keyfile/plugin.c
628                 - (update_connection_settings): update connection manually, since
629                         nm_exported_connection_update() does authentication
630                 - (dir_changed): update_connection_settings() doesn't need to return
631                         an error
632
633 2008-09-09  Dan Williams  <dcbw@redhat.com>
634
635         * libnm-glib/nm-vpn-plugin-ui-interface.c
636           libnm-glib/nm-vpn-plugin-ui-interface.h
637           libnm-glib/libnm_glib_vpn.ver
638                 - (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
639                         should clean up resources related to the connection (like keyring
640                         secrets)
641                 - (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
642                         should save user-scope secrets (like to the keyring)
643
644 2008-09-08  Dan Williams  <dcbw@redhat.com>
645
646         Patch from Alexander Sack <asac@ubuntu.com>
647
648         * libnm-util/crypto_gnutls.c
649           libnm-util/crypto_nss.c
650                 - (crypto_init, crypto_deinit): just use a boolean instead of a refcount
651
652         * libnm-util/nm-utils.c
653           libnm-util/nm-utils.h
654           libnm-util/libnm-util.ver
655                 - (nm_utils_init): initialize libnm-util
656                 - (nm_utils_deinit): de-initialize libnm-util and clean up resources
657
658         * libnm-util/nm-setting-8021x.c
659                 - (nm_setting_802_1x_class_init): init libnm-util when needed
660
661 2008-09-05  Dan Williams  <dcbw@redhat.com>
662
663         Patch from Roy Marples <roy@marples.name> and others
664
665         * configure.in
666           src/named-manager/nm-named-manager.c
667                 - Add support for resolvconf; use --with-resolvconf at configure time
668                         to enable it
669
670 2008-09-05  Dan Williams  <dcbw@redhat.com>
671
672         * libnm-util/crypto_nss.c
673           libnm-util/crypto_gnutls.c
674           libnm-util/crypto.h
675                 - (crypto_init): return error when init fails
676
677 2008-09-05  Dan Williams  <dcbw@redhat.com>
678
679         * libnm-glib/nm-device-wifi.c
680                 - (access_point_removed_proxy): clean up the active access point too
681                         just in case the active ap changed signal didn't come through yet
682                 - (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up
683
684 2008-09-05  Dan Williams  <dcbw@redhat.com>
685
686         * libnm-glib/nm-client.c
687                 - (constructor): get initial state after we know whether NM is running
688                         or not
689
690 2008-09-05  Dan Williams  <dcbw@redhat.com>
691
692         * libnm-glib/nm-ip4-config.c
693           libnm-glib/nm-dhcp4-config.c
694                 - (finalize): clean up the DBusGProxy
695
696 2008-09-04  Dan Williams  <dcbw@redhat.com>
697
698         * src/nm-ip4-config.c
699           src/nm-ip4-config.h
700                 - (nm_ip4_config_new): don't export over D-Bus here
701                 - (nm_ip4_config_export): new function; export the config over D-Bus
702                 - (nm_ip4_config_is_exported): new function
703
704         * src/nm-device.c
705                 - (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
706                         objects by balancing the IP4Config constructor; the device holds
707                         a reference to the IP4Config already
708                 - (nm_device_set_ip4_config): export the IP4Config when needed
709
710 2008-09-04  Dan Williams  <dcbw@redhat.com>
711
712         * src/supplicant-manager/nm-supplicant-settings-verify.c
713                 - Allow WPA-NONE key management for Ad-Hoc WPA connections
714
715 2008-09-04  Dan Williams  <dcbw@redhat.com>
716
717         * libnm-util/nm-setting-vpn.c
718           libnm-util/nm-setting-vpn.h
719                 - Split VPN secrets from VPN data so that settings services can actually
720                         figure out that they are secrets and store them accordingly
721
722         * system-settings/plugins/keyfile/nm-keyfile-connection.c
723           system-settings/plugins/keyfile/reader.c
724           system-settings/plugins/keyfile/reader.h
725           system-settings/plugins/keyfile/writer.c
726                 - Store VPN secrets separately from VPN data so that they can be fetched
727                         on demand
728                 - Implement the get_secrets() call so that (a) secrets don't leak out
729                         to unprivileged callers, and (b) secrets can be sent to privileged
730                         callers when needed
731
732         * vpn-daemons/vpnc/src/nm-vpnc-service.c
733                 - Handle split VPN secrets
734
735 2008-08-27  Dan Williams  <dcbw@redhat.com>
736
737         * system-settings/plugins/ifcfg-fedora/reader.c
738                 - (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)
739
740 2008-08-27  Dan Williams  <dcbw@redhat.com>
741
742         Ensure zombie children get cleaned up.  To get notifications when children
743         die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
744         that requires calling waitpid() yourself if you've removed the child watch
745         handler before the process has actually died, which NM needs to do in a few
746         places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
747         cleans up after the child when required.  Should fix problems trying to
748         activate mobile broadband connections after a previous failure.
749
750         * src/dhcp-manager/nm-dhcp-dhclient.c
751           src/dhcp-manager/nm-dhcp-dhcpcd.c
752                 - Use G_SPAWN_DO_NOT_REAP_CHILD
753
754         * src/dhcp-manager/nm-dhcp-manager.c
755                 - (nm_dhcp_device_destroy): ensure child is cleaned up
756                 - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
757                         block on child quitting, since the non-blocking functionality was
758                         never actually used
759
760         * src/dnsmasq-manager/nm-dnsmasq-manager.c
761                 - (dm_watch_cb): child is already reaped here
762                 - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead
763
764         * src/nm-device.c
765                 - (aipd_cleanup): block until child is dead
766
767         * src/named-manager/nm-named-manager.c
768                 - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
769                         event bothering to watch the child
770
771         * src/ppp-manager/nm-ppp-manager.c
772                 - (ppp_watch_cb): child is already reaped here
773                 - (ensure_killed, nm_ppp_manager_stop): block until child is dead
774
775         * src/vpn-manager/nm-vpn-service.c
776                 - (vpn_service_watch_cb): child is already reaped here
777                 - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
778                         status of the child is actually tracked
779                 - (ensure_killed, finalize): block until child is dead
780
781 2008-08-26  Dan Williams  <dcbw@redhat.com>
782
783         * system-settings/plugins/keyfile/nm-keyfile-connection.c
784                 - (update): Update filename of the connection if the connection id
785                         was changed
786
787         * system-settings/plugins/keyfile/plugin.c
788                 - (dir_changed): first pass at handling connection renames correctly
789
790         * system-settings/plugins/keyfile/writer.c
791           system-settings/plugins/keyfile/writer.h
792                 - (write_connection): replace '/' with '*' when writing out the filename
793                         from the connection id
794
795 2008-08-26  Dan Williams  <dcbw@redhat.com>
796
797         Add connection UUIDs, since connection names can be changed, and since
798         old-style connection IDs could change over the life of the connection.  The
799         UUID should be assigned at connection creation time, be stable for a given
800         connection, and should be unique among all connections for a given settings
801         service.
802
803         * configure.in
804           libnm-util/Makefile.am
805                 - Require libuuid
806
807         * introspection/nm-exported-connection.xml
808                 - Remove "GetID" method
809
810         * libnm-glib/nm-dbus-connection.c
811           libnm-glib/nm-settings.c
812           libnm-glib/nm-settings.h
813                 - Remove id-related stuff
814
815         * libnm-util/nm-utils.c
816           libnm-util/nm-utils.h
817           libnm-util/libnm-util.ver
818                 - (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
819                         utility functions to generate UUIDs
820
821         * libnm-util/nm-setting-connection.c
822           libnm-util/nm-setting-connection.h
823                 - Add 'uuid' member to the connection setting
824                 - (verify): require valid 'uuid' for a valid connection
825
826         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
827           system-settings/plugins/ifcfg-fedora/reader.c
828           system-settings/plugins/ifcfg-suse/nm-suse-connection.c
829           system-settings/plugins/ifcfg-suse/parser.c
830           system-settings/plugins/keyfile/nm-keyfile-connection.c
831           system-settings/src/main.c
832                 - Remove id-related stuff
833                 - Give connections UUIDs where needed
834
835 2008-08-25  Dan Williams  <dcbw@redhat.com>
836
837         * libnm-util/crypto_gnutls.c
838           libnm-util/crypto_nss.c
839                 - (crypto_init, crypto_deinit): refcount init/deinit
840                 - (crypto_md5_hash): allow NULL salt
841
842 2008-08-22  Michael Biebl  <mbiebl@gmail.com>
843
844         * libnm-glib/Makefile.am
845           libnm-util/Makefile.am
846           libnm-glib/libnm_glib.ver
847           libnm-glib/libnm_glib_vpn.ver
848           libnm-util/libnm-util.ver
849                 - Use linker version scripts to control the list of exported 
850                 symbols. List each exported symbol explicitely.
851         * libnm-util/Makefile.am
852                 - Fix compilation of the test-crypto binary. The crypto
853                 functions are no longer part of the libnm-util API. Add 
854                 crypto_*.c to test_crypto_SOURCES and link against the correct
855                 crypto libraries.
856
857 2008-08-19  Dan Williams  <dcbw@redhat.com>
858
859         * configure.in
860           test/Makefile.am
861                 - Don't build test/test-common
862                 - Remove unused stuff
863
864         * test/nm-set-fallback
865           test/nmtestdevices.c
866           test/test-common/.cvsignore
867           test/test-common/Makefile.am
868           test/test-common/test-common.c
869           test/test-common/test-common.h
870                 - delete
871
872 2008-08-18  Dan Williams  <dcbw@redhat.com>
873
874         * libnm-util/nm-utils.c
875           libnm-util/nm-utils.h
876                 - (nm_utils_garray_to_string): remove; NM was the only user and doesn't
877                         export anything that needs to be converted with this function
878
879         * src/dhcp-manager/nm-dhcp-manager.c
880                 - (garray_to_string): convert a byte array to a UTF-8 string with
881                         minimal validation; the DHCP client sends it in ASCII anyway
882                 - (get_option, copy_option): use garray_to_string()
883
884 2008-08-18  Dan Williams  <dcbw@redhat.com>
885
886         * include/NetworkManager.h
887           introspection/nm-device.xml
888                 - Add a "missing firmware" device state reason
889
890         * src/NetworkManagerSystem.c
891           src/NetworkManagerSystem.h
892                 - (nm_system_device_set_up_down): add a no_firmware argument
893                 - (nm_system_device_set_up_down_with_iface): if the result of setting
894                         IFF_UP is ENOENT, that almost always means missing firmware
895
896         * src/backends/NetworkManagerGeneric.c
897           src/nm-device-ethernet.c
898           src/nm-device-private.h
899           src/nm-device-wifi.c
900           src/nm-device.c
901           src/nm-device.h
902           src/nm-hso-gsm-device.c
903           src/vpn-manager/nm-vpn-connection.c
904                 - Pass no_firmware along; check it where appropriate
905
906 2008-08-18  Dan Williams  <dcbw@redhat.com>
907
908         Patch from Robert Buchholz <rbu@gentoo.org>
909
910         * autogen.sh
911           configure.in
912                 - Change to automake 1.9 and 'ustar' tar format defined by POSIX
913                         1003.1-1988, allowing for file names longer than 99 characters
914
915 2008-08-17  Dan Williams  <dcbw@redhat.com>
916
917         * include/NetworkManager.h
918           introspection/nm-device.xml
919           src/nm-gsm-device.c
920                 - Finer-grained GSM registration failure error codes
921
922 2008-08-17  Dan Williams  <dcbw@redhat.com>
923
924         * callouts/Makefile.am
925           src/Makefile.am
926                 - Move dispatcher directory creation to callouts/Makefile.am
927
928         * system-settings/plugins/keyfile/Makefile.am
929                 - Create keyfile connections directory in DESTDIR (bgo #546833)
930
931 2008-08-15  Dan Williams  <dcbw@redhat.com>
932
933         Do connection sharing in a cleaner manner; all required iptables rules
934         are now stored in the activation request and pertain only to the device
935         which is being shared to other computers. (rh #458625)
936
937         * src/nm-activation-request.c
938           src/nm-activation-request.h
939                 - (nm_act_request_add_share_rule): new function; add a sharing rule to
940                         the activation request which will get torn down automatically when
941                         the activation request dies
942                 - (nm_act_request_set_shared): push sharing rules to iptables when sharing
943                         is started, and tear them down when sharing is stopped
944
945         * src/nm-device.c
946                 - (start_sharing): start up sharing by doing the required iptables magic
947                 - (share_init): poke the right bits of the kernel and load the right
948                         modules for NAT
949                 - (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
950                         connection if it's a 'shared' connection
951
952         * src/NetworkManagerPolicy.c
953                 - Remove all sharing stuff; done in the device code itself
954
955 2008-08-15  Dan Williams  <dcbw@redhat.com>
956
957         * src/dnsmasq-manager/nm-dnsmasq-manager.c
958                 - (create_dm_cmd_line): send the right router address
959
960 2008-08-15  Dan Williams  <dcbw@redhat.com>
961
962         * src/ppp-manager/nm-ppp-manager.c
963                 - (pppd_timed_out): ensure timeouts fail the connection
964
965 2008-08-14  Dan Williams  <dcbw@redhat.com>
966
967         * src/nm-properties-changed-signal.c
968           src/nm-properties-changed-signal.h
969                 - Add a property spec flag for "don't export this property" in
970                         property changed signals
971
972         * src/nm-hso-gsm-device.c
973           src/nm-gsm-device.c
974           src/nm-cdma-device.c
975                 - Don't export monitor interface or netdev interface properties
976
977 2008-08-14  Dan Williams  <dcbw@redhat.com>
978
979         * src/NetworkManagerPolicy.c
980                 - (update_routing_and_dns): 'hso' devices can be default even if they
981                         don't have a gateway
982
983 2008-08-14  Dan Williams  <dcbw@redhat.com>
984
985         * src/nm-device.c
986                 - (nm_device_deactivate_quickly): tear down activation request after
987                         calling device-specific deactivation
988
989         * src/nm-hso-gsm-device.c
990                 - (real_deactivate_quickly): terminate connection when deactivating
991
992 2008-08-14  Dan Williams  <dcbw@redhat.com>
993
994         * src/nm-activation-request.h
995                 - Add HSO secrets caller
996
997         * src/nm-gsm-device.c
998           src/nm-gsm-device.h
999                 - (modem_wait_for_reply): add a 'user_data' argument so callers can pass
1000                         something to the callback function
1001                 - (set_apn, set_apn_done): call class dial function, not a static one
1002                 - (nm_gsm_device_class_init): add a class 'dial' function
1003
1004         * src/nm-hal-manager.c
1005                 - (get_hso_netdev): find the hso-driven hardware's net device
1006                 - (modem_device_creator): recognize hso-driven hardware and create the
1007                         right type of device object for it
1008
1009         * src/Makefile.am
1010           src/nm-hso-gsm-device.c
1011           src/nm-hso-gsm-device.h
1012                 - Implement support for devices driven by the 'hso' driver as a subclass
1013                         of NMGsmDevice
1014
1015 2008-08-14  Dan Williams  <dcbw@redhat.com>
1016
1017         * src/NetworkManagerSystem.c
1018                 - (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
1019                 - (nm_system_device_set_up_down_with_iface): cleanups; only return
1020                         success if the operation really was successful
1021
1022 2008-08-14  Dan Williams  <dcbw@redhat.com>
1023
1024         * src/nm-netlink-monitor.c
1025           src/nm-netlink-monitor.h
1026           src/nm-device-ethernet.c
1027                 - (nm_netlink_monitor_request_status): return an error on failure
1028                 - (constructor): don't segfault on missing error
1029
1030 2008-08-13  Dan Williams  <dcbw@redhat.com>
1031
1032         * callouts/nm-dispatcher-action.c
1033                 - Add IP4 config info to script environment
1034
1035 2008-08-12  Dan Williams  <dcbw@redhat.com>
1036
1037         * src/nm-device.c
1038                 - (nm_device_set_ip4_config): don't touch hostnames here; distros
1039                         that want to use DHCP hostnames should use dispatcher scripts
1040                         for that
1041
1042         * src/NetworkManagerSystem.h
1043           src/backends/NetworkManagerArch.c
1044           src/backends/NetworkManagerDebian.c
1045           src/backends/NetworkManagerFrugalware.c
1046           src/backends/NetworkManagerGeneric.c
1047           src/backends/NetworkManagerGeneric.h
1048           src/backends/NetworkManagerGentoo.c
1049           src/backends/NetworkManagerMandriva.c
1050           src/backends/NetworkManagerPaldo.c
1051           src/backends/NetworkManagerRedHat.c
1052           src/backends/NetworkManagerSlackware.c
1053           src/backends/NetworkManagerSuSE.c
1054                 - Remove nm_system_set_hostname(), no longer used
1055           
1056         * src/backends/Makefile.am
1057           src/backends/shvar.c
1058           src/backends/shvar.h
1059                 - Remove shvar.*; no longer used
1060
1061 2008-08-12  Dan Williams  <dcbw@redhat.com>
1062
1063         Revert most of the 'hostname' patch.  Too much stuff still breaks when
1064         hostname is updated at runtime.  Distros or users who want hostname updates
1065         can use dispatcher scripts to update the hostname if they need it.
1066
1067 2008-08-12  Dan Williams  <dcbw@redhat.com>
1068
1069         * introspection/nm-settings-system.xml
1070           system-settings/src/dbus-settings.c
1071           system-settings/src/dbus-settings.h
1072                 - Add a 'Hostname' property (rw) which represents the configured
1073                         hostname and domain of the system, if any
1074
1075         * system-settings/src/nm-system-config-error.c
1076           system-settings/src/nm-system-config-error.h
1077           system-settings/src/nm-system-config-interface.c
1078           system-settings/src/nm-system-config-interface.h
1079                 - Add a 'hostname' property to the plugin interface
1080                 - Add a method to send updated hostname to plugins to save in their
1081                         backing configuration store
1082
1083         * system-settings/plugins/keyfile/nm-keyfile-connection.c
1084           system-settings/plugins/keyfile/plugin.c
1085           system-settings/plugins/keyfile/writer.c
1086           system-settings/plugins/keyfile/writer.h
1087           system-settings/plugins/ifcfg-suse/plugin.c
1088                 - Add minimal hostname support
1089
1090         * system-settings/plugins/ifcfg-fedora/plugin.c
1091                 - Add support for updating system hostname in /etc/sysconfig/network
1092
1093 2008-08-12  Dan Williams  <dcbw@redhat.com>
1094
1095         * system-settings/plugins/ifcfg-fedora/shvar.c
1096           system-settings/plugins/ifcfg-fedora/shvar.c
1097                 - Fix double-free caused by svSetValue() followed by svCloseFile()
1098
1099 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1100
1101         * Makefile.am: Fix distcheck.
1102
1103 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1104
1105         * libnm-glib/*.c. Document some more.
1106
1107 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1108
1109         Start documenting libnm-glib public API using gtk-doc.
1110
1111         * libnm-glib/nm-serial-device.c: 
1112         * libnm-glib/nm-object.c: 
1113         * libnm-glib/nm-gsm-device.c: 
1114         * libnm-glib/nm-device.c: 
1115         * libnm-glib/nm-device-wifi.c: 
1116         * libnm-glib/nm-device-ethernet.c: 
1117         * libnm-glib/nm-client.c: 
1118         * libnm-glib/nm-cdma-device.c: Document the public API.
1119
1120         * docs/libnm-glib/libnm-glib.types: Implement.
1121
1122         * docs/libnm-glib/Makefile.am: Implement.
1123
1124         * autogen.sh: 
1125         * configure.in: 
1126         * Makefile.am: Add gtk-doc support.
1127
1128 2008-08-12  Tambet Ingo  <tambet@gmail.com>
1129
1130         * src/backends/*: Get rid of nm_system_should_modify_resolv_conf().
1131
1132         * src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
1133         the composite result of all the IP4 configurations and call a distro
1134         specific update_resolv_conf().
1135         (update_resolv_conf): Implement one for directly writing to 
1136         /etc/resolv.conf and one for opensuse to call netconfig.
1137
1138 2008-08-11  Dan Williams  <dcbw@redhat.com>
1139
1140         * src/ppp-manager/nm-ppp-manager.c
1141                 - (impl_ppp_manager_need_secrets): pass interface as required
1142
1143 2008-08-11  Dan Williams  <dcbw@redhat.com>
1144
1145         Merge the vpn-properties setting with the vpn setting since it was pointless
1146         to keep both of them around.  Convert the vpn 'data' hash table to a hash
1147         of string:string (instead of string:variant) so that system settings plugins
1148         can have an easier time dealing with the arbitrary key/value pairs.
1149
1150 2008-08-11  Dan Williams  <dcbw@redhat.com>
1151
1152         * libnm-util/nm-utils.c
1153                 - (nm_utils_register_value_transformations): add value transform for
1154                         a hash table of string:string
1155
1156 2008-08-10  Dan Williams  <dcbw@redhat.com>
1157
1158         * libnm-glib/nm-vpn-plugin.c
1159                 - (nm_vpn_plugin_connect): stop plugin after connection failure from
1160                         an idle handler so the Connect reply gets delivered before the
1161                         stop StateChanged signal
1162
1163 2008-08-10  Dan Williams  <dcbw@redhat.com>
1164
1165         * src/nm-ip4-config.c
1166                 - (get_property): use common ip4 address/route conversion functions
1167                 - (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
1168                         copy the new route here, not take ownership
1169
1170 2008-08-08  Tambet Ingo  <tambet@gmail.com>
1171
1172         * system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
1173         Update the IP4 setting's method name.
1174
1175 2008-08-07  Dan Williams  <dcbw@redhat.com>
1176
1177         * introspection/nm-ip4-config.xml
1178           libnm-glib/libnm-glib-test.c
1179           libnm-glib/nm-ip4-config.c
1180           libnm-glib/nm-ip4-config.h
1181           src/NetworkManagerSystem.h
1182           src/backends/NetworkManagerArch.c
1183           src/backends/NetworkManagerDebian.c
1184           src/backends/NetworkManagerFrugalware.c
1185           src/backends/NetworkManagerGeneric.c
1186           src/backends/NetworkManagerGeneric.h
1187           src/backends/NetworkManagerGentoo.c
1188           src/backends/NetworkManagerMandriva.c
1189           src/backends/NetworkManagerPaldo.c
1190           src/backends/NetworkManagerRedHat.c
1191           src/backends/NetworkManagerSlackware.c
1192           src/backends/NetworkManagerSuSE.c
1193           src/dhcp-manager/nm-dhcp-manager.c
1194           src/nm-device.c
1195           src/nm-ip4-config.c
1196           src/nm-ip4-config.h
1197                 - Remove NIS logic; should be done from dispatcher scripts instead
1198
1199 2008-08-07  Dan Williams  <dcbw@redhat.com>
1200
1201         * src/dhcp-manager/nm-dhcp-manager.c
1202                 - (nm_dhcp_manager_get_ip4_config): fix regression which caused
1203                         mis-handling of DHCP responses that returned more than one router
1204                         (found by Grant Williamson)
1205
1206 2008-08-07  Dan Williams  <dcbw@redhat.com>
1207
1208         * callouts/nm-dispatcher-action.c
1209                 - (nm_dispatcher_action): grab device path and create the device; pass
1210                         the device's DHCP4 config to script caller
1211                 - (dispatch_scripts): dump the DHCP4 config to the environment of called
1212                         scripts
1213
1214         * libnm-glib/nm-dhcp4-config.c
1215           libnm-glib/nm-dhcp4-config.h
1216                 - (nm_dhcp4_config_get_options): expose
1217                 - (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option
1218
1219 2008-08-07  Dan Williams  <dcbw@redhat.com>
1220
1221         * include/NetworkManager.h
1222                 - Add the DHCP4Config D-Bus interface
1223
1224         * libnm-glib/Makefile.am
1225           libnm-glib/nm-dhcp4-config.c
1226           libnm-glib/nm-dhcp4-config.h
1227                 - Handle DHCP4 config objects exported by NM over D-Bus
1228
1229         * libnm-glib/nm-device.c
1230           libnm-glib/nm-device.h
1231                 - Add a 'dhcp4-config' property
1232
1233         * libnm-glib/libnm-glib-test.c
1234                 - Print out DHCP4 config for devices
1235                 - Fix some crashes when no connections are active
1236
1237         * src/nm-device-interface.c
1238           src/nm-device.c
1239           src/nm-dhcp4-config.c
1240           src/nm-dhcp4-config.h
1241                 - Treat dhcp4-config object as an object path at the D-Bus interface so
1242                         that when it doesn't exist we can proxy it as "/" which dbus-glib
1243                         doesn't let us do when the property type is G_TYPE_OBJECT
1244
1245 2008-08-07  Dan Williams  <dcbw@redhat.com>
1246
1247         * src/NetworkManager.c
1248           src/NetworkManagerSystem.h
1249           src/backends/NetworkManagerArch.c
1250           src/backends/NetworkManagerDebian.c
1251           src/backends/NetworkManagerFrugalware.c
1252           src/backends/NetworkManagerGeneric.c
1253           src/backends/NetworkManagerGeneric.h
1254           src/backends/NetworkManagerGentoo.c
1255           src/backends/NetworkManagerMandriva.c
1256           src/backends/NetworkManagerPaldo.c
1257           src/backends/NetworkManagerRedHat.c
1258           src/backends/NetworkManagerSlackware.c
1259           src/backends/NetworkManagerSuSE.c
1260                 - (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused
1261
1262 2008-08-06  Dan Williams  <dcbw@redhat.com>
1263
1264         * libnm-glib/nm-ip4-config.c
1265           libnm-glib/nm-ip4-config.h
1266                 - Add 'routes' property
1267
1268         * libnm-util/nm-setting-vpn.c
1269           libnm-util/nm-setting-vpn.h
1270                 - Remove 'routes' property
1271
1272         * libnm-util/nm-setting-ip4-config.c
1273           libnm-util/nm-setting-ip4-config.h
1274                 - 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
1275                 - Add 'ignore-auto-routes' property
1276                 - 'routes' exposed over D-Bus is now an array of array of uint (4) to 
1277                         accomodate route metrics
1278                 - 'routes' exposed in C is now a list of NMSettingIP4Route structures
1279
1280         * libnm-util/nm-utils.c
1281           libnm-util/nm-utils.h
1282                 - Add helpers for marshalling IP4 routes
1283
1284         * src/NetworkManagerUtils.c
1285                 - (nm_utils_merge_ip4_config): handle property renames and new route
1286                         structure
1287
1288         * src/NetworkManagerSystem.c
1289                 - (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
1290                    nm_system_vpn_device_set_from_ip4_config): respect route metrics
1291
1292         * src/dhcp-manager/nm-dhcp-manager.c
1293                 - (nm_dhcp_manager_get_ip4_config): handle new route structure
1294
1295         * system-settings/plugins/ifcfg-fedora/reader.c
1296           system-settings/plugins/ifcfg-fedora/writer.c
1297                 - Handle routes separately from addresses now that routes have a different
1298                         format
1299
1300         * introspection/nm-ip4-config.xml
1301           src/nm-ip4-config.c
1302           src/nm-ip4-config.h
1303                 - Rename internal routing functions
1304                 - 'static-routes' renamed to 'routes'
1305
1306 2008-08-04  Dan Williams  <dcbw@redhat.com>
1307
1308         Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>
1309
1310         * src/NetworkManager.c
1311           src/nm-manager.c
1312           src/nm-manager.h
1313                 - More explicitly make the NMManager a singleton
1314
1315 2008-08-04  Dan Williams  <dcbw@redhat.com>
1316
1317         * libnm-util/nm-connection.c
1318           libnm-util/nm-connection.h
1319                 - (nm_connection_verify): return error on missing 'connection' setting
1320                         (found by Sjoerd Simons)
1321
1322 2008-08-04  Dan Williams  <dcbw@redhat.com>
1323
1324         Handle multiple concurrent PPP connections.
1325
1326         * src/ppp-manager/nm-ppp-manager.c
1327           src/ppp-manager/nm-ppp-manager.h
1328                 - (constructor): only PPP Manager request bus name once; each
1329                         NMPPPManager object gets a unique object path
1330                 - (nm_ppp_manager_class_init, get_property, set_property,
1331                    nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
1332                         at construct time
1333                 - (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
1334                         remove timeout until PPP manager gets an IP4 config
1335                 - (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
1336                         the plugin can call back to this specific PPP manager instance
1337
1338         * src/nm-device-ethernet.c
1339           src/nm-serial-device.c
1340                 - Pass parent device in nm_ppp_manager_new()
1341
1342         * src/nm-gsm-device.c
1343           src/nm-cdma-device.c
1344                 - (device_state_changed): don't close serial device on NEED_AUTH
1345                         state changed, that's not a failure case like the rest are
1346
1347         * src/ppp-manager/nm-pppd-plugin.c
1348                 - (nm_ip_up): always use index 0 into the ipcp options, because NM always
1349                         binds one interface to any pppd process, thus the correct index
1350                         is always 0; send PHASE_DEAD on error to alert NM immediately of
1351                         problems; try harder to get a peer address in spite of pppd
1352                 - (plugin_init): use 'ipparam' as the object path back to our specific
1353                         PPP manager instance
1354
1355 2008-08-04  Dan Williams  <dcbw@redhat.com>
1356
1357         * src/ppp-manager/nm-ppp-manager.c
1358                 - (impl_ppp_manager_need_secrets): rework to handle secrets better;
1359                         since the GSM and CDMA settings now implement need_secrets, we can
1360                         rely on them to do the right thing.  Where secrets are not required,
1361                         just pass empty strings back to the pppd plugin.
1362                 - (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
1363                 - (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
1364                         on successful IP4 config receipt
1365
1366 2008-08-04  Dan Williams  <dcbw@redhat.com>
1367
1368         * libnm-util/nm-setting-cdma.c
1369           libnm-util/nm-setting-gsm.c
1370                 - (verify): validate username & password if they exist
1371                 - (need_secrets): if username given, require a password too
1372
1373 2008-08-04  Dan Williams  <dcbw@redhat.com>
1374
1375         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1376                 - (create_dm_cmd_line): really don't listen on lo, despite what the
1377                         manpage says about --listen-address without --interface
1378                         (bgo #546033)
1379
1380 2008-08-01  Dan Williams  <dcbw@redhat.com>
1381
1382         * libnm-glib/nm-device.c
1383                 - (proxy_get_string): util function for querying a HAL property
1384                 - (get_ancestor_device): split out from get_product_and_vendor()
1385                 - (get_product_and_vendor): simplify; get more accurate pid & vid info
1386                         from PCI devices by querying subsys properties
1387                 - (nm_device_update_description): simplify
1388
1389 2008-08-01  Dan Williams  <dcbw@redhat.com>
1390
1391         * libnm-util/nm-setting-ip4-config.c
1392           libnm-util/nm-setting-ip4-config.h
1393                 - Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
1394                         'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
1395                         settings, and they don't necessarily use DHCP.
1396
1397         * src/NetworkManagerPolicy.c
1398           src/nm-device.c
1399           system-settings/plugins/ifcfg-fedora/reader.c
1400           system-settings/plugins/ifcfg-suse/parser.c
1401                 - Fixup for method changes
1402
1403 2008-07-31  Dan Williams  <dcbw@redhat.com>
1404
1405         * src/nm-activation-request.c
1406           src/vpn-manager/nm-vpn-connection.c
1407                 - Correct GetSecrets D-Bus pending call usage; the GetSecrets call
1408                         itself should be attached to the activation request or the VPN
1409                         connection, not the NMConnection object, since the call is not
1410                         expected to live as long as the NMConnection itself
1411
1412 2008-07-31  Dan Williams  <dcbw@redhat.com>
1413
1414         * src/nm-device-wifi.c
1415                 - (real_act_stage2_config): fix issue where association would continue
1416                         even though secrets were needed; 'goto out' was in wrong scope and
1417                         result of handle_auth_or_fail() should have been dumped directly to
1418                         'ret' to ensure that the association was postponed until secrets
1419                         are available
1420
1421 2008-07-31  Dan Williams  <dcbw@redhat.com>
1422
1423         * system-settings/plugins/ifcfg-fedora/plugin.c
1424           system-settings/plugins/ifcfg-fedora/reader.c
1425                 - Don't ignore unmanaged devices if their ifcfg file doesn't make a
1426                         valid NM connection
1427
1428 2008-07-29  Dan Williams  <dcbw@redhat.com>
1429
1430         * src/nm-gsm-device.c
1431                 - (automatic_registration_response, automatic_registration): recognize
1432                         denied registration and reorder responses
1433
1434 2008-07-29  Dan Williams  <dcbw@redhat.com>
1435
1436         * src/nm-serial-device.c
1437                 - (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
1438                         time(2) is used for current time, which returns seconds, we shouldn't
1439                         be multiplying by 1000.
1440
1441 2008-07-28  Dan Williams  <dcbw@redhat.com>
1442
1443         Patch from Fabrice Bellet <fabrice@bellet.info>
1444
1445         * src/NetworkManagerSystem.c
1446                 - (route_in_same_subnet): mask addresses and compare them so that the
1447                         function actually does what it says it's going to do (rh #456685)
1448
1449 2008-07-27  Dan Williams  <dcbw@redhat.com>
1450
1451         * libnm-util/nm-setting-ip6-config.c
1452                 - (set_property): add missing break that caused routes to be overwritten
1453                         with addresses
1454
1455         * libnm-util/nm-setting-ip6-config.c
1456                 - (verify): validate routes and return GError everywhere on invalid setting
1457                 - (finalize): don't leak routes
1458                 - (set_property): add missing break that caused routes to be overwritten
1459                         with addresses
1460
1461 2008-07-27  Dan Williams  <dcbw@redhat.com>
1462
1463         * libnm-util/*
1464                 - Relicense to LGPLv2+
1465
1466 2008-07-27  Dan Williams  <dcbw@redhat.com>
1467
1468         * system-settings/plugins/ifcfg-fedora/reader.c
1469                 - (make_ip4_setting): fix parsing automatic configs
1470
1471 2008-07-27  Dan Williams  <dcbw@redhat.com>
1472
1473         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1474           src/nm-device.c
1475           src/ppp-manager/nm-ppp-manager.c
1476                 - Ensure child process gets reaped.  The child watch function may be
1477                         removed from the mainloop before the child gets killed, so we have
1478                         to make sure the child is reaped when it's told to die intentionally
1479
1480 2008-07-27  Dan Williams  <dcbw@redhat.com>
1481
1482         Patch from Roy Marples <roy@marples.name>
1483
1484         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1485                 - (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC
1486
1487 2008-07-27  Dan Williams  <dcbw@redhat.com>
1488
1489         * src/nm-gsm-device.c
1490                 - (init_modem_full): send "ATZ E0" after CPIN, because apparently some
1491                         Huawei devices turn echo back on after CPIN (rh #456770)
1492
1493 2008-07-24  Tambet Ingo  <tambet@gmail.com>
1494
1495         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
1496         format argument to g_set_error() call.
1497
1498         * src/backends/interface_parser.[ch]: Remove.
1499
1500         * src/backends/Makefile.am: Remove unused files interface_parser.[ch].
1501
1502 2008-07-21  Dan Williams  <dcbw@redhat.com>
1503
1504         * src/ppp-manager/nm-ppp-manager.c
1505                 - (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
1506                         to prevent pppd from picking up some random local address from an
1507                         interface that doesn't have anything to do with the one we're
1508                         interested in (rh #455348)
1509
1510 2008-07-17  Dan Williams  <dcbw@redhat.com>
1511
1512         * libnm-util/nm-utils.c
1513                 - (string_to_utf8): general function for conversion to UTF-8 assisted
1514                         by locale
1515                 - (nm_utils_ssid_to_utf8): use string_to_utf8()
1516                 - (nm_utils_garray_to_string): ensure returned string is UTF-8 safe
1517
1518 2008-07-17  Dan Williams  <dcbw@redhat.com>
1519
1520         * introspection/Makefile.am
1521           introspection/nm-device.xml
1522           introspection/nm-dhcp4-config.xml
1523                 - Add bits for the DHCP4Config property of the device, and the DHCP4Config
1524                         itself
1525         * src/nm-device-interface.c
1526           src/nm-device-interface.h
1527                 - Add the DHCP4Config property
1528
1529         * src/nm-device.c
1530                 - Keep track of DHCP4 options via a new DHCP4Config property and notify
1531                         D-Bus clients when it changes
1532
1533         * src/nm-dhcp4-config.c
1534           src/nm-dhcp4-config.h
1535                 - Simple object to store DHCP4 options, export them over D-Bus, and
1536                         notify when they change
1537
1538         * src/dhcp-manager/nm-dhcp-manager.c
1539           src/dhcp-manager/nm-dhcp-manager.h
1540                 - (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
1541                         filter server-returned DHCP options into an NMDHCP4Config object
1542
1543 2008-07-16  Dan Williams  <dcbw@redhat.com>
1544
1545         * introspection/nm-device.xml
1546                 - Add device state reasons
1547
1548 2008-07-16  Dan Williams  <dcbw@redhat.com>
1549
1550         Patch from Roy Marples <roy@marples.name>
1551
1552         * configure.in
1553                 - Add --with-dhcp-client option
1554
1555         * src/dhcp-manager/Makefile.am
1556                 - pass DHCP_CLIENT_PATH on compile line
1557
1558         * src/dhcp-manager/nm-dhcp-manager.c
1559           src/dhcp-manager/nm-dhcp-manager.h
1560                 - Genericize for both dhcpcd and dhclient
1561
1562         * src/dhcp-manager/nm-dhcp-dhclient.c
1563                 - Move dhclient stuff out to it's own file from nm-dhcp-manager.c
1564
1565         * src/dhcp-manager/nm-dhcp-dhcpcd.c
1566                 - Implement support for dhcpcd too
1567
1568 2008-07-16  Tambet Ingo  <tambet@gmail.com>
1569
1570         * system-settings/src/nm-system-config-interface.c 
1571         (nm_system_config_interface_supports_add): Implement.
1572         (nm_system_config_interface_add_connection): Return a boolean to notify
1573         of errors.
1574
1575         * system-settings/src/nm-polkit-helpers.c: 
1576         * system-settings/src/nm-polkit-helpers.h: Move error declarations to
1577         a separate file.
1578
1579         * system-settings/src/dbus-settings.c (impl_settings_add_connection):
1580         Return an error when none of the plugins support add or if addition
1581         failed for some reason.
1582
1583         * system-settings/src/nm-system-config-error.h: 
1584         * system-settings/src/nm-system-config-error.c: New files, mostly moved
1585         here from nm-polkit-helpers.[ch].
1586
1587         * system-settings/src/Makefile.am: Build new files.
1588
1589         * system-settings/plugins/keyfile/reader.c 
1590         (read_array_of_array_of_uint): Make it more general so that it would
1591         work for routes as well.
1592
1593         * system-settings/plugins/keyfile/writer.c
1594         (write_array_of_array_of_uint): Ditto.
1595         Fix the netmask/prefix writing.
1596
1597         * system-settings/plugins/keyfile/plugin.c (add_connection): Return
1598         boolean to notify errors.
1599
1600         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
1601         Return more specific error.
1602         (delete): Ditto.
1603
1604 2008-07-11  Dan Williams  <dcbw@redhat.com>
1605
1606         Modify the NMDevice::state-changed signal to include the previous state
1607         and reason. Enables the applet to provide more information why device
1608         activation failed.
1609
1610 2008-07-09  Dan Williams  <dcbw@redhat.com>
1611
1612         * callouts/Makefile.am
1613           callouts/nm-avahi-autoipd-action.c
1614           callouts/nm-avahi-autoipd.conf
1615                 - avahi-autoipd callout to send options back to NM
1616
1617         * src/autoip.c
1618           src/autoip.h
1619                 - remove
1620
1621         * src/nm-device.c
1622           src/nm-device-private.h
1623           src/nm-manager.c
1624                 - Use avahi-autoipd for IPv4LL functionality rather than really crappy
1625                         old custom stuff
1626
1627 2008-07-07  Dan Williams  <dcbw@redhat.com>
1628
1629         * system-settings/plugins/ifcfg-fedora/reader.c
1630                 - (make_ip4_setting): handle DHCP_HOSTNAME; fix up prefix support to
1631                         handle PREFIX too; clean up
1632
1633 2008-07-07  Dan Williams  <dcbw@redhat.com>
1634
1635         Convert to using IPv4 prefixes instead of netmasks.
1636
1637 2008-07-03  Dan Williams  <dcbw@redhat.com>
1638
1639         * libnm-util/nm-setting-ip4-config.c
1640           libnm-util/nm-setting-ip4-config.h
1641                 - Add properties for DHCP Client Identifier and DHCP Hostname
1642
1643         * src/dhcp-manager/nm-dhcp-manager.c
1644           src/dhcp-manager/nm-dhcp-manager.h
1645                 - (nm_dhcp_manager_begin_transaction): take the connection's ip4-config
1646                         setting as an argument to pass on to the dhclient config file
1647                         creation function
1648                 - (nm_dhcp_manager_cancel_transaction_real): remove dhclient config when
1649                         DHCP is torn down
1650                 - (dhclient_run): punt config file handling to create_dhclient_config()
1651                 - (create_dhclient_config): create an interface-specific dhclient
1652                         config file since there may need to be interface-specific options
1653                         passed to dhclient
1654                 - (merge_dhclient_config): merge normal distro dhclient config file and
1655                         add options from the connection
1656                 - (nm_dhcp_device_new): generate the interface specific dhclient
1657                         config file path once
1658                 - (nm_dhcp_device_destroy): handle partially initialized objects; free
1659                         dhclient config file path
1660
1661         * src/nm-device.c
1662                 - (real_act_stage3_ip_config_start): pass ip4-config, if any, to the
1663                         DHCP manager when starting DHCP
1664
1665 2008-07-02  Dan Williams  <dcbw@redhat.com>
1666
1667         * libnm-util/nm-setting-8021x.c
1668                 - (verify): allow forcing the PEAP label to 0
1669
1670 2008-07-02  Dan Williams  <dcbw@redhat.com>
1671
1672         * introspection/nm-active-connection.xml
1673           introspection/nm-vpn-connection.xml
1674           libnm-glib/nm-active-connection.c
1675           src/nm-activation-request.c
1676           src/nm-active-connection.h
1677           src/vpn-manager/nm-vpn-connection.c
1678                 - Remove "SharedServiceName" and "SharedConnection" bits from the D-Bus
1679                         and libnm-glib API since sharing didn't get implemented that way
1680
1681 2008-07-02  Dan Williams  <dcbw@redhat.com>
1682
1683         * src/nm-device-wifi.c
1684                 - (can_scan): don't scan when a shared connection is activated since
1685                         that makes drivers mad (causing disconnects); also NM doesn't need
1686                         to hedge against disconnects by keeping up-to-date network topology
1687                         because the connection originates from the local machine, and thus
1688                         there should be no disconnects
1689
1690 2008-07-01  Dan Williams  <dcbw@redhat.com>
1691
1692         Fix mobile broadband username/password issues.  NM was never requesting
1693         mobile broadband secrets, nor was it passing back the username and password
1694         if it had them.
1695
1696         * marshallers/nm-marshal.list
1697                 - Add some new types for activation request objects
1698
1699         * src/nm-activation-request.c
1700           src/nm-activation-request.h
1701                 - (get_secrets_cb): pass the caller type in the signal
1702                 - (nm_act_request_request_connection_secrets): take a caller type, so
1703                         that GetSecrets() reply handlers know who asked for the secrets in
1704                         the first place; use secret hints too so the settings service can
1705                         figure out exactly what NM wants (ie, PIN or the PPP password)
1706
1707         * src/ppp-manager/nm-ppp-manager.c
1708           src/ppp-manager/nm-ppp-manager.h
1709                 - (impl_ppp_manager_need_secrets): nm_connection_need_secrets() won't
1710                         detect needed secrets when the secret could be blank, like GSM/CDMA
1711                         passwords.  So always ask for secrets, and send a hint as to what
1712                         secret we really want.
1713                 - (nm_ppp_manager_update_secrets): make function more generic by making
1714                         the device specific class figure out the username and password, and
1715                         accept an error argument to return back over D-Bus
1716
1717         * src/nm-device-wifi.c
1718                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1719                         nm_act_request_request_connection_secrets()
1720                 - (real_connection_secrets_updated): update for 'caller' changes
1721
1722         * src/nm-device.c
1723           src/nm-device.h
1724                 - (connection_secrets_updated_cb, connection_secrets_failed_cb): update
1725                         for 'caller' changes
1726
1727         * src/nm-device-ethernet.c
1728                 - (real_connection_secrets_updated): update for 'caller' changes and
1729                         move logic for getting PPPoE username and password here before
1730                         calling nm_ppp_manager_update_secrets()
1731                 - (link_timeout_cb, handle_auth_or_fail): update for changes to
1732                         nm_act_request_request_connection_secrets()
1733
1734         * src/nm-cdma-device.c
1735                 - (real_connection_secrets_updated): pass username and password back
1736                         to the PPP manager when required
1737
1738         * src/nm-gsm-device.c
1739                 - (enter_pin): send the required secret name to the settings service
1740                 - (real_connection_secrets_updated): pass username and password back
1741                         to the PPP manager when required
1742
1743 2008-06-30  Dan Williams  <dcbw@redhat.com>
1744
1745         * src/nm-device-wifi.c
1746                 - Consistently use NM_DEVICE_WIFI_GET_PRIVATE instead of self->priv
1747
1748 2008-06-30  Dan Williams  <dcbw@redhat.com>
1749
1750         Attempt to fix various issues causing rh #448889.  Mainly, to qualify for
1751         the DISCONNECTED state, the device must not be rfkilled _and_ have a valid
1752         priv->supplicant.iface.  When either condition is false, the device should
1753         transition back to UNAVAILABLE because it cannot be used.
1754
1755         * src/nm-device-wifi.c
1756                 - (constructor): cleanup; connect to supplicant manager here since the
1757                         supplicant manager is always around
1758                 - (supplicant_interface_acquire): rename from init_supplicant_interface,
1759                         ensure the supplicant manager is in the IDLE state
1760                 - (supplicant_interface_release): rename from cleanup_supplicant_interface,
1761                         cancel any pending scans too
1762                 - (real_bring_up): don't set up the supplicnat interface here, because
1763                         we need the supplicant interface at times when the device may not
1764                         be "up"
1765                 - (real_take_down): just remove the periodic source
1766                 - (schedule_scan): ensure a state that would peg the CPU doesn't happen
1767                 - (remove_supplicant_interface_connection_error_handler): cleanup; don't
1768                         do anything if there's no supplicant interface
1769                 - (cleanup_association_attempt): cleanup
1770                 - (supplicant_iface_state_cb_handler): request an immediate scan when
1771                         the interface enters the READY state; transition to UNAVAILABLE
1772                         state when the interface goes down because the device can't be used
1773                         without a supplicant interface
1774                 - (supplicant_mgr_state_cb_handler): if the supplicant goes away, clean
1775                         up and transition to UNAVAILABLE; if the supplicant becomes ready,
1776                         acquire the supplicant interface and transition to DISCONNECTED
1777                         if the radio isn't killed
1778                 - (nm_device_wifi_dispose): move most of device_cleanup() here
1779                 - (state_changed_cb): release any existing supplicant interface; if the
1780                         radio is enabled then try to acquire a new supplicant interface;
1781                         if the radio is enabled and a supplicant interface has been acquired,
1782                         we can transition to DISCONNECTED
1783                 - (nm_device_wifi_set_enabled): if bringing the hardware up failed,
1784                         don't enable the radio, because HAL probably lied to us about the
1785                         killswitch being off.  If bringing the hardware up worked, then
1786                         try to grab a supplicant interface, and if that was successful,
1787                         transition to DISCONNECTED
1788
1789 2008-06-30  Dan Williams  <dcbw@redhat.com>
1790
1791         * src/supplicant-manager/nm-supplicant-interface.c
1792                 - (request_scan_results, nm_supplicant_interface_dispose,
1793                    wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
1794                         the id of the timeout, not a GSource
1795
1796 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1797
1798         * src/backends/NetworkManagerSuSE.c (nm_system_activate_nis): Fix a 
1799         bunch of typoes introduced by "Patch from David Cantrell 
1800         <dcantrell@redhat.com> and me".
1801
1802 2008-06-30  Tambet Ingo  <tambet@gmail.com>
1803
1804         * src/nm-serial-device.c: 
1805         * src/nm-gsm-device.c: 
1806         * src/nm-cdma-device.c: Move the pending call handling to a common location
1807         in serial device. Handle setting device state to failed in one place as well.
1808
1809 2008-06-29  Dan Williams <dcbw@redhat.com>
1810
1811         * src/nm-hal-manager.c
1812                 - Rework killswitch handling to query killswitch status immediately
1813                         when the first killswitch is added, so that rfkill state is
1814                         known as early as possible
1815                 - Also treat failure of GetPower() as rfkill when the dbus method
1816                         call times out (but not when the HAL callout returns an error)
1817
1818 2008-06-26  Dan Williams <dcbw@redhat.com>
1819
1820         Patch from David Cantrell <dcantrell@redhat.com> and me
1821
1822         * include/nm-dbus-glib-types.h
1823                 - Add IP6 address types
1824
1825         * libnm-util/Makefile.am
1826           libnm-util/nm-setting-ip6-config.c
1827           libnm-util/nm-setting-ip6-config.h
1828                 - Add IP6 settings object
1829
1830         * libnm-util/nm-connection.c
1831                 - (register_default_settings): register ip6 settings object
1832
1833         * libnm-util/nm-utils.c
1834           libnm-util/nm-utils.h
1835                 - (nm_utils_ip6_addresses_from_gvalue, nm_utils_ip6_addresses_to_gvalue,
1836                    nm_utils_ip6_dns_from_gvalue, nm_utils_ip6_dns_to_gvalue): add
1837                         ip6 address conversion functions
1838         
1839 2008-06-26  Dan Williams <dcbw@redhat.com>
1840
1841         Patch from David Cantrell <dcantrell@redhat.com>
1842         
1843         * Use inet_ntop() and inet_pton() everwhere and check for errors
1844
1845 2008-06-26  Dan Williams <dcbw@redhat.com>
1846
1847         * Update FSF address in license headers (Michael Biebl <biebl@debian.org>)
1848
1849 2008-06-26  Dan Williams <dcbw@redhat.com>
1850
1851         Patch from Adel Gadllah <adel.gadllah@gmail.com>
1852
1853         * src/nm-device-wifi.c
1854                 - (link_timeout_cb): don't ignore disconnects due to scanning
1855                 - (supplicant_iface_connection_state_cb_handler): instead, schedule
1856                         a longer timeout when scanning; avoids case where supplicant can't
1857                         find the AP and just keeps scanning forever but isn't connected
1858
1859 2008-06-26  Dan Williams <dcbw@redhat.com>
1860
1861         Patch from Michael Biebl <biebl@debian.org>
1862
1863         * Clean up build system stuff
1864
1865 2008-06-23  Christian Persch  <chpe@gnome.org>
1866
1867         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.c:
1868         * vpn-daemons/openvpn/auth-dialog/gnome-two-password-dialog.h:
1869         * vpn-daemons/pptp/auth-dialog-general/anonymous-auth-module.c:
1870         (impl_get_object):
1871         * vpn-daemons/pptp/auth-dialog-general/chap-auth-module.c:
1872         (impl_get_object):
1873         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.c:
1874         * vpn-daemons/pptp/auth-dialog-general/gnome-generic-auth-dialog.h:
1875         * vpn-daemons/pptp/auth-dialog-general/mschapv2-auth-module.c:
1876         (impl_get_object):
1877         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.c:
1878         * vpn-daemons/pptp/auth-dialog/gnome-two-password-dialog.h:
1879         * vpn-daemons/pptp/properties/nm-ppp-properties.c: (impl_setup):
1880         * vpn-daemons/pptp/properties/vpnui_impl.c: (impl_get_object):
1881         * vpn-daemons/pptp/properties/vpnui_opt.c:
1882         (vpnui_opt_connect_signals):
1883         * vpn-daemons/pptp/properties/vpnui_opt.h:
1884         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
1885         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.h: Don't use
1886         deprecated gtk type macros. Bug #539325.
1887
1888 2008-06-20  Dan Williams  <dcbw@redhat.com>
1889
1890         * libnm-glib/nm-vpn-plugin-ui-interface.c
1891           libnm-glib/nm-vpn-plugin-ui-interface.h
1892                 - 'validity-changed' -> 'changed' to work better with the connection
1893                         editor.  Plugin UI widgets should emit 'changed' whenever their
1894                         UI values change in a meaningful way.
1895                 - (nm_vpn_plugin_ui_widget_interface_update_connection): the
1896                         update_connection member now returns validity of the UI widget
1897
1898 2008-06-20  Tambet Ingo  <tambet@gmail.com>
1899
1900         * libnm-util/nm-connection.c (nm_connection_duplicate): Implement.
1901
1902 2008-06-17  Dan Williams  <dcbw@redhat.com>
1903
1904         * libnm-glib/nm-vpn-plugin-ui-interface.c
1905           libnm-glib/nm-vpn-plugin-ui-interface.h
1906                 - Add "desc" property for longer descriptions of the VPN plugin
1907
1908 2008-06-16  Dan Williams  <dcbw@redhat.com>
1909
1910         * configure.in
1911           libnm-glib/libnm_glib_vpn.pc.in
1912                 - add a .pc file for libnm_glib_vpn
1913
1914         * libnm-glib/nm-vpn-plugin-ui-interface.c
1915           libnm-glib/nm-vpn-plugin-ui-interface.h
1916                 - Move the glib/GNOME VPN UI plugin interface into libnm-glib and
1917                         rework it substantially
1918
1919 2008-06-12  Dan Williams  <dcbw@redhat.com>
1920
1921         Add a GError argument to nm_connection_verify() and nm_setting_verify(),
1922         and add error enums to each NMSetting subclass.  Each NMSetting subclass now
1923         returns a descriptive GError when verification fails.
1924
1925 2008-06-11  Dan Williams  <dcbw@redhat.com>
1926
1927         Patch from Tambet Ingo <tambet@gmail.com>
1928
1929         * libnm-util/nm-setting-gsm.c
1930                 - (verify): validate APN
1931
1932         * src/nm-gsm-device.c
1933                 - (manual_registration_done): start setting APN if needed
1934                 - (set_apn, set_apn_done): set the APN
1935                 - (do_dial): use the APN when dialing
1936
1937 2008-06-11  Dan Williams  <dcbw@redhat.com>
1938
1939         * src/NetworkManagerSystem.c
1940                 - (nm_system_device_set_ip4_route,
1941                    nm_system_device_replace_default_ip4_route): check for the right
1942                         return value from rtnl_route_add() to know when to add a gateway
1943                         route (from Tambet)
1944
1945 2008-06-11  Dan Williams  <dcbw@redhat.com>
1946
1947         * src/NetworkManagerPolicy.c
1948                 - do_ipt_cmd -> do_cmd
1949                 - (sharing_init): use do_cmd() instead of system()
1950
1951 2008-06-10  Dan Williams  <dcbw@redhat.com>
1952
1953         The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
1954         and use "wifi" everwhere instead.
1955
1956 2008-06-10  Dan Williams  <dcbw@redhat.com>
1957
1958         The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.
1959
1960 2008-06-10  Dan Williams  <dcbw@redhat.com>
1961
1962         Patch from Tambet Ingo <tambet@gmail.com>
1963
1964         * src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
1965                 changes.
1966
1967         * src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
1968                 a signal to emit these changes over dbus.
1969
1970         * src/Makefile.am: Genereate nm-serial-device-glue.
1971
1972         * libnm-glib/nm-serial-device.[ch]: Implement.
1973
1974         * libnm-glib/nm-cdma-device.[ch]
1975           libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.
1976
1977         * libnm-glib/Makefile.am: Add nm-serial-device.[ch].
1978
1979         * introspection/nm-device-serial.xml: Implement.
1980
1981         * introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.
1982
1983         * introspection/Makefile.am: Add nm-device-serial.xml.
1984
1985         * include/NetworkManager.h: Add a DBus interface for serial device.
1986
1987 2008-06-10  Dan Williams  <dcbw@redhat.com>
1988
1989         * configure.in
1990                 - Add TARGET_* define to config.h to distinguish distros
1991
1992         * src/dhcp-manager/nm-dhcp-manager.c
1993                 - (dhclient_run): use distro-specific path for dhclient config file
1994
1995 2008-06-09  Dan Williams  <dcbw@redhat.com>
1996
1997         * src/dnsmasq-manager/nm-dnsmasq-manager.c
1998           src/dnsmasq-manager/nm-dnsmasq-manager.h
1999                 - (create_dm_cmd_line): use the IP4 address of the ip4-config to
2000                         calculate the addresses passed to dnsmasq instead of hard-coding
2001                         them
2002
2003         * src/nm-device.c
2004                 - (nm_device_new_ip4_shared_config): be somewhat dynamic when choosing
2005                         IP addresses for shared connections to guard against shared
2006                         connection address collisions
2007                 - (real_act_stage4_get_ip4_config): handle possible NULL ip4-configs on
2008                         error conditions
2009                 - (nm_device_activate_stage5_ip_config_commit): pass ip4-config to
2010                         the dnsmasq manager
2011
2012 2008-06-09  Dan Williams  <dcbw@redhat.com>
2013
2014         * src/NetworkManagerPolicy.c
2015                 - (update_routing_and_dns): set the default connection _after_ unsetting
2016                         default on all non-default connections so that two connections can
2017                         never be default at the same time
2018                 - (device_state_changed): start and stop connection sharing when
2019                         needed
2020                 - (active_connection_default_changed): restart or stop sharing when
2021                         the default connection changes to keep shared connections always
2022                         NAT-ed through the default connection
2023                 - (check_sharing): handle activation/deactivation of shared connections
2024                 - (sharing_restart): atom-bomb approach to connection sharing until we
2025                         can use libnl; reinit all sharing when the default connection or
2026                         shared connections change
2027                 - (sharing_init, sharing_stop): evil functions that init and deinit
2028                         iptables
2029
2030 2008-06-09  Dan Williams  <dcbw@redhat.com>
2031
2032         * src/nm-activation-request.c
2033           src/nm-activation-request.h
2034                 - (nm_act_request_set_shared, nm_act_request_get_shared,
2035                    nm_act_request_get_device): new functions to facilitate connection
2036                         sharing
2037
2038 2008-06-09  Dan Williams  <dcbw@redhat.com>
2039
2040         * src/nm-device.c
2041                 - (clear_act_request): unset the 'default' property of the activation
2042                         request when clearing it to ensure the property changed signal gets
2043                         delivered and handled
2044
2045 2008-06-09  Dan Williams  <dcbw@redhat.com>
2046
2047         * libnm-glib/nm-device-802-11-wireless.c
2048                 - (access_point_removed_proxy): actually unref the AP after removing
2049                         it from the device's AP list.  Fixes refcounting bug for APs that
2050                         caused them to get mixed up in the applet's menu.
2051
2052 2008-06-09  Tambet Ingo  <tambet@gmail.com>
2053
2054         * src/dhcp-manager/nm-dhcp-manager.c (finalize): Free private members.
2055         (nm_dhcp_device_destroy): Destroy the device options hash table.
2056
2057 2008-06-06  Dan Williams <dcbw@redhat.com>
2058
2059         * system-settings/src/nm-polkit-helpers.c
2060                 - (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
2061                         unref the context if the initialization fails; also avoid spew when
2062                         the error isn't set
2063
2064 2008-06-06  Dan Williams <dcbw@redhat.com>
2065
2066         Patch from Tambet Ingo  <tambet@gmail.com>
2067
2068         * src/NetworkManagerSystem.c
2069           src/NetworkManagerSystem.h
2070                 - (nm_system_device_add_ip4_route_via_device_with_iface): remove
2071                 - (nm_system_device_set_from_ip4_config): remove unused route_to_iface
2072                 - (nm_system_device_set_ip4_route): clean up
2073                 - (nm_system_vpn_device_set_from_ip4_config): clean up, add VPN routes
2074
2075         * src/nm-device.c
2076                 - (nm_device_set_ip4_config): remove unused route_to_iface bits
2077
2078         * src/vpn-manager/nm-vpn-connection.c
2079                 - (ip_address_to_string): new function
2080                 - (print_vpn_config): use ip_address_to_string
2081                 - (merge_vpn_routes): add user-defined routes to the ip4 config
2082                 - (nm_vpn_connection_ip4_config_get): add routes the VPN server sent
2083
2084         * include/NetworkManagerVPN.h
2085                 - Add 'routes' key
2086
2087 2008-06-05  Dan Williams <dcbw@redhat.com>
2088
2089         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2090
2091         * test/nm-tool.c
2092                 - Show which device is the default device
2093
2094 2008-06-05  Tambet Ingo  <tambet@gmail.com>
2095
2096         Fix memory leaks.
2097
2098         * system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
2099         Free data returned from dbus method call.
2100
2101         * system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
2102         dbus_g_method_get_sender() returns a duplicated string, free it 
2103         when done.
2104         (check_polkit_privileges): Looks like policykit sometimes returns
2105         error and non-null return value, don't leak errors in that case.
2106
2107         * system-settings/src/main.c (find_plugin): Don't leak existing 
2108         plugin names.
2109         (load_stuff): Don't leak device list and list items.
2110         (have_connection_for_device): Don't leak connection list.
2111
2112         * system-settings/plugins/keyfile/reader.c (read_one_setting_value):
2113         Free the data received from g_keyfile_get_*.
2114
2115         * system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
2116         the key when the security object is updated.
2117
2118         * src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
2119         Free data returned from dbus method call.
2120         (iface_state_cb): Ditto.
2121         (add_network_cb): Ditto.
2122         (nm_supplicant_interface_add_cb): Don't make another copy of already
2123         duplicated object path.
2124         (nm_supplicant_interface_add_to_supplicant): Free the driver GValue
2125         when done.
2126
2127         * src/supplicant-manager/nm-supplicant-config.c 
2128         (ADD_STRING_LIST_VAL): Fix a memory leak.
2129
2130         * src/nm-manager.c (free_get_settings_info): Free the allocated
2131         memory slice.
2132         (list_connections_cb): Free data returned from dbus method call.
2133         (system_settings_get_unmanaged_devices_cb): Ditto.
2134
2135         * src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.
2136
2137         * system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile): 
2138         * system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile): 
2139         * src/backends/shvar.c (svCloseFile): Free the duplicated content
2140         of the GList.
2141
2142         * libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
2143         arguments after the object is created.
2144
2145 2008-06-04  Dan Williams <dcbw@redhat.com>
2146
2147         * libnm-util/Makefile.am
2148                 - Don't distribute nm-param-spec-specialized.h
2149
2150 2008-06-02  Tambet Ingo  <tambet@gmail.com>
2151
2152         * libnm-util/nm-setting-ip4-config.[ch]: Add static routes property.
2153
2154         * src/nm-ip4-config.[ch]: Store the static routes as a list of
2155         NMIP4Address, update the getters and setters.
2156
2157         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2158         Use the updated NMIP4Config routes api.
2159
2160         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Merge
2161         static routes as well.
2162
2163         * src/NetworkManagerSystem.c (netmask_to_prefix): Implement.
2164         (nm_system_device_set_from_ip4_config): Use the updated NMIP4Config
2165         routes api.
2166
2167 2008-05-30  Dan Williams <dcbw@redhat.com>
2168
2169         * src/named-manager/nm-named-manager.c
2170           src/named-manager/nm-named-manager.h
2171                 - Remove stale/obsolete bits for controlling bind over DBus
2172
2173 2008-05-29  Dan Williams <dcbw@redhat.com>
2174
2175         * src/dnsmasq-manager/nm-dnsmasq-manager.c
2176           src/dnsmasq-manager/nm-dnsmasq-manager.h
2177                 - (nm_dnsmasq_manager_new): move iface argument here
2178                 - (constructor): remove, not needed
2179                 - (get_pidfile_for_iface, create_dm_cmd_line, kill_existing_for_iface,
2180                    nm_dnsmasq_manager_start, nm_dnsmasq_manager_stop): use priv->pidfile
2181
2182         * src/nm-device.c
2183                 - (real_act_stage4_get_ip4_config,
2184                    nm_device_activate_stage5_ip_config_commit): fix for dnsmasq manager
2185                         changes
2186
2187 2008-05-29  Dan Williams <dcbw@redhat.com>
2188
2189         * src/nm-device.c
2190                 - (dnsmasq_state_changed_cb): new function; fail the connection if
2191                         something happens to dnsmasq
2192                 - (nm_device_new_ip4_shared_config): new function; create a new
2193                         ip4-config for shared connections.  Shared connections always use a
2194                         fixed static IP address.
2195                 - (real_act_stage4_get_ip4_config): handle shared connections; fix
2196                         autoip connections by actually using the returned ip4-config and
2197                         not leaking it
2198                 - (nm_device_activate_stage5_ip_config_commit): start dnsmasq for shared
2199                         connections
2200                 - (nm_device_deactivate_quickly, nm_device_dispose): terminate dnsmasq
2201                         if its active
2202
2203 2008-05-29  Dan Williams <dcbw@redhat.com>
2204
2205         * src/nm-device-802-11-wireless.c
2206                 - (real_get_best_auto_connection): auto-activate 'shared' method
2207                         connections too
2208
2209 2008-05-29  Dan Williams <dcbw@redhat.com>
2210
2211         * libnm-util/nm-setting-ip4-config.c
2212           libnm-util/nm-setting-ip4-config.h
2213                 - Add a 'shared' method to indicate that this connection should be
2214                         brought up with a DHCP and proxy DNS server to facilitate
2215                         connection sharing.
2216                 - (verify): 'shared' method doesn't allow DNS or searches either
2217
2218 2008-05-29  Dan Williams <dcbw@redhat.com>
2219
2220         * configure.in
2221           src/Makefile.am
2222           src/dnsmasq-manager/Makefile.am
2223           src/dnsmasq-manager/nm-dnsmasq-manager.c
2224           src/dnsmasq-manager/nm-dnsmasq-manager.h
2225                 - Add a dnsmasq daemon manager to facilitate connection sharing
2226
2227 2008-05-29  Dan Williams <dcbw@redhat.com>
2228
2229         * src/nm-device-private.h
2230                 - Remove unused prototypes and clean up
2231
2232         * src/nm-device.c
2233                 - Remove anything related to system_config_data, which is no longer used
2234                 - (nm_device_new_ip4_autoip_config): make static
2235
2236 2008-05-29  Tambet Ingo  <tambet@gmail.com>
2237
2238         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c
2239         (file_changed): Fix a bug where suse system settings plugin didn't
2240         update the connections automatically when the files changed.
2241
2242 2008-05-28  Dan Williams  <dcbw@redhat.com>
2243
2244         Revert r3697 (adhoc-create property patch); it's the wrong way to do this.
2245
2246 2008-05-28  Dan Williams  <dcbw@redhat.com>
2247
2248         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2249
2250         * src/NetworkManagerSystem.c
2251                 - (nm_system_device_flush_ip4_routes_with_iface): implement with libnl
2252                 - (nm_system_vpn_device_set_from_ip4_config): don't flush routes here,
2253                         was causing -EINVAL errors since the libnl code actually does flush
2254                         the routes on VPN interfaces now
2255
2256         * src/backends/NetworkManagerArch.c
2257           src/backends/NetworkManagerDebian.c
2258           src/backends/NetworkManagerFrugalware.c
2259           src/backends/NetworkManagerGeneric.c
2260           src/backends/NetworkManagerGentoo.c
2261           src/backends/NetworkManagerMandriva.c
2262           src/backends/NetworkManagerPaldo.c
2263           src/backends/NetworkManagerRedHat.c
2264           src/backends/NetworkManagerSlackware.c
2265           src/backends/NetworkManagerSuSE.c
2266                 - (nm_system_device_flush_ip4_routes,
2267                    nm_system_device_flush_ip4_routes_with_iface): remove
2268
2269 2008-05-28  Dan Williams  <dcbw@redhat.com>
2270
2271         * libnm-util/nm-setting-wireless.c
2272           libnm-util/nm-setting-wireless.h
2273                 - (set_property, get_property, nm_setting_wireless_class_init): add the
2274                         'adhoc-create' property, which when TRUE indicates that NM should
2275                         create this connection as an adhoc wifi network if it's not found
2276                         as an adhoc network during scanning.  Can be used to auto-create
2277                         adhoc networks when used in combination with autoconnect.
2278
2279 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2280
2281         Patch from Dennis Noordsij <dennis.noordsij@helsinki.fi>.
2282
2283         * src/nm-gsm-device.c: Don't try to reset the modem before PIN is
2284         checked, it doesn't work on some devices.
2285
2286 2008-05-28  Tambet Ingo  <tambet@gmail.com>
2287
2288         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Make sure 
2289         pppd gets killed, if SIGTERM doesn't do it's job, SIGKILL it.
2290
2291         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get_ip4_config):
2292         Use inet_aton() everywhere to improve error detection.
2293         Don't fall back to 'dhcp_server_identifier' if the gateway is not
2294         provided.
2295
2296 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2297
2298         * system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
2299         Fix a typo.
2300
2301 2008-05-26  Tambet Ingo  <tambet@gmail.com>
2302
2303         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_get_service): Fix a
2304         reference counting issue.
2305
2306 2008-05-23  Dan Williams  <dcbw@redhat.com>
2307
2308         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2309
2310         * src/backends/NetworkManagerGeneric.c
2311                 - (nm_generic_enable_loopback): use libnl
2312
2313 2008-05-23  Dan Williams  <dcbw@redhat.com>
2314
2315         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2316
2317         * src/NetworkManagerSystem.h
2318           src/backends/NetworkManagerArch.c
2319           src/backends/NetworkManagerDebian.c
2320           src/backends/NetworkManagerFrugalware.c
2321           src/backends/NetworkManagerGentoo.c
2322           src/backends/NetworkManagerMandriva.c
2323           src/backends/NetworkManagerPaldo.c
2324           src/backends/NetworkManagerRedHat.c
2325           src/backends/NetworkManagerSlackware.c
2326           src/backends/NetworkManagerSuSE.c
2327                 - (nm_system_device_has_active_routes, nm_system_flush_loopback_routes,
2328                    nm_system_flush_arp_cache): remove, unused
2329
2330         * src/backends/NetworkManagerGeneric.c
2331           src/backends/NetworkManagerGeneric.h
2332                 - (nm_generic_device_has_active_routes, nm_generic_flush_loopback_routes,
2333                    nm_generic_flush_arp_cache): remove, unused
2334
2335 2008-05-23  Dan Williams  <dcbw@redhat.com>
2336
2337         * system-settings/plugins/ifcfg-fedora/reader.c
2338                 - (make_ip4_setting): honor PEERDNS setting
2339
2340 2008-05-23  Dan Williams  <dcbw@redhat.com>
2341
2342         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
2343
2344         * src/NetworkManagerSystem.c
2345                 - (nm_system_device_flush_ip4_addresses_with_iface): implement with
2346                         libnl
2347
2348         * src/backends/NetworkManagerArch.c
2349           src/backends/NetworkManagerDebian.c
2350           src/backends/NetworkManagerFrugalware.c
2351           src/backends/NetworkManagerGentoo.c
2352           src/backends/NetworkManagerMandriva.c
2353           src/backends/NetworkManagerPaldo.c
2354           src/backends/NetworkManagerRedHat.c
2355           src/backends/NetworkManagerSlackware.c
2356           src/backends/NetworkManagerSuSE.c
2357                 - (nm_system_device_flush_ip4_addresses,
2358                    nm_system_device_flush_ip4_addresses_with_iface): remove
2359
2360         * src/backends/NetworkManagerGeneric.c
2361                 - (nm_generic_device_flush_ip4_addresses,
2362                    nm_generic_device_flush_ip4_addresses_with_iface): remove
2363
2364 2008-05-23  Dan Williams  <dcbw@redhat.com>
2365
2366         * src/supplicant-manager/nm-supplicant-settings-verify.c
2367                 - Switch 'bssid' from bytes to keyword type
2368                 - (validate_type_keyword): allow NULL keyword lists
2369
2370         * src/supplicant-manager/nm-supplicant-config.c
2371                 - (nm_supplicant_config_add_setting_wireless): convert the bssid from
2372                         a byte array to string form, which is what the supplicant expects
2373
2374 2008-05-23  Tambet Ingo  <tambet@gmail.com>
2375
2376         Add a flag to NMSettingIP4Config to make it possible to ignore the DNS
2377         information received from DHCP.
2378
2379         * libnm-util/nm-setting-ip4-config.c: Add a new membet "ignore_dhcp_dns"
2380         to make it possible to ignore the DNS information (both servers and 
2381         searches) returned by DHCP server.
2382
2383         * src/NetworkManagerUtils.c (nm_utils_merge_ip4_config): Reset the
2384         name servers and searches if "ignore_dhcp_dns" is set.
2385
2386         * src/nm-ip4-config.c (nm_ip4_config_reset_nameservers)
2387         (nm_ip4_config_reset_searches): Implement.
2388
2389 2008-05-22  Dan Williams  <dcbw@redhat.com>
2390
2391         Remove anything mDNS related.  This is better done from a distro-specific
2392         dispatcher script.  Plus, any distro using avahi doesn't need to restart
2393         avahi, since avahi can handle interface changes just fine using netlink.
2394
2395         * configure.in
2396                 - Remove --with-mdns-provider
2397
2398         * src/NetworkManagerPolicy.c
2399                 - (global_state_changed): don't restart the mdns provider
2400
2401         * src/NetworkManagerSystem.h
2402           src/backends/NetworkManagerArch.c
2403           src/backends/NetworkManagerDebian.c
2404           src/backends/NetworkManagerFrugalware.c
2405           src/backends/NetworkManagerGentoo.c
2406           src/backends/NetworkManagerMandriva.c
2407           src/backends/NetworkManagerPaldo.c
2408           src/backends/NetworkManagerRedHat.c
2409           src/backends/NetworkManagerSlackware.c
2410           src/backends/NetworkManagerSuSE.c
2411                 - (nm_system_restart_mdns_responder): remove
2412
2413         * src/backends/NetworkManagerGeneric.c
2414           src/backends/NetworkManagerGeneric.h
2415                 - (nm_generic_restart_mdns_responder): remove
2416
2417 2008-05-22  Dan Williams  <dcbw@redhat.com>
2418
2419         * configure.in
2420                 - clean up crypto options; just use --with-crypto=nss or
2421                         --with-crypto=gnutls
2422
2423 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2424
2425         * src/nm-manager.c (impl_manager_sleep): No need to schedule the sync
2426         anymore, do it right away.
2427
2428 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2429
2430         * src/nm-gsm-device.c (device_state_changed): Make sure we don't leave the
2431         serial device open when we're not connecting or connected.
2432
2433         * src/nm-cdma-device.c (device_state_changed): Ditto.
2434
2435 2008-05-22  Tambet Ingo  <tambet@gmail.com>
2436
2437         Don't remove all devices on waking up, sync with HAL.
2438
2439         * src/nm-manager.c (nm_manager_udi_is_managed): Implement.
2440         (sync_devices): Implement, based on hal_manager_hal_reappeared_cb.
2441         (hal_manager_hal_reappeared_cb): Just call sync_devices.
2442
2443 2008-05-21  Tambet Ingo  <tambet@gmail.com>
2444
2445         * src/NetworkManagerSystem.c (nm_system_device_replace_default_ip4_route):
2446         If the default gateway is unreachable, add a route to gateway and try
2447         again.
2448
2449 2008-05-20  Dan Williams  <dcbw@redhat.com>
2450
2451         * system-settings/plugins/ifcfg-fedora/reader.c
2452                 - (add_one_wep_key): handle ASCII WEP keys too (rh #293111)
2453
2454 2008-05-19  Dan Williams  <dcbw@redhat.com>
2455
2456         * system-settings/plugins/ifcfg-fedora/reader.c
2457                 - (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
2458                         if the ifcfg doesn't specify one (rh #446527)
2459
2460 2008-05-19  Dan Williams  <dcbw@redhat.com>
2461
2462         Make the system settings service exit when the bus goes away.  Since it's
2463         a bus-activated service, it's lifetime is limited to the bus that activated
2464         it (rh #444976).
2465
2466         * system-settings/src/Makefile.am
2467           system-settings/src/nm-system-config-hal-manager-private.h
2468                 - Remove nm-system-config-hal-manager-private.h
2469
2470         * system-settings/src/nm-system-config-hal-manager.c
2471                 - (nm_system_config_hal_manager_reinit_dbus,
2472                    nm_system_config_hal_manager_deinit_dbus): remove
2473
2474         * system-settings/src/main.c
2475                 - (dbus_reconnect): remove
2476                 - (dbus_cleanup): don't tell the HAL manager to deinit dbus
2477                 - (destroy_cb): just quit when the bus goes away
2478                 - (start_dbus_service, dbus_init): simplify
2479                 - (main): destroy the wired devices hash table after destroying
2480                         the HAL manager so we don't have to disconnect signals from the
2481                         HAL manager
2482
2483 2008-05-15  Tambet Ingo  <tambet@gmail.com>
2484
2485         Move crypto functions from nm-applet to libnm-util.
2486
2487         * libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
2488         (nm_setting_802_1x_set_client_cert)
2489         (nm_setting_802_1x_set_phase2_ca_cert)
2490         (nm_setting_802_1x_set_phase2_client_cert)
2491         (nm_setting_802_1x_set_private_key)
2492         (nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
2493         file (or private key and it's password), read the certificate data.
2494
2495         * libnm-util/crypto_nss.c: 
2496         * libnm-util/crypto_gnutls.c: 
2497         * libnm-util/crypto.[ch]: Move here from nm-applet.
2498
2499         * configure.in: Check for NSS and gnutls here (moved here from nm-applet).
2500
2501         * system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
2502         Imlement WPA-EAP configuration reading from sysconfig.
2503
2504 2008-05-16  Dan Williams  <dcbw@redhat.com>
2505
2506         * src/nm-device-802-11-wireless.c
2507                 - (nm_device_802_11_wireless_set_enabled): request a scan after enabling
2508                         wireless
2509
2510 2008-05-14  Dan Williams  <dcbw@redhat.com>
2511
2512         Fix Linus' bug in rh #134886
2513
2514         * src/nm-device-802-3-ethernet.c
2515                 - (constructor): request initial carrier state
2516
2517         * src/nm-netlink-monitor.c
2518                 - (nm_netlink_monitor_request_status): schedule emission of carrier
2519                         signals after refilling the link cache.  Because the refill is a 
2520                         synchronous operation, the normal message hander won't get called
2521                         since libnl has already consumed the messages.
2522                 - (deferred_emit_carrier_state): emit carrier states from an idle handler
2523
2524 2008-05-14  Dan Williams  <dcbw@redhat.com>
2525
2526         * src/NetworkManagerSystem.c
2527                 - (nm_system_device_is_up_with_iface): clean up
2528
2529 2008-05-13  Dan Williams  <dcbw@redhat.com>
2530
2531         Fix refcounting issues over sleep/wake when a VPN connection was active that
2532         caused NM to try registering an object path for a device upon wake that was
2533         the same as an already registered object path.
2534
2535         * src/nm-device.c
2536                 - (nm_device_take_down): properly handle cases where the device is
2537                         no longer active but was just active, and therefore must be
2538                         deactivated.  When a device moves to unmanaged mode, this function
2539                         previously would not deactivate the device, because the state was
2540                         already unmanaged by the time this function was called.
2541
2542         * src/vpn-manager/nm-vpn-connection.c
2543                 - (device_state_changed): properly handle multiple devices states in
2544                         which the device is now deactivated.  Code previously didn't handle
2545                         transitions to the UNAVAILABLE (like rfkill or carrier off) and
2546                         UNMANAGED states.
2547
2548 2008-05-13  Dan Williams  <dcbw@redhat.com>
2549
2550         * src/nm-device-private.h
2551           src/nm-device.c
2552                 - (nm_device_hw_bring_up, nm_device_hw_take_down): export
2553
2554         * src/nm-device-802-11-wireless.c
2555                 - (nm_device_802_11_wireless_set_enabled): take devices up
2556                         and down as appropriate for the rfkill state
2557
2558 2008-05-13  Dan Williams  <dcbw@redhat.com>
2559
2560         * marshallers/nm-marshal.list
2561                 - Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin
2562
2563         * system-settings/plugins/ifcfg-fedora/Makefile.am
2564           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
2565           system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
2566                 - Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
2567                         events.  Solely for use watching ifcfg files to pick up changes
2568                         to their hardlinks, since GIO doesn't support this yet (bgo #532815)
2569
2570         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2571                 - (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
2572                         file contents change
2573                 - (finalize): clean up inotify watches
2574                 - (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
2575                         and the connection ifcfg for changes on their hardlinks
2576                 - (files_changed_cb): proxy the changed signal back out to listeners
2577
2578         * system-settings/plugins/ifcfg-fedora/plugin.c
2579                 - (dir_changed): 
2580                 - (connection_ifcfg_changed): re-read the connection when the ifcfg
2581                         changes
2582                 - (read_one_connection): connect to change signals on the new connection
2583                 - (dir_changed, connection_changed_handler,
2584                    handle_connection_remove_or_new): break out connection change
2585                         handling and connection new/remove handling so it can be used from
2586                         both the GFileMonitor callback and the NMIfcfgConnection changed
2587                         signals
2588
2589         * system-settings/plugins/ifcfg-fedora/reader.c
2590           system-settings/plugins/ifcfg-fedora/reader.h
2591                 - (connection_from_file): return the keyfile path the connection would use
2592
2593 2008-05-13  Tambet Ingo  <tambet@gmail.com>
2594
2595         * system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a 
2596         single PolKitContext which is shared by all. PolKitContext::unref leaks
2597         just about everything, including all open file descriptiors and results
2598         in 99% cpu usage when data arrives to any of the fds that don't belong
2599         to any context anymore.
2600
2601 2008-05-12  Dan Williams  <dcbw@redhat.com>
2602
2603         * gfilemonitor/glocaldirectorymonitor.c
2604           gfilemonitor/glocaldirectorymonitor.h
2605                 - (g_local_directory_monitor_constructor): actually subscribe to the
2606                         watch
2607                 - (_g_local_directory_monitor_new): ensure that inotify is started up
2608
2609         * gfilemonitor/glocalfilemonitor.c
2610           gfilemonitor/glocalfilemonitor.h
2611                 - (g_local_file_monitor_constructor): actually subscribe to the watch
2612                 - (_g_local_file_monitor_new): ensure that inotify is started up
2613
2614 2008-05-11  Dan Williams  <dcbw@redhat.com>
2615
2616         * configure.in
2617                 - record PolicyKit version
2618
2619         * system-settings/src/nm-polkit-helpers.c
2620                 - (check_polkit_privileges): use polkit_context_can_caller_do_action()
2621                         with PolicyKit <= 0.6
2622
2623 2008-05-11  Dan Williams  <dcbw@redhat.com>
2624
2625         Update Fedora system-settings plugin to support latest API and use
2626         GFileMonitor rather than home-rolled inotify code.
2627
2628         * system-settings/plugins/ifcfg-fedora/Makefile.am
2629           system-settings/plugins/ifcfg-fedora/common.h
2630           system-settings/plugins/ifcfg-fedora/plugin.c
2631                 - Update to latest system settings plugin API; use GIO instead of
2632                         custom inotify code; use NMIfcfgConnection objects instead of
2633                         ConnectionData structures tacked onto NMConnection objects
2634
2635         * system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
2636           system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
2637                 - Implement an NMExportedConnection subclass mapping ifcfg files to
2638                         connections
2639
2640         * system-settings/plugins/ifcfg-fedora/reader.c
2641           system-settings/plugins/ifcfg-fedora/reader.h
2642                 - Move ifcfg parsing bits here from parser.c
2643
2644         * system-settings/plugins/ifcfg-fedora/parser.c
2645           system-settings/plugins/ifcfg-fedora/parser.h
2646                 - Remove; most code moved to reader.c
2647
2648 2008-05-11  Dan Williams  <dcbw@redhat.com>
2649
2650         * configure.in
2651           Makefile.am
2652           gfilemonitor/*
2653                 - Add a private copy of the GIO GFileMonitor code, with a custom GFile
2654                         implementation, so that the same change monitoring code can be used
2655                         on systems without glib-2.14 (like Fedora 8)
2656
2657         * system-settings/plugins/keyfile/Makefile.am
2658           system-settings/plugins/keyfile/plugin.c
2659           system-settings/plugins/ifcfg-suse/Makefile.am
2660           system-settings/plugins/ifcfg-suse/plugin.c
2661                 - Use private gfilemonitor code if GIO is not present
2662
2663 2008-05-09  Tambet Ingo  <tambet@gmail.com>
2664
2665         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
2666         NMExportedConnection's 'update' and 'delete' and return error with
2667         descriptive message.
2668
2669 2008-05-08  Dan Williams  <dcbw@redhat.com>
2670
2671         Patch from Markus Becker <mab@comnets.uni-bremen.de>
2672
2673         * src/nm-gsm-device.c
2674           src/nm-cdma-device.c
2675                 - (real_get_best_auto_connection): implement; allow autoconnection
2676                         to GSM & CDMA devices
2677
2678 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2679
2680         Use PolicyKit to authorize the system settings' AddConnection method
2681         and the system settings connections' Update and Delete methods.
2682         
2683         * libnm-glib/nm-settings.c (impl_exported_connection_update)
2684         (impl_exported_connection_delete, nm_exported_connection_update)
2685         (nm_exported_connection_delete): Return boolean and fill GError
2686         to notify the callers of the reasons why it might have failed.
2687
2688         * libnm-glib/nm-dbus-settings-system.c
2689         (nm_dbus_settings_system_add_connection): Return the error from dbus
2690         call so that the callers can see why it failed.
2691
2692         * libnm-glib/nm-dbus-connection.c (update, delete): Update the 
2693         signatures.
2694
2695         * system-settings/src/nm-polkit-helpers.[ch]: Implement.
2696
2697         * system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
2698         abstract base class that checks PolicyKit permissions.
2699
2700         * system-settings/src/dbus-settings.c:
2701         (impl_settings_add_connection): Check the policy before carring out
2702         the request.
2703
2704         * system-settings/plugins/keyfile/nm-keyfile-connection.c:
2705         Inherit from NMSysconfigConnection, check the policies before
2706         allowing updating or removing.
2707
2708         * system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
2709         Inherit from NMSysconfigConnection.
2710
2711         * introspection/nm-exported-connection.xml: Annotate "Update" and 
2712         "Delete" methods with async flag so that the implementations can get
2713         access to DBusGMethodInvocation.
2714
2715         * system-settings/src/dbus-settings.c 
2716         (settings_add_connection_check_privileges): Implement.
2717         (impl_settings_add_connection): Check the privileges before adding a new
2718         connection. Improve error reporting.
2719
2720         * introspection/nm-settings-system.xml: Make the 'AddConnection' method
2721         async so that the implementation can access DBusGMethodInvocation.
2722
2723         * configure.in: Check for PolicyKit.
2724
2725         * policy/org.freedesktop.network-manager-settings.system.policy: 
2726         New file.
2727
2728         * policy/Makefile.am: Install the policy file.
2729
2730         * configure.in: Add 'policy' subdir.
2731
2732 2008-05-08  Tambet Ingo  <tambet@gmail.com>
2733
2734         Rewrite the suse system settings plugin.
2735
2736         * system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.
2737
2738         * system-settings/plugins/ifcfg-suse/parser.c: Rewrite.
2739
2740         * system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.
2741
2742         * system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.
2743
2744         * system-settings/src/dbus-settings.c: Fix connection reference counting.
2745
2746         * system-settings/src/main.c (load_plugins): Improve error reporting.
2747
2748         * system-settings/src/sha1.[ch] Add.
2749
2750         * system-settings/src/Makefile.am: Add sha1[ch] to build.
2751
2752 2008-05-07  Dan Williams  <dcbw@redhat.com>
2753
2754         * system-settings/plugins/keyfile/reader.c
2755                 - (read_one_setting_value): handle IP address items separately
2756                 - (read_array_of_uint): read IPv4 DNS option as a string array
2757                 - (read_array_of_array_of_uint): read IPv4 address tuples as a string
2758                         array
2759
2760         * system-settings/plugins/keyfile/writer.c
2761                 - (write_setting_value): handle IP address items separately
2762                 - (write_array_of_uint): handle IPv4 DNS option as a string array,
2763                         not an array of uint, so that it's user-editable
2764                 - (write_array_of_array_of_uint): handle IPv4 address tuples as string
2765                         arrays, so they are user-editable
2766
2767 2008-05-07  Dan Williams  <dcbw@redhat.com>
2768
2769         * system-settings/plugins/keyfile/Makefile.am
2770                 - Change location of the keyfile plugin settings to
2771                         /etc/NetworkManager/system-connections
2772
2773 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2774
2775         * system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.
2776
2777         * system-settings/plugins/keyfile/plugin.c: Work with
2778         NMKeyfileConnections.
2779
2780         * system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
2781         Plugins are supposed to return NMExportedConnections now and handle the
2782         updated(), removed(), and GetSecrets().
2783         Store the internal list of connections in hash table to make it easier
2784         to find duplicates.
2785
2786 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2787
2788         * src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
2789         for multiple IP addresses.
2790
2791 2008-05-07  Tambet Ingo  <tambet@gmail.com>
2792
2793         Patch from André Lemos.
2794
2795         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
2796         corruption.
2797
2798 2008-05-06  Dan Williams  <dcbw@redhat.com>
2799
2800         * src/dhcp-manager/nm-dhcp-manager.c
2801                 - (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
2802                         NMIP4Config to support multiple IP addresses
2803
2804         * src/NetworkManagerUtils.c
2805                 - (nm_utils_merge_ip4_config): update for multiple IP addresses
2806
2807         * src/nm-ip4-config.c
2808           src/nm-ip4-config.h
2809                 - Store a list of IPv4 address/netmask/gateway tuples
2810                 - (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
2811                    nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
2812                    nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
2813                    nm_ip4_config_set_address): remove
2814                 - (nm_ip4_config_take_address, nm_ip4_config_add_address,
2815                    nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
2816                         new functions; handle multiple IPv4 addresses
2817
2818         * src/nm-device.c
2819           src/ppp-manager/nm-ppp-manager.c
2820           src/vpn-manager/nm-vpn-connection.c
2821           src/NetworkManagerPolicy.c
2822           test/nm-tool.c
2823           libnm-glib/libnm-glib-test.c
2824                 - update for changes to NMIP4Config for multiple IPv4 addresses
2825
2826         * src/NetworkManagerSystem.c
2827                 - (nm_system_device_set_ip4_route): don't add the route if any address
2828                         is on the same subnet as the destination
2829                 - (check_one_address): ignore the exact match, just match family and
2830                         interface index
2831                 - (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
2832                         an interface
2833                 - (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
2834                 - (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()
2835
2836         * introspection/nm-ip4-config.xml
2837                 - Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
2838                 - Add 'addresses' property which is an array of (uuu) tuples of
2839                         address/netmask/gateway
2840
2841         * libnm-util/nm-setting-ip4-config.c
2842                 - (set_property): use ip-address <-> GValue converters from nm-utils.c
2843
2844         * libnm-glib/nm-ip4-config.c
2845           libnm-glib/nm-ip4-config.h
2846                 - Handle D-Bus interface changes to support multiple IP addresses
2847
2848 2008-05-06  Dan Williams  <dcbw@redhat.com>
2849
2850         * libnm-util/nm-utils.c
2851           libnm-util/nm-utils.h
2852                 - (nm_utils_ip4_addresses_from_gvalue,
2853                    nm_utils_ip4_addresses_to_gvalue): new functions
2854
2855 2008-05-06  Tambet Ingo  <tambet@gmail.com>
2856
2857         * libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
2858         the returned connection paths.
2859
2860 2008-05-05  Tambet Ingo  <tambet@gmail.com>
2861
2862         * libnm-glib/nm-dbus-settings.c (constructor): Fix the 
2863         "PropertiesChanged" signal signature.
2864
2865         * libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
2866         defined in nm-dbus-glib-types.h.
2867         Don't register the connection on dbus, we're a proxy class to 
2868         communicate with an already registered connection over dbus.
2869
2870 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2871
2872         Implement new subclasses of NMSettings and NMExportedConnection to make
2873         it easier for the applet to access and modify system settings.
2874
2875         * libnm-glib/nm-dbus-connection.[ch]:
2876         * libnm-glib/nm-dbus-settings.[ch]:
2877         * libnm-glib/nm-dbus-settings-system.[ch]: Implement.
2878
2879         * libnm-glib/Makefile.am: Add the new files to build, generate some more
2880         bindings and glue.
2881
2882         * include/NetworkManager.h: Define the system settings DBus interface.
2883
2884 2008-04-30  Tambet Ingo  <tambet@gmail.com>
2885
2886         Implement additional C API for exported connections to make them identical
2887         with the DBus API. Change the (list_connections) virtual function to be
2888         more usable from C - instead of requiring implementers to return a GPtrArray
2889         of dbus paths, return a list of connections.
2890
2891         * libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
2892         (nm_settings_list_connections):
2893         (nm_exported_connection_new):
2894         (nm_exported_connection_update):
2895         (nm_exported_connection_delete): Implement.
2896
2897         (impl_settings_list_connections):
2898         (impl_exported_connection_update):
2899         (impl_exported_connection_delete): Use the new public functions to make 
2900         sure the C and dbus interfaces stay in sync.
2901
2902         * system-settings/src/dbus-settings.c (list_connections): Return a list of
2903         connections.
2904
2905 2008-05-02  Dan Williams  <dcbw@redhat.com>
2906
2907         * system-settings/plugins/ifcfg-fedora/plugin.c
2908                 - (dispose): use right unref call on the DBusGConnection
2909
2910 2008-05-02  Dan Williams  <dcbw@redhat.com>
2911
2912         * src/nm-serial-device.c
2913                 - (find_terminator): don't compare the whole line, just the size of the
2914                         terminator, since some modems put stuff after the terminator, like
2915                         "CONNECT 9600"
2916
2917 2008-05-01  Dan Williams  <dcbw@redhat.com>
2918
2919         Patch from Michael Biebl <biebl@debian.org>
2920
2921         * callouts/Makefile.am
2922           callouts/org.freedesktop.nm_dispatcher.service.in
2923           system-settings/src/Makefile.am
2924           system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
2925                 - use the right install location for dbus-activated stuff
2926
2927 2008-04-30  Dan Williams  <dcbw@redhat.com>
2928
2929         * src/nm-gsm-device.c
2930                 - (enter_pin): fix setting name passed to applets when asking for a GSM
2931                         PIN or PUK
2932
2933 2008-04-30  Dan Williams  <dcbw@redhat.com>
2934
2935         * src/nm-manager.c
2936                 - (nm_manager_error_get_type): remove erroneous NULL enum from table
2937
2938 2008-04-30  Dan Williams  <dcbw@redhat.com>
2939
2940         * src/nm-device-802-3-ethernet.c
2941           src/nm-device-802-11-wireless.c
2942                 - (real_is_up): return true instead of chaining up to unimplemented
2943                         parent method
2944
2945 2008-04-30  Dan Williams  <dcbw@redhat.com>
2946
2947         * src/NetworkManagerSystem.c
2948           src/NetworkManagerSystem.h
2949                 - (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
2950                         functions to check device flags for IFF_UP
2951
2952         * src/nm-serial-device.c
2953                 - (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
2954                         implement is_up
2955
2956         * src/nm-device-802-3-ethernet.c
2957           src/nm-device-802-11-wireless.c
2958                 - (real_hw_is_up): call nm_system_device_is_up()
2959
2960         * src/nm-device.c
2961                 - (real_hw_is_up): move to nm_system_device_is_up_with_iface()
2962                 - (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
2963                         does not implement
2964
2965 2008-04-29  Dan Williams  <dcbw@redhat.com>
2966
2967         Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.
2968
2969         * marshallers/nm-marshal.list
2970                 - Add marshaller
2971
2972         * src/NetworkManager.c
2973                 - (main): let the NMManager handle the NMHalManager
2974
2975         * src/nm-hal-manager.c
2976           src/nm-hal-manager.h
2977                 - convert to a GObject, and emit singals when stuff changes.  Let the
2978                         NMManager handle the signals, instead of the NMHalManager calling
2979                         into the NMManager.  
2980
2981         * src/nm-manager.c
2982           src/nm-manager.h
2983                 - (remove_one_device): consolidate device removals here
2984                 - (dispose): use remove_one_device()
2985                 - (nm_manager_get_device_by_udi): make static
2986                 - (deferred_hal_manager_query_devices): idle handler to query the HAL
2987                         manager for devices at startup or wakeup time
2988                 - (nm_manager_new): create and monitor the HAL manager
2989                 - (hal_manager_udi_added_cb): new function; do what
2990                         nm_manager_add_device() used to do when signalled by the hal manager
2991                 - (hal_manager_udi_removed_cb): new function; do what
2992                         nm_manager_remove_device() used to do when signalled by the hal
2993                         manager
2994                 - (hal_manager_rfkill_changed_cb): handle rfkill changes from the
2995                         hal manager
2996                 - (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
2997                         in our device list that aren't known to HAL
2998                 - (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
2999                         see comments on nm-hal-manager.c::nm_manager_state_changed() a few
3000                         commits ago
3001                 - (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
3002                    nm_manager_activation_pending, nm_manager_wireless_enabled,
3003                    nm_manager_wireless_hardware_enabled,
3004                    nm_manager_set_wireless_hardware_enabled): remove, unused
3005
3006 2008-04-28  Dan Williams  <dcbw@redhat.com>
3007
3008         Fix the device up/down ambiguities.  Up/down state used to be a
3009         conglomeration of hardware state (IFF_UP) and any device-specific things
3010         (supplicant, periodic timers, etc) that the device used to indicate
3011         readiness.  Unfortunately, if the hardware was already IFF_UP for some
3012         reason, then the device specific stuff wouldn't get run, and the device
3013         would be stuck.
3014
3015         * src/nm-device.c
3016           src/nm-device.h
3017                 - Create hw_is_up, hw_bring_up, and hw_take_down
3018                 - Rename bring_down -> take_down
3019                 - (real_hw_is_up): check interface flags for IFF_UP
3020                 - (nm_device_hw_is_up): let subclasses figure out their own HW state
3021                 - (nm_device_is_up): make static; only used locally
3022                 - (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
3023                         if the device is already up; if the device isn't up, bring it up
3024                 - (nm_device_hw_take_down): just take down hardware
3025                 - (nm_device_bring_up): bring up HW first, then device specific stuff
3026                 - (nm_device_take_down): always deactivate device when called; always
3027                         try to take hardware down too
3028                 - (nm_device_state_changed): take device down when entering unmanaged
3029                         state from a higher state
3030
3031         * src/nm-device-802-11-wireless.c
3032                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3033                         check IFF_UP really
3034                 - (real_take_down, supplicant_iface_state_cb_handler, 
3035                    supplicant_iface_connection_state_cb_handler,
3036                    supplicant_mgr_state_cb_handler): fix some messages
3037
3038         * src/nm-device-802-3-ethernet.c
3039                 - (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
3040                         check IFF_UP really
3041
3042 2008-04-28  Dan Williams  <dcbw@redhat.com>
3043
3044         * src/nm-manager.c
3045           src/nm-manager.h
3046                 - (nm_manager_error_get_type): add new error
3047                 - (nm_manager_remove_device): don't bother taking down the device here,
3048                         the state change from unmanaging the device will do it
3049                 - (impl_manager_sleep): move nm_manager_sleep() here since nothing else
3050                         uses it; when going to sleep, just unmanage the device instead of
3051                         taking it down, because stuff will cleaned up correctly when the
3052                         device gets unmanaged
3053
3054 2008-04-28  Dan Williams  <dcbw@redhat.com>
3055
3056         * src/nm-hal-manager.c
3057                 - (add_initial_devices): convert to a GSourceFunc prototype
3058                 - (nm_manager_state_changed): when coming out of sleep, punt the
3059                         device re-addition to an idle handler to let D-Bus events go out
3060                         first, fixing a potential dbus-glib assert if the old device was
3061                         not yet disposed (due to references held while emitting the D-Bus
3062                         signals) but the new device was found, because the mainloop didn't
3063                         run between signal emission and add_initial_devices()
3064
3065 2008-04-27  Dan Williams  <dcbw@redhat.com>
3066
3067         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3068
3069         * initscript/paldo/NetworkManager.in
3070           initscript/SUSE/networkmanager.in
3071                 - Remove last bits of dhcdbd
3072
3073 2008-04-27  Dan Williams  <dcbw@redhat.com>
3074
3075         * src/nm-device-802-11-wireless.c
3076                 - (link_timeout_cb): don't ask for secrets when disconnected during
3077                         association/authentication phase, drivers are still just too crappy
3078
3079 2008-04-27  Dan Williams  <dcbw@redhat.com>
3080
3081         * Makefile.am
3082           configure.in
3083           dispatcher-daemon/Makefile.am
3084           dispatcher-daemon/NetworkManagerDispatcher.c
3085           initscript/Arch/Makefile.am
3086           initscript/Arch/networkmanager-dispatcher.in
3087           initscript/Gentoo/Makefile.am
3088           initscript/Gentoo/NetworkManagerDispatcher.in
3089           initscript/Mandriva/Makefile.am
3090           initscript/Mandriva/networkmanagerdispatcher.in
3091           initscript/RedHat/Makefile.am
3092           initscript/RedHat/NetworkManagerDispatcher.in
3093           initscript/SUSE/Makefile.am
3094           initscript/SUSE/networkmanager-dispatcher.in
3095           initscript/Slackware/Makefile.am
3096           initscript/Slackware/rc.networkmanager-dispatcher.in
3097           initscript/paldo/Makefile.am
3098           initscript/paldo/NetworkManagerDispatcher.in
3099           man/Makefile.am
3100           man/NetworkManagerDispatcher.8.in
3101                 - Remove the dispatcher daemon
3102
3103 2008-04-27  Dan Williams  <dcbw@redhat.com>
3104
3105         * callouts/Makefile.am
3106           callouts/nm-dispatcher-action.c
3107           callouts/nm-dispatcher-action.h
3108           callouts/nm-dispatcher.conf
3109           callouts/nm-dispatcher.xml
3110           callouts/org.freedesktop.nm_dispatcher.service
3111                 - Re-implement the dispatcher as a system-bus activated service that
3112                         NM calls on-demand, rather than an always running daemon
3113
3114         * src/Makefile.am
3115                 - Add callouts dir to includes to pick up dispatcher defines
3116
3117         * src/nm-device.c
3118                 - (nm_device_state_changed): call dispatcher on device activated/
3119                         deactivated
3120
3121         * src/vpn-manager/nm-vpn-connection.c
3122                 - (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
3123                         go up and down
3124
3125         * src/NetworkManagerUtils.c
3126           src/NetworkManagerUtils.h
3127                 - (nm_utils_call_dispatcher): helper to call dispatcher
3128
3129 2008-04-27  Dan Williams  <dcbw@redhat.com>
3130
3131         * src/NetworkManagerUtils.c
3132           src/NetworkManagerUtils.h
3133                 - remove unneeded includes
3134                 - (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
3135                    nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
3136                    nm_timeval_cmp, nm_timeval_add): remove, unused
3137                 - clean up formatting
3138                 - (nm_spawn_process): de-uglify
3139
3140         * src/nm-device-802-11-wireless.c
3141                 - (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()
3142
3143 2008-04-26  Saleem Abdulrasool  <compnerd@compnerd.org>
3144
3145         * initscript/Gentoo/NetworkManager.in:
3146                 Fix for starting the daemon.
3147
3148 2008-04-25  Dan Williams  <dcbw@redhat.com>
3149
3150         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3151
3152         * src/NetworkManagerSystem.c
3153                 - (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls
3154
3155 2008-04-25  Dan Williams  <dcbw@redhat.com>
3156
3157         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3158
3159         * src/NetworkManagerSystem.c
3160                 - (nm_system_device_replace_default_ip4_route): new function; a libnl
3161                         implementation of nm_system_device_replace_default_route()
3162
3163         * src/NetworkManagerPolicy.c
3164                 - (update_default_route): use nm_system_device_replace_default_ip4_route()
3165
3166         * src/backends/NetworkManagerArch.c
3167           src/backends/NetworkManagerDebian.c
3168           src/backends/NetworkManagerFrugalware.c
3169           src/backends/NetworkManagerGeneric.c
3170           src/backends/NetworkManagerGeneric.h
3171           src/backends/NetworkManagerGentoo.c
3172           src/backends/NetworkManagerMandriva.c
3173           src/backends/NetworkManagerPaldo.c
3174           src/backends/NetworkManagerRedHat.c
3175           src/backends/NetworkManagerSlackware.c
3176           src/backends/NetworkManagerSuSE.c
3177                 - (nm_system_device_replace_default_route): remove
3178
3179 2008-04-25  Dan Williams  <dcbw@redhat.com>
3180
3181         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3182
3183         * src/NetworkManagerSystem.c
3184                 - (validate_ip4_route): remove; use nl_addr_parse() instead
3185                 - (nm_system_device_add_ip4_route_via_device_with_iface): new function,
3186                         replace nm_system_device_add_route_via_device_with_iface() in the
3187                         backends
3188
3189         * src/backends/NetworkManagerArch.c
3190           src/backends/NetworkManagerDebian.c
3191           src/backends/NetworkManagerFrugalware.c
3192           src/backends/NetworkManagerGeneric.c
3193           src/backends/NetworkManagerGeneric.h
3194           src/backends/NetworkManagerGentoo.c
3195           src/backends/NetworkManagerMandriva.c
3196           src/backends/NetworkManagerPaldo.c
3197           src/backends/NetworkManagerRedHat.c
3198           src/backends/NetworkManagerSlackware.c
3199           src/backends/NetworkManagerSuSE.c
3200                 - Remove nm_system_device_add_route_via_device_with_iface()
3201
3202 2008-04-25  Dan Williams  <dcbw@redhat.com>
3203
3204         * system-settings/plugins/ifcfg-fedora/parser.c
3205                 - (GET_ONE_DNS): fix parsing of DNS2 & DNS3
3206
3207 2008-04-24  Dan Williams  <dcbw@redhat.com>
3208
3209         * dispatcher-daemon/NetworkManagerDispatcher.c
3210                 - (nmd_execute_scripts): execute scripts in order as sorted by strcmp()
3211
3212 2008-04-24  Dan Williams  <dcbw@redhat.com>
3213
3214         * initscript/RedHat/NetworkManager.in
3215           initscript/RedHat/NetworkManagerDispatcher.in
3216                 - Be active at runlevel 2
3217                 - Adjust priorities earlier
3218
3219 2008-04-22  Dan Williams  <dcbw@redhat.com>
3220
3221         * src/NetworkManagerPolicy.c
3222                 - (update_routing_and_dns): when checking for a gateway, look at the
3223                         composite IP4 config, not the connection's ip4-config setting, which
3224                         doesn't include DHCP-returned information
3225
3226 2008-04-22  Tambet Ingo  <tambet@gmail.com>
3227
3228         Implement GKeyFile system settings plugin.
3229         Implement writing system settings (currently supported only by GKeyFile plugin).
3230
3231         * system-settings/src/main.c: 
3232         * system-settings/src/dbus-settings.c: Move the communication with plugins
3233         from main.c to dbus-settings.c. Makes it possible to talk to all registered
3234         plugins for adding/updating/removing connections.
3235
3236         * system-settings/src/nm-system-config-interface.c
3237         (nm_system_config_interface_add_connection): Implement
3238         (nm_system_config_interface_update_connection): Implement.
3239         (nm_system_config_interface_remove_connection): Implement.
3240
3241         * system-settings/plugins/keyfile/Makefile.am:
3242         * system-settings/plugins/keyfile/plugin.[ch]:
3243         * system-settings/plugins/keyfile/writer.[ch]:
3244         * system-settings/plugins/keyfile/reader.[ch]: Implement.
3245
3246         * system-settings/plugins/Makefile.am: Add GKeyFile plugin.
3247
3248         * configure.in: Generate GKeyFile Makefile.
3249
3250         * libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
3251         corruption, need to duplicate the returned string.
3252         (impl_exported_connection_update): Implement.
3253         (impl_exported_connection_delete): Implement.
3254
3255         * introspection/nm-settings-system.xml: Add "AddConnection" method.
3256
3257         * introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.
3258
3259 2008-04-22  Dan Williams  <dcbw@redhat.com>
3260
3261         Patch from Charles R. Anderson (cra@wpi.edu)
3262
3263         * src/NetworkManagerPolicy.c
3264                 - (update_routing_and_dns): don't select devices without a gateway
3265                         as having the default route (rh #437338)
3266
3267 2008-04-21  Dan Williams  <dcbw@redhat.com>
3268
3269         * src/nm-activation-request.c
3270           src/nm-activation-request.h
3271                 - (dispose): ensure to disconnect from the device's state-changed signal
3272                         when appropriate so the signal doesn't get handled by an already
3273                         disposed NMActRequest
3274                 - (device_state_changed): update is_default here too just to make sure
3275                         default is only True when the child device is activated
3276                 - (nm_act_request_set_default): new function
3277
3278         * src/NetworkManagerPolicy.c
3279                 - (update_routing_and_dns): set 'default' on the active connection which
3280                         has the default route and DNS
3281
3282 2008-04-21  Dan Williams  <dcbw@redhat.com>
3283
3284         * src/NetworkManagerPolicy.c
3285                 - (device_state_changed): update routing and DNS when a device goes
3286                         into unmanaged or unavailable states too (like rfkill or carrier loss)
3287
3288 2008-04-21  Dan Williams  <dcbw@redhat.com>
3289
3290         * include/NetworkManager.h
3291                 - Add NMActiveConnectionState enum
3292
3293         * introspection/nm-active-connection.xml
3294           introspection/nm-vpn-connection.xml
3295                 - Add 'State' property for overall active connection state
3296                 - Add 'Default' property, when True means this active connection
3297                         has the default route
3298                 - Add PropertyChanged signals so changes actually go out over the bus
3299
3300         * src/nm-active-connection.h
3301                 - Add defines for State & Default properties
3302
3303         * src/nm-activation-request.c
3304                 - Add 'state' and 'default' properties, hook up to device 'state-changed'
3305                         signal to determine active connection state
3306
3307         * src/vpn-manager/nm-vpn-connection.c
3308           src/vpn-manager/nm-vpn-connection.h
3309           src/vpn-manager/nm-vpn-manager.c
3310           src/vpn-manager/nm-vpn-service.c
3311                 - Rename old 'state' to 'vpn-state'
3312                 - Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
3313                 - Add 'state' and 'default' properties, hook up to the vpn connection's
3314                         'vpn-state-changed' signal
3315
3316         * libnm-glib/nm-active-connection.c
3317           libnm-glib/nm-active-connection.h
3318                 - Add new 'state' and 'default' properties and accessors
3319
3320         * libnm-glib/nm-vpn-connection.c
3321           libnm-glib/nm-vpn-connection.h
3322                 - Rename old 'state' property to 'vpn-state'
3323                 - Add new 'state' and 'default' properties and accessors
3324
3325 2008-04-21  Dan Williams  <dcbw@redhat.com>
3326
3327         * src/nm-ip4-config.c
3328                 - (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
3329                         not specified (rh #443474)
3330
3331 2008-04-20  Dan Williams  <dcbw@redhat.com>
3332
3333         * src/NetworkManagerUtils.c
3334           src/NetworkManagerUtils.h
3335                 - (nm_utils_merge_ip4_config): new function; merge settings from an
3336                         NMSettingIP4Config to an NMIP4Config object
3337
3338         * src/nm-device.c
3339                 - (merge_ip4_config): move to NetworkManagerUtils.c
3340
3341         * src/vpn-manager/nm-vpn-connection.c
3342                 - (nm_vpn_connection_ip4_config_get): merge in user-specified settings
3343                         too
3344
3345 2008-04-18  Dan Williams  <dcbw@redhat.com>
3346
3347         * libnm-util/nm-setting-ppp.c
3348           libnm-util/nm-setting-ppp.h
3349                 - Add 'no-vj-comp' option for TCP header compression
3350                 - baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
3351                         uint32
3352
3353 2008-04-18  Dan Williams  <dcbw@redhat.com>
3354
3355         * libnm-util/nm-setting-ppp.c
3356           libnm-util/nm-setting-ppp.h
3357           src/ppp-manager/nm-ppp-manager.c
3358                 - Add 'refuse-pap' and 'refuse-mschapv2' options
3359
3360 2008-04-18  Dan Williams  <dcbw@redhat.com>
3361
3362         * libnm-util/nm-setting-ppp.c
3363           libnm-util/nm-setting-ppp.h
3364           src/ppp-manager/nm-ppp-manager.c
3365                 - Remove the 'usepeerdns' option and always request DNS servers from
3366                         the PPP server; the connection chooses to use/override/ignore the
3367                         DNS servers returned from the PPP server
3368
3369 2008-04-18  Dan Williams  <dcbw@redhat.com>
3370
3371         * libnm-util/nm-setting-ppp.c
3372           libnm-util/nm-setting-ppp.h
3373           src/ppp-manager/nm-ppp-manager.c
3374                 - Remove the 'require-mppc' option, because pppd doesn't support it and
3375                         it seems to have been an erroneous addition to the PPTP plugin in
3376                         the first place (from which the ppp-manager is derived)
3377
3378 2008-04-17  Dan Williams  <dcbw@redhat.com>
3379
3380         * libnm-util/nm-setting-pppoe.c
3381                 - (verify): require a PPP setting too
3382
3383         * src/ppp-manager/nm-ppp-manager.c
3384                 - (nm_ppp_manager_start): fail if no PPP setting is present instead of
3385                         segfaulting
3386
3387 2008-04-17  Dan Williams  <dcbw@redhat.com>
3388
3389         * src/nm-device.c
3390                 - (nm_device_state_changed): do deactivation and and promotion to
3391                         unavailable here, so that the device gets cleaned up before the
3392                         manager runs and starts emitting signals; do the
3393                         FAILED->DISCONNECTED transition from an idle handler rather than
3394                         immediately to guard against recursion
3395                 - (nm_device_deactivate_quickly, nm_device_dispose): stop the
3396                         FAILED->DISCONNECTED handler if it's scheduled
3397
3398 2008-04-17  Dan Williams  <dcbw@redhat.com>
3399
3400         * src/nm-device-802-11-wireless.c
3401                 - (state_changed_cb): clear AP list when device transitions to
3402                         unavailable or unmanaged
3403                 - (nm_device_802_11_wireless_dispose): remove redundant set_current_ap()
3404                         since this is already done in device_cleanup()
3405                 - (supplicant_iface_scanned_ap_cb): don't leak new APs when the device
3406                         isn't available or managed
3407                 - (device_cleanup): use remove_all_aps()
3408                 - (remove_all_aps): consolidate code removing all APs
3409
3410 2008-04-17  Dan Williams  <dcbw@redhat.com>
3411
3412         * src/nm-serial-device.c
3413           src/nm-serial-device.h
3414                 - (wait_for_reply_got_data): break input into lines, and search each
3415                         line for responses _and_ terminator strings; also make sure that
3416                         the read loop doesn't continue after the timeout is supposed to fire
3417                 - (nm_serial_device_wait_for_reply): take an array of terminators too
3418
3419         * src/nm-gsm-device.c
3420           src/nm-cdma-device.c
3421                 - Send terminators to nm_serial_device_wait_for_reply()
3422
3423 2008-04-16  Dan Williams  <dcbw@redhat.com>
3424
3425         Patch from 陈鑫 <znscnchen@gmail.com>
3426
3427         * src/ppp-manager/nm-pppd-plugin.c
3428                 - (get_credentials): return correct value for success; handle case where
3429                         pppd just does some checking but doesn't want a password
3430                 - (plugin_init): make CHAP work too
3431
3432 2008-04-16  Dan Williams  <dcbw@redhat.com>
3433
3434         Patch from 陈鑫 <znscnchen@gmail.com>
3435
3436         * src/ppp-manager/nm-ppp-manager.c
3437                 - (create_pppd_cmd_line): fix argument generation when spawning pppd
3438
3439 2008-04-16  Dan Williams  <dcbw@redhat.com>
3440
3441         Patch from 陈鑫 <znscnchen@gmail.com>
3442
3443         * src/nm-device-802-3-ethernet.c
3444                 - (real_deactivate_quickly): clear the IP interface name on
3445                         deactivation, otherwise the wrong interface might get used later
3446                         for routing and IP management
3447
3448 2008-04-15  Dan Williams  <dcbw@redhat.com>
3449
3450         * libnm-glib/nm-device.c
3451                 - (get_product_and_vendor): handle serial devices correctly
3452                 - (nm_device_update_description): pass device to get_product_and_vendor()
3453
3454 2008-04-15  Dan Williams  <dcbw@redhat.com>
3455
3456         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3457
3458         * src/NetworkManagerSystem.h
3459           src/backends/NetworkManagerArch.c
3460           src/backends/NetworkManagerDebian.c
3461           src/backends/NetworkManagerFrugalware.c
3462           src/backends/NetworkManagerGeneric.c
3463           src/backends/NetworkManagerGeneric.h
3464           src/backends/NetworkManagerGentoo.c
3465           src/backends/NetworkManagerMandriva.c
3466           src/backends/NetworkManagerPaldo.c
3467           src/backends/NetworkManagerRedHat.c
3468           src/backends/NetworkManagerSlackware.c
3469           src/backends/NetworkManagerSuSE.c
3470           src/nm-device.c
3471                 - (nm_generic_device_add_ip6_link_address,
3472                    nm_system_device_add_ip6_link_address): remove
3473
3474 2008-04-15  Dan Williams  <dcbw@redhat.com>
3475
3476         Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>
3477
3478         * src/backends/NetworkManagerArch.c
3479           src/backends/NetworkManagerDebian.c
3480           src/backends/NetworkManagerFrugalware.c
3481           src/backends/NetworkManagerGeneric.c
3482           src/backends/NetworkManagerGeneric.h
3483           src/backends/NetworkManagerGentoo.c
3484           src/backends/NetworkManagerMandriva.c
3485           src/backends/NetworkManagerPaldo.c
3486           src/backends/NetworkManagerRedHat.c
3487           src/backends/NetworkManagerSlackware.c
3488           src/backends/NetworkManagerSuSE.c
3489           src/NetworkManagerSystem.h
3490                 - flush_routes -> flush_ip4_routes
3491                 - flush_addresses -> flush_ip4_addresses
3492
3493         * src/NetworkManagerSystem.c
3494           src/nm-device.c
3495           src/vpn-manager/nm-vpn-connection.c
3496                 - flush only IPv4 addresses; don't touch IPv6 routes and addresses
3497
3498 2008-04-15  Dan Williams  <dcbw@redhat.com>
3499
3500         Remove exposure of wireless-tools mode types in the API.
3501
3502         * include/NetworkManager.h
3503                 - Define NM80211Mode enum
3504
3505         * introspection/generic-types.xml
3506                 - Describe NM_802_11_MODE enum
3507                 - Remove IW_MODE_* enum
3508
3509         * introspection/nm-access-point.xml
3510           libnm-glib/nm-access-point.c
3511           libnm-glib/nm-access-point.h
3512                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3513
3514         * introspection/nm-device-802-11-wireless.xml
3515           libnm-glib/nm-device-802-11-wireless.c
3516           libnm-glib/nm-device-802-11-wireless.h
3517                 - 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT
3518
3519         * libnm-util/nm-setting-wireless.c
3520           src/NetworkManagerAP.c
3521           src/NetworkManagerAP.h
3522           src/nm-device-802-11-wireless.c
3523           src/nm-device-802-11-wireless.h
3524           test/nm-tool.c
3525                 - Use NM80211Mode not IW_MODE_*
3526
3527 2008-04-15  Dan Williams  <dcbw@redhat.com>
3528
3529         Enhance nm-online based on a patch from Bill Nottingham.
3530
3531         * test/nm-online.c
3532                 - Add a '-q' option
3533                 - Add help messages and option summary
3534                 - Add long-format options
3535                 - Add a '-x' option to exit if NM isn't running or isn't connecting
3536
3537 2008-04-15  Tambet Ingo  <tambet@gmail.com>
3538
3539         * libnm-util/nm-setting.c (nm_setting_duplicate): Implement.
3540
3541         * libnm-util/nm-connection.c (nm_connection_remove_setting): Implement.
3542
3543 2008-04-15  Dan Williams  <dcbw@redhat.com>
3544
3545         * nm-setting-ip4-config.c
3546                 - (ip4_addresses_from_gvalue): handle NULL address array
3547
3548         * nm-setting-8021x.c
3549                 - (verify_tls, verify_ttls): warn on failed verification
3550
3551 2008-04-10  Dan Williams  <dcbw@redhat.com>
3552
3553         * src/nm-gsm-device.c
3554                 - (automatic_registration): accept "+CREG: 0,0"
3555                 - (automatic_registration_response): fail on "+CREG: 0,0"
3556
3557 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3558
3559         * libnm-util/nm-setting-wired.c (get_property): Fix a typo.
3560
3561 2008-04-10  Tambet Ingo  <tambet@gmail.com>
3562
3563         * system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting): 
3564         Make it compile again by commenting out broken code that at first didn't work and
3565         now didn't compile either.
3566
3567 2008-04-08  Dan Williams  <dcbw@redhat.com>
3568
3569         * libnm-glib/nm-object-cache.c
3570           libnm-glib/nm-settings.c
3571           src/dhcp-manager/nm-dhcp-manager.c
3572           system-settings/plugins/ifcfg-fedora/plugin.c
3573           system-settings/plugins/ifcfg-suse/plugin.c
3574           system-settings/src/nm-system-config-hal-manager.c
3575           libnm-util/nm-utils.c
3576                 - Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
3577                         not threadsafe anyway
3578
3579 2008-04-08  Dan Williams  <dcbw@redhat.com>
3580
3581         * system-settings/src/main.c
3582                 - (load_stuff, device_added_cb, device_removed_cb): device added/removed
3583                         callbacks take a device type too
3584
3585 2008-04-08  Dan Williams  <dcbw@redhat.com>
3586
3587         The system settings service will now create a new default DHCP connection
3588         for wired devices that have no existing applicable connection.
3589
3590         * system-settings/src/nm-system-config-hal-manager.c
3591           system-settings/src/nm-system-config-hal-manager.h
3592                 - (nm_system_config_hal_manager_get_type_for_udi): new function
3593
3594         * system-settings/src/dbus-settings.c
3595           system-settings/src/dbus-settings.h
3596                 - (nm_sysconfig_settings_get_connections): new function
3597                 - (nm_sysconfig_settings_is_device_managed): new function
3598
3599         * system-settings/src/main.c
3600                 - (load_stuff): check for wired devices that need a default connection
3601                 - (get_details_for_udi): get interface and MAC address from HAL
3602                 - (add_default_dhcp_connection): add a default connection for a wired
3603                         device if needed
3604                 - (device_added_cb, device_removed_cb): do the right thing with
3605                         wired devices and their default connections on HAL device events
3606
3607 2008-04-07  Dan Williams  <dcbw@redhat.com>
3608
3609         * libnm-glib/nm-device.c
3610           libnm-glib/nm-device.h
3611                 - Proxy the 'managed' property
3612
3613 2008-04-07  Dan Williams  <dcbw@redhat.com>
3614
3615         * src/nm-gsm-device.c
3616           src/nm-cdma-device.c
3617                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3618                         handler to transition to DISCONNECTED
3619
3620 2008-04-07  Dan Williams  <dcbw@redhat.com>
3621
3622         Patch from Bill Nottingham
3623
3624         * dispatcher-daemon/NetworkManagerDispatcher.c
3625                 - ignore backup/packaging crufy (rh #440143)
3626
3627 2008-04-07  Dan Williams  <dcbw@redhat.com>
3628
3629         * include/NetworkManager.h
3630                 - Remove the DOWN and CANCELLED device states
3631                 - Add UNMANAGED and UNAVAILABLE device states
3632                 - Document the device states
3633
3634         * introspection/nm-device.xml
3635           src/nm-device-interface.c
3636           src/nm-device-interface.h
3637                 - Add the 'managed' property
3638
3639         * test/nm-tool.c
3640                 - (detail_device): print out device state
3641
3642         * src/NetworkManagerSystem.h
3643           src/backends/NetworkManagerArch.c
3644           src/backends/NetworkManagerDebian.c
3645           src/backends/NetworkManagerFrugalware.c
3646           src/backends/NetworkManagerGentoo.c
3647           src/backends/NetworkManagerMandriva.c
3648           src/backends/NetworkManagerPaldo.c
3649           src/backends/NetworkManagerRedHat.c
3650           src/backends/NetworkManagerSlackware.c
3651           src/backends/NetworkManagerSuSE.c
3652                 - (nm_system_device_get_system_config, nm_system_device_get_disabled
3653                    nm_system_device_free_system_config): remove; they were unused and
3654                         their functionality should be re-implemented in each distro's
3655                         system settings service plugin 
3656
3657         * src/nm-gsm-device.c
3658           src/nm-gsm-device.h
3659           src/nm-cdma-device.c
3660           src/nm-cdma-device.h
3661                 - (*_new): take the 'managed' argument
3662
3663         * src/nm-device.c
3664                 - (nm_device_set_address): remove, fold into nm_device_bring_up()
3665                 - (nm_device_init): start in unmanaged state, not disconnected
3666                 - (constructor): don't start device until the system settings service
3667                         has had a chance to figure out if the device is managed or not
3668                 - (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
3669                         don't set device state here, let callers handle that as appropriate
3670                 - (nm_device_dispose): don't touch the device if it's not managed
3671                 - (set_property, get_property, nm_device_class_init): implement the
3672                         'managed' property
3673                 - (nm_device_state_changed): bring the device up if its now managed,
3674                         and deactivate it if it used to be active
3675                 - (nm_device_get_managed, nm_device_set_managed): do the right thing
3676                         with the managed state
3677
3678         * src/nm-hal-manager.c
3679                 - (wired_device_creator, wireless_device_creator, modem_device_creator):
3680                         take initial managed state and pass it along to device constructors
3681                 - (create_device_and_add_to_list): get managed state and pass to
3682                         type creators
3683
3684         * src/nm-device-802-11-wireless.c
3685                 - (real_can_activate): fold in most of
3686                         nm_device_802_11_wireless_can_activate()
3687                 - (can_scan): can't scan in UNAVAILABLE or UNMANAGED
3688                 - (link_timeout_cb): instead of deactivating, change device state and
3689                         let the device state handler to it
3690                 - (real_update_hw_address): clean up
3691                 - (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
3692                         handler to transition to DISCONNECTED if the device isn't rfkilled
3693
3694         * src/nm-device-802-3-ethernet.c
3695                 - (set_carrier): move above callers and get rid of prototype
3696                 - (device_state_changed): when entering UNAVAILABLE state, schedule an
3697                         idle handler to transition to DISCONNECTED if the device has a
3698                         carrier
3699                 - (real_update_hw_address): clean up
3700                 - (link_timeout_cb, ppp_state_changed): change state instead of calling
3701                         deactivation directly as deactivation doesn't change state anymore
3702
3703         * src/NetworkManagerPolicy.c
3704                 - (schedule_activate_check): yay, remove wireless_enabled hack since
3705                         the NMManager and wireless devices work that out themselves now
3706                 - (device_state_changed): change to a switch and update for new device
3707                         states
3708                 - (device_carrier_changed): remove; device handles this now through
3709                         state changes
3710                 - (device_added): don't care about carrier any more; the initial
3711                         activation check will happen when the device transitions to
3712                         DISCONNECTED
3713
3714         * src/nm-manager.c
3715                 - (dispose): clear unmanaged devices
3716                 - (handle_unmanaged_devices): update unmanaged device list and toggle
3717                         the managed property on each device when needed
3718                 - (system_settings_properties_changed_cb): handle signals from the
3719                         system settings service
3720                 - (system_settings_get_unmanaged_devices_cb): handle callback from
3721                         getting the unmanaged device list method call
3722                 - (query_unmanaged_devices): ask the system settings service for its
3723                         list of unmanaged devices
3724                 - (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
3725                         devices
3726                 - (manager_set_wireless_enabled): push rfkill state down to wireless
3727                         devices directly and let them handle the necessary state transitions
3728                 - (manager_device_state_changed): update for new device states
3729                 - (nm_manager_add_device): set initial rfkill state on wireless devices
3730                 - (nm_manager_remove_device): don't touch the device if it's unmanaged
3731                 - (nm_manager_activate_connection): return error if the device is
3732                         unmanaged
3733                 - (nm_manager_sleep): handle new device states correctly; don't change
3734                         the state of unavailable/unmanaged devices
3735
3736         * libnm-glib/nm-device-802-11-wireless.c
3737                 - (state_changed_cb): update for new device states
3738
3739 2008-04-07  Dan Williams  <dcbw@redhat.com>
3740
3741         * marshallers/nm-marshal.list
3742                 - Add VOID:STRING,UINT marshaller for system settings HAL manager
3743
3744 2008-04-07  Dan Williams  <dcbw@redhat.com>
3745
3746         * system-settings/src/main.c
3747                 - (unmanaged_devices_changed_cb, register_plugin): proxy changes from
3748                         plugins to the dbus settings object
3749                 - (load_stuff): start the dbus service after grabbing unmanaged devices
3750                 - (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
3751                 - (log_handler, logging_setup, logging_shutdown): log output to syslog
3752                 - (main): switch default logging to syslog with a 'debug' option to
3753                         output to console; start up the HAL manager
3754
3755 2008-04-07  Dan Williams  <dcbw@redhat.com>
3756
3757         * introspection/nm-settings-system.xml
3758           introspection/Makefile.am
3759                 - Define the unmanaged devices interface for the system settings service
3760
3761         * system-settings/src/nm-system-config-hal-manager.c
3762           system-settings/src/nm-system-config-hal-manager.h
3763           system-settings/src/nm-system-config-hal-manager-private.h
3764           system-settings/src/Makefile.am
3765                 - Add a lightweight HAL manager object for tracking network devices for
3766                         the purpose of determining unmanaged devices and which devices need
3767                         the default DHCP connections
3768
3769         * system-settings/src/nm-system-config-interface.c
3770           system-settings/src/nm-system-config-interface.h
3771                 - (nm_system_config_interface_init): add the HAL manager as an argument
3772                 - (nm_system_config_interface_get_unmanaged_devices): implement
3773                 - Define 'unmanaged-devices-changed' signal
3774
3775         * system-settings/src/dbus-settings.c
3776           system-settings/src/dbus-settings.h
3777                 - Implement the unmanaged devices interface; some cleanups
3778
3779         * system-settings/plugins/ifcfg-suse/plugin.c
3780                 - Fixup for plugin interface changes
3781
3782         * system-settings/plugins/ifcfg-fedora/plugin.c
3783                 - (get_ether_device_udi): new function; find the device that has
3784                         a specified MAC address and return its UDI
3785                 - (get_udi_for_connection): new function; try to find the specific
3786                         device a connection is locked to, if any
3787                 - (device_added_cb, device_removed_cb): update unmanaged device list in
3788                         response to HAL events
3789                 - (get_unmanaged_devices): new function; return unmanaged device list
3790                 - (build_one_connection): set the connection's locked device, if any
3791                 - (write_auto_wired_connection): remove
3792                 - (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
3793                 - (handle_connection_changed): alert listeners that the unmanaged device
3794                         list has changed
3795                 - (init): fixup for plugin interface changes, implement unmanaged devices
3796
3797         * system-settings/plugins/ifcfg-fedora/parser.c
3798           system-settings/plugins/ifcfg-fedora/parser.h
3799                 - (connection_data_free): clean up connection UDI
3800
3801 2008-04-07  Dan Williams  <dcbw@redhat.com>
3802
3803         * system-settings/plugins/ifcfg-fedora/parser.c
3804                 - (make_ip4_setting): fix parsing of DNS servers
3805
3806 2008-04-05  Dan Williams  <dcbw@redhat.com>
3807
3808         * Makefile.am
3809           configure.in
3810           marshallers/Makefile.am
3811           marshallers/nm-marshal-main.c
3812           marshallers/nm-marshal.list
3813                 - Consolidate marshallers
3814
3815         * libnm-glib/nm-marshal-main.c
3816           libnm-glib/nm-marshal.list
3817           src/marshallers/Makefile.am
3818           src/marshallers/nm-marshal-main.c
3819           src/marshallers/nm-marshal.list
3820                 - Remove
3821
3822         * libnm-glib/Makefile.am
3823           src/Makefile.am
3824           src/dhcp-manager/Makefile.am
3825           src/ppp-manager/Makefile.am
3826           src/supplicant-manager/Makefile.am
3827           src/vpn-manager/Makefile.am
3828                 - Use consolidated marshallers
3829
3830 2008-04-04  Dan Williams  <dcbw@redhat.com>
3831
3832         * src/nm-hal-manager.c
3833           src/nm-hal-manager.h
3834                 - (hal_init): don't look for hardware here
3835                 - (nm_hal_manager_start): new function; look for hardware here instead,
3836                         which can be done at a later time than hal_init()
3837
3838         * src/NetworkManager.c
3839                 - (main): start HAL manager after entering the main loop
3840
3841 2008-04-03  Dan Williams  <dcbw@redhat.com>
3842
3843         * libnm-glib/nm-settings.c
3844           libnm-glib/nm-settings.h
3845             - (nm_exported_connection_get_id): new function
3846                 - (impl_exported_connection_get_id): use nm_exported_connection_get_id()
3847
3848 2008-04-02  Dan Williams  <dcbw@redhat.com>
3849
3850         * src/nm-device-interface.c
3851           src/nm-device-interface.h
3852           src/nm-device.c
3853           src/nm-device.h
3854                 - Rename check_connection_conflicts() to check_connection_compatible()
3855
3856         * src/nm-device-802-11-wireless.c
3857                 - (real_check_connection_conflicts): remove
3858                 - (real_check_connection_compatible): implement; match MAC address
3859
3860         * src/nm-device-802-3-ethernet.c
3861                 - (real_check_connection_conflicts): remove
3862                 - (real_check_connection_compatible): implement; match MAC address
3863                 - (real_get_best_auto_connection): correctly handle PPPoE cases
3864
3865         * src/nm-manager.c
3866                 - (check_connection_allowed): remove; unused until PolicyKit integration
3867                 - (internal_activate_device): check whether the connection is compatible
3868                         with the device before trying to activate it
3869
3870 2008-04-02  Dan Williams  <dcbw@redhat.com>
3871
3872         * system-settings/plugins/ifcfg-fedora/parser.c
3873                 - (read_mac_address): new function; read in MAC address and stuff it
3874                         into the connection
3875                 - (add_one_wep_key): remove debug spew
3876                 - (make_wireless_security_setting): validate the default TX key; don't
3877                         add the wireless-security setting if the connection doesn't need
3878                         security; don't leak the keys shvarFile on error cases
3879                 - (make_wireless_setting, make_wired_setting): populate device's MAC
3880                         address
3881
3882 2008-04-02  Dan Williams  <dcbw@redhat.com>
3883
3884         * libnm-util/nm-setting-connection.c
3885           libnm-util/nm-setting-connection.h
3886                 - (set_property, get_property, nm_setting_connection_class_init): remove
3887                         the 'lockdown' property; it's functionality will be replaced by
3888                         PolicyKit instead
3889
3890 2008-04-01  Dan Williams  <dcbw@redhat.com>
3891
3892         Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>
3893
3894         * configure.in
3895           initscript/Makefile.am
3896           initscript/Mandriva/Makefile.am
3897           initscript/Mandriva/networkmanager.in
3898           initscript/Mandriva/networkmanagerdispatcher.in
3899           src/backends/Makefile.am
3900           src/backends/NetworkManagerMandriva.c
3901           system-settings/plugins/Makefile.am
3902                 - Add Mandriva support
3903
3904 2008-03-31  Dan Williams  <dcbw@redhat.com>
3905
3906         * src/vpn-manager/nm-vpn-service.c
3907                 - (nm_vpn_service_daemon_exec): add an error argument so that spawn
3908                         errors can be passed back to the caller; also no longer scheduled
3909                         as an idle handler, but called directly; and bump up VPN service
3910                         spawn timeout, 2s is really short
3911                 - (nm_vpn_service_activate): don't schedule the VPN service activation,
3912                         but call it directly so that errors are reported on return from
3913                         ActivateConnection() and don't get lost.  If scheduled as an idle
3914                         handler, clients don't have the time to query NM for the new VPN
3915                         connection's properties before the VPN connection is torn down again
3916                         if the service couldn't be launched, and therefore launch errors
3917                         get lost.
3918
3919 2008-03-31  Dan Williams  <dcbw@redhat.com>
3920
3921         * src/vpn-manager/nm-vpn-connection.c
3922                 - (device_state_changed): send correct state on device failure too
3923                 - (plugin_state_changed): failed state means unexpected disconnection,
3924                         thus if the service goes away while the VPN connection is activated
3925                         that's a failure too
3926
3927 2008-03-31  Dan Williams  <dcbw@redhat.com>
3928
3929         * src/vpn-manager/nm-vpn-manager.c
3930           src/vpn-manager/nm-vpn-manager.h
3931                 - Make VPNManager errors more available; add a service-start-failed error
3932
3933 2008-03-31  Dan Williams  <dcbw@redhat.com>
3934
3935         * libnm-glib/nm-client.c
3936           libnm-glib/nm-client.h
3937                 - (activate_cb): pass the new active connection to callback; fix
3938                         message when no callback is specified
3939
3940 2008-03-30  Dan Williams  <dcbw@redhat.com>
3941
3942         * libnm-util/nm-setting-wireless-security.c
3943                 - (need_secrets): only require key0 if the transmit key index is also
3944                         0
3945                 - (verify): reject non-NULL but zero-length WEP keys; these are invalid
3946
3947 2008-03-29  Dan Williams  <dcbw@redhat.com>
3948
3949         * libnm-util/nm-setting-8021x.c
3950           libnm-util/nm-setting-ip4-config.c
3951           libnm-util/nm-setting-vpn-properties.c
3952           libnm-util/nm-setting-vpn.c
3953           libnm-util/nm-setting-wireless-security.c
3954           libnm-util/nm-setting-wireless.c
3955           libnm-util/nm-utils.c
3956           src/dhcp-manager/nm-dhcp-manager.c
3957           src/nm-activation-request.c
3958           src/nm-ip4-config.c
3959           src/nm-manager.c
3960           src/nm-properties-changed-signal.c
3961           src/ppp-manager/nm-pppd-plugin.c
3962           src/supplicant-manager/nm-supplicant-interface.c
3963           src/vpn-manager/nm-vpn-connection.c
3964                 - consistently use nm-dbus-glib-types.h
3965
3966 2008-03-29  Dan Williams  <dcbw@redhat.com>
3967
3968         * src/vpn-manager/nm-vpn-connection.c
3969                 - (nm_vpn_connection_class_init): PROP_SPECIFIC_OBJECT should be boxed,
3970                         not string
3971
3972         * src/nm-activation-request.c
3973                 - (nm_act_request_class_init): PROP_SPECIFIC_OBJECT should be boxed,
3974                         not string
3975
3976 2008-03-29  Dan Williams  <dcbw@redhat.com>
3977
3978         * libnm-glib/nm-device-802-11-wireless.c
3979                 - (access_point_added_proxy): create new APs if not found
3980
3981 2008-03-29  Dan Williams  <dcbw@redhat.com>
3982
3983         * libnm-glib/nm-client.c
3984                 - (proxy_name_owner_changed): tell wireless devices about rfkill state
3985                         before freeing them
3986
3987 2008-03-29  Dan Williams  <dcbw@redhat.com>
3988
3989         * system-settings/plugins/ifcfg-fedora/parser.c
3990                 - Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
3991                         [0...3]; also handle KEY correctly in combination with DEFAULTKEY
3992
3993 2008-03-29  Dan Williams  <dcbw@redhat.com>
3994
3995         * system-settings/plugins/ifcfg-fedora/parser.c
3996                 - (get_one_wep_key, make_wireless_security_setting): handle "KEY" too
3997
3998 2008-03-27  Dan Williams  <dcbw@redhat.com>
3999
4000         * nm-object.c
4001                 - (nm_object_queue_notify): don't notify multiple times for the same
4002                         property
4003
4004         * nm-object-private.h
4005                 - (handle_ptr_array_return): return NULL if the given array is NULL or
4006                         if it has zero elements
4007
4008         * nm-ip4-config.c
4009                 - (finalize): use g_ptr_array_foreach() when freeing domains
4010                 - (nm_ip4_config_get_domains): use handle_ptr_array_return()
4011
4012         * nm-active-connection.c
4013                 - (nm_active_connection_get_devices): use handle_ptr_array_return()
4014
4015         * nm-device-802-11-wireless.c
4016           nm-device-802-11-wireless.h
4017                 - (nm_device_802_11_wireless_get_access_points): return const; use
4018                         handle_ptr_array_return()
4019
4020         * nm-types.c
4021                 - (nm_object_array_demarshal): always create an array, even of length
4022                         zero, to distinguish between "NM returned no items" and "haven't
4023                         asked NM yet"
4024
4025         * nm-client.c
4026                 - (dispose): free active connections too
4027                 - (proxy_name_owner_changed): free active connections too when NM goes
4028                         away
4029                 - (nm_client_get_devices): return const; use handle_ptr_array_return()
4030                 - (nm_client_get_active_connections): use handle_ptr_array_return()
4031
4032 2008-03-26  Dan Williams  <dcbw@redhat.com>
4033
4034         Rework VPN connection handling for a more consistent D-Bus API.  The
4035         VPNManager object has been removed, and active VPN connections are now the
4036         same as any other active connection.  The Manager object's ActivateConnection
4037         and DeactivateConnection methods are used to start and stop a VPN connection,
4038         and the VPNConnection objects are subclasses of the ActiveConnection objects.
4039         When activating a VPN connection, pass the path of the active connection
4040         to which the VPN connection is tied in the 'specific_object' argument.
4041
4042         Consequently, the libnm-glib API has been reworked to match this arrangement,
4043         with the VPNManager object removed, and the NMVPNConnection objects now
4044         being subclasses of NMActiveConnection.
4045
4046 2008-03-25  Dan Williams  <dcbw@redhat.com>
4047
4048         Patch from Björn Martensen <bjoern.martensen@gmail.com>
4049
4050         * initscript/Arch/networkmanager.in
4051           initscript/Arch/networkmanager-dispatcher.in
4052                 - Updates for Arch Linux (gnome.org #523701)
4053
4054 2008-03-25  Dan Williams  <dcbw@redhat.com>
4055
4056         * libnm-glib/nm-ip4-config.c
4057           libnm-glib/nm-active-connection.c
4058           libnm-glib/nm-access-point.c
4059                 - Use nm_object_queue_notify() instead of g_object_notify()
4060
4061         * libnm-glib/nm-device.c
4062                 - (demarshal_ip4_config): distinguish between successful but missing
4063                         ip4-config request, and unsuccessful and missing ip4-config request
4064                 - (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
4065                         path
4066                 - Use nm_object_queue_notify() instead of g_object_notify()
4067
4068         * libnm-glib/nm-device-802-11-wireless.c
4069                 - (demarshal_active_ap): distinguish between successfull but missing
4070                         active-ap request, and unsuccessful and missing active-ap request
4071                 - (dispose, clean_up_aps): consolidate AP list and active AP clearing
4072                         code
4073                 - (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
4074                         for the NMClient to notify the device that wireless is disabled,
4075                         and therefore to clear the AP list and active AP
4076                 - Use nm_object_queue_notify() instead of g_object_notify()
4077
4078         * libnm-glib/nm-client.c
4079                 - (poke_wireless_devices_with_rf_status): new function
4080                 - (update_wireless_status): notify wireless devices of the rfkill status
4081                         so they can clean up if needed
4082                 - Use nm_object_queue_notify() instead of g_object_notify()
4083
4084 2008-03-25  Dan Williams  <dcbw@redhat.com>
4085
4086         * libnm-glib/nm-object.c
4087           libnm-glib/nm-object-private.h
4088                 - (nm_object_queue_notify): add helper to batch & postpone GObject notify
4089                         signals to an idle handler
4090                 - (nm_object_get_property): add a timeout to the D-Bus method call
4091
4092 2008-03-25  Dan Williams  <dcbw@redhat.com>
4093
4094         * introspection/nm-device-cdma.xml
4095           introspection/nm-device-gsm.xml
4096           introspection/Makefile.am
4097           introspection/all.xml
4098                 - Add introspection for CDMA and GSM devices for PropertiesChanged signal
4099
4100         * src/nm-gsm-device.h
4101           src/nm-gsm-device.c
4102           src/nm-cdma-device.h
4103           src/nm-cdma-device.c
4104           src/Makefile.am
4105                 - Implement PropertiesChanged signals
4106
4107         * libnm-glib/nm-cdma-device.c
4108           libnm-glib/nm-cdma-device.c
4109                 - Attach to PropertiesChanged signals
4110
4111 2008-03-24  Dan Williams  <dcbw@redhat.com>
4112
4113         * libnm-glib/nm-client.c
4114                 - (client_device_added_proxy): add new devices to the internal device
4115                         list so they appear to clients
4116
4117 2008-03-24  Dan Williams  <dcbw@redhat.com>
4118
4119         Massive fixup of libnm-glib to:
4120         a) have all objects (with the exception of VPN) cache their properties and
4121                 update them asynchronously on PropertiesChanged signals from NM
4122         b) return internal const data for most attributes/properties instead of
4123                 allocated values that the caller must free
4124         c) cache wrapped objects such that a given D-Bus path will always map to the
4125                 same GObject returned by libnm-glib
4126         d) remove a few signals and move them to GObject property notifications
4127         e) match recent NM D-Bus API changes for activation/deactivation
4128         f) remove some private functions from libnm-glib headers
4129
4130 2008-03-20  Dan Williams  <dcbw@redhat.com>
4131
4132         * src/nm-manager.c
4133                 - (nm_manager_update_state, manager_device_state_changed,
4134                    nm_manager_activate_device, connection_added_default_handler,
4135                    impl_manager_activate_connection, impl_manager_deactivate_connection):
4136                         queue PropertyChanged singals when the active connections change
4137
4138 2008-03-20  Dan Williams  <dcbw@redhat.com>
4139
4140         * introspection/nm-manager.xml
4141           introspection/nm-manager-client.xml
4142                 - (ActivateConnection): return the object path of the active connection
4143                         on success
4144                 - (GetActiveConnections): remove
4145                 - (DeactivateConnection): new function; deactivate a currently active
4146                         connection
4147                 - Add an ActiveConnections property which returns an array of
4148                         active connection object paths
4149
4150         * introspection/nm-device.xml
4151                 - (Deactivate): remove
4152
4153         * introspection/all.xml
4154                 - Add ActiveConnection introspection
4155
4156         * introspection/nm-active-connection.xml
4157                 - Add the ActiveConnection object
4158
4159         * include/NetworkManager.h
4160                 - Add the Connection.Active D-Bus interface
4161
4162         * src/nm-device-interface.c
4163                 - (impl_device_deactivate): remove
4164
4165         * src/nm-activation-request.c
4166           src/nm-activation-request.c
4167           src/Makefile.am
4168                 - Implement the Connection.Active D-Bus interface
4169
4170         * src/nm-manager.c
4171                 - (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
4172                 - (nm_manager_activate_device): return the active connection path
4173                 - (connection_added_default_handler, impl_manager_activate_connection):
4174                         return the active connection to the caller
4175                 - (add_one_connection_element, impl_manager_get_active_connections):
4176                         remove
4177                 - (impl_manager_deactivate_connection): new function; deactivate an
4178                         active connection
4179
4180         * libnm-glib/nm-device.c
4181           libnm-glib/nm-device.h
4182                 - Remove Deactivate() function
4183
4184 2008-03-19  Dan Williams  <dcbw@redhat.com>
4185
4186         * introspection/nm-manager.xml
4187           introspection/nm-manager-client.xml
4188                 - Rename the ActivateDevice method to ActivateConnection to better
4189                         reflect it's usage; it's arguments get reordered a bit too
4190                 - Convert GetActiveConnections method return from a struct to a dict
4191
4192         * include/NetworkManager.h
4193                 - Define the dict keys for return value of GetActiveConnections
4194
4195         * src/nm-manager.c
4196                 - impl_manager_activate_device -> impl_manager_activate_connection
4197                 - (add_one_connection_element): return a populated hash table, not
4198                         a structure
4199
4200         * libnm-glib/nm-client.c
4201           libnm-glib/nm-client.h
4202                 - nm_client_activate_device -> nm_client_activate_connection
4203                 - nm_client_free_active_connection_element -> nm_client_free_active_connections_element
4204                 - (nm_client_get_active_connections): return a GSList of GHashTables,
4205                         instead of the custom structures.  Each element of the returned list
4206                         must be freed with nm_client_free_active_connections_element()
4207
4208 2008-03-18  Dan Williams  <dcbw@redhat.com>
4209
4210         * system-settings/plugins/ifcfg-fedora/parser.c
4211           system-settings/plugins/ifcfg-fedora/parser.h
4212           system-settings/plugins/ifcfg-fedora/plugin.c
4213                 - Read settings from /etc/sysconfig/network-scripts/ instead of using
4214                         profiles.  DNS servers and searches must now be stored in the ifcfg
4215                         files themselves
4216
4217 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4218
4219         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
4220         print out username and password, it's supposed to be a secret.
4221
4222         * src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication 
4223         request and set the device state accordingly.
4224
4225 2008-03-18  Tambet Ingo  <tambet@gmail.com>
4226
4227         * src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.
4228
4229         * libnm-util/nm-setting-wireless-security.h: Fix a typo.
4230
4231 2008-03-18  Dan Williams  <dcbw@redhat.com>
4232
4233         * src/vpn-manager/nm-vpn-connection.c
4234                 - (get_secrets_cb): handle new GetSecrets return format
4235
4236 2008-03-18  Dan Williams  <dcbw@redhat.com>
4237
4238         Adapt system settings service for split 802.1x.
4239
4240         * system-settings/src/nm-system-config-interface.h
4241                 - clarify return value of get_secrets()
4242
4243         * system-settings/src/dbus-settings.c
4244                 - (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
4245                 - (check_for_secrets): check if there actually secrets returned by a
4246                         plugin
4247                 - (exported_connection_get_secrets): just return the plugin-returned
4248                         hash of settings' secrets if it looks valid
4249
4250         * system-settings/plugins/ifcfg-fedora/plugin.c
4251                 - (get_secrets): add split secrets with correct format to reply hash
4252
4253         * system-settings/plugins/ifcfg-fedora/parser.c
4254           system-settings/plugins/ifcfg-fedora/parser.h
4255                 - (copy_one_cdata_secret, connection_data_copy_secrets,
4256                    connection_data_free, connection_data_add): keep secrets for
4257                         different settings in different hashes
4258
4259 2008-03-17  Tambet Ingo  <tambet@gmail.com>
4260
4261         Clean up activating device deactivation.
4262
4263         * src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
4264         should be done whether the device activation gets cancelled or the device
4265         is just getting deactivated.
4266         (nm_device_activation_cancel): Remove.
4267         (nm_device_deactivate_quickly): Handle the case where device is activating.
4268
4269         * src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
4270         It does the exact same thing as real_deactivate_quickly().
4271
4272 2008-03-17  Dan Williams  <dcbw@redhat.com>
4273
4274         Split the 802.1x bits out of the wireless-security setting so they are
4275         generalized enough for wired 802.1x to use too.
4276
4277         * introspection/nm-exported-connection.xml
4278                 - GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
4279                         of just a hash of the secrets for one setting
4280
4281         * libnm-util/nm-setting-wireless-security.c
4282           libnm-util/nm-setting-wireless-security.h
4283                 - Remove 802.1x-specific stuff
4284                 - Added leap-username and leap-password properties for old-school LEAP
4285
4286         * src/nm-device.c
4287           src/nm-device.h
4288                 - (connection_secrets_updated_cb): take a list of updated settings names,
4289                         not just one
4290
4291         * src/supplicant-manager/nm-supplicant-config.c
4292           src/supplicant-manager/nm-supplicant-config.h
4293                 - (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
4294                         specific stuff; fix for updated LEAP bits; punt 802.1x stuff
4295                         to nm_supplicant_config_add_setting_8021x()
4296                 - (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
4297                         the supplicant config
4298
4299         * src/nm-device-802-11-wireless.c
4300                 - (build_supplicant_config): pass in the 802.1x setting too, if any
4301                 - (real_connection_secrets_updated): take a list of updated settings
4302                         names, not just one
4303
4304         * src/nm-device-802-3-ethernet.c
4305           src/nm-cdma-device.c
4306           src/nm-gsm-device.c
4307                 - (real_connection_secrets_updated_cb): take a list of updated settings
4308                         names, not just one
4309
4310         * src/nm-activation-request.c
4311           src/nm-activation-request.h
4312                 - (nm_act_request_class_init): the 'connection-secrets-updated' signal
4313                         now passes a list of updated settings names, not just one
4314                 - (update_one_setting): new function; handle one updated setting
4315                 - (get_secrets_cb): handle multiple settings returned from the
4316                         settings service; have to be careful of ordering here as there are
4317                         some dependencies between settings (ex. wireless-security and 802.1x
4318                         in some cases)
4319
4320         * src/marshallers/nm-marshal.list
4321                 - new marshaller for connection-secrets-updated signal
4322
4323         * libnm-util/nm-setting-8021x.c
4324                 - Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
4325                         methods
4326                 - (verify): a valid 'eap' property is now required
4327
4328         * libnm-util/nm-connection.c
4329                 - (register_default_settings): add priorities to settings; there are
4330                         some dependencies between settings, and during the need_secrets
4331                         calls this priority needs to be respected.  For example, only the
4332                         wireless-security setting knows whether or not the connection is
4333                         going to use 802.1x or now, so it must be asked for secrets before
4334                         any existing 802.1x setting is
4335                 - (nm_connection_lookup_setting_type): expose
4336
4337         * libnm-util/nm-setting-wireless.c
4338                 - (verify): should verify even if all_settings is NULL; otherwise won't
4339                         catch the case where there is missing security
4340
4341         * libnm-util/nm-setting-wireless-security.c
4342                 - Remove everything to do with 802.1x
4343                 - Add old-school LEAP specific properties for username and password
4344                 - (need_secrets): rework LEAP secrets checking
4345                 - (verify): rework for LEAP and 802.1x verification
4346
4347 2008-03-17  Dan Williams  <dcbw@redhat.com>
4348
4349         * src/NetworkManagerPolicy.c
4350                 - (auto_activate_device): always remove the current activation check
4351                         from the pending activation list, otherwise when the policy gets
4352                         destroyed on NM exit it will attempt to free the already freed
4353                         activation check
4354
4355 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4356
4357         * src/backends/NetworkManagerSlackware.c 
4358         (nm_system_device_setup_static_ip4_config): Remove, it's unused.
4359
4360         * src/backends/NetworkManagerSuSE.c: Add missing includes.
4361
4362 2008-03-14  Dan Williams  <dcbw@redhat.com>
4363
4364         * src/nm-manager.c
4365                 - (nm_device_interface_get_iface): g_object_get() will return an
4366                         allocated value, so this function must not return const
4367                 - (nm_device_interface_activate): free returned iface
4368
4369 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4370
4371         * libnm-util/Makefile.am: Add new files to build.
4372
4373         * libnm-util/nm-connection.c: Register NMSetting8021x.
4374
4375         * libnm-util/nm-setting-8021x.c
4376         * libnm-util/nm-setting-8021x.h: Implement.
4377
4378 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4379
4380         * libnm-util/Makefile.am: Add new files to build.
4381
4382         * libnm-util/nm-connection.c: Register NMSetting8021x.
4383
4384         * libnm-util/nm-setting-8021x.c
4385         * libnm-util/nm-setting-8021x.h: Implement.
4386
4387 2008-03-14  Tambet Ingo  <tambet@gmail.com>
4388
4389         * src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
4390         data.
4391
4392 2008-03-14  Dan Williams  <dcbw@redhat.com>
4393
4394         * include/wireless-helper.h
4395           include/Makefile.am
4396                 - One place for all the junk needed for #including wireless.h
4397
4398         * test/nm-tool.c
4399           src/NetworkManagerAP.c
4400           src/wpa.c
4401           src/Makefile.am
4402           libnm-util/nm-utils.c
4403           libnm-util/nm-setting-wireless.c
4404           libnm-glib/nm-device-802-11-wireless.c
4405           libnm-glib/nm-access-point.c
4406           libnm-glib/libnm-glib-test.c
4407                 - include wireless-helper.h, not iwlib.h
4408
4409         * configure.in
4410                 - Don't need libiw really, just need to check for wireless.h
4411
4412         * src/kernel-types.h
4413                 - Remove; used types moved into wpa.c
4414
4415         * src/nm-device-802-11-wireless.c
4416                 - (nm_device_802_11_wireless_update_signal_strength,
4417                    real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
4418                    nm_device_802_11_wireless_set_mode,
4419                    nm_device_802_11_wireless_get_frequency,
4420                    nm_device_802_11_wireless_get_ssid,
4421                    nm_device_802_11_wireless_set_ssid,
4422                    nm_device_802_11_wireless_get_bitrate,
4423                    nm_device_802_11_wireless_get_bssid,
4424                    nm_device_802_11_wireless_disable_encryption): use ioctl() directly
4425                         instead of iwlib functions
4426
4427 2008-03-14  Dan Williams  <dcbw@redhat.com>
4428
4429         * src/ppp-manager/nm-ppp-manager.c
4430                 - (impl_ppp_manager_need_secrets): since it's asynchronous now, it
4431                         should only take the DBusGMethodInvocation argument, not user/pass
4432                         too.  With dbus-glib, async functions only take 2 C arguments since
4433                         the real dbus method arguments get passed back with
4434                         dbus_g_method_return()
4435
4436 2008-03-13  Tambet Ingo  <tambet@gmail.com>
4437
4438         * system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes): 
4439         Adapt the changes of NMSettingIP4Config.
4440
4441 2008-03-13  Dan Williams  <dcbw@redhat.com>
4442
4443         * src/NetworkManagerUtils.c
4444           src/NetworkManagerUtils.h
4445                 - (nm_ether_ntop): replacement for iw_ether_ntop()
4446
4447         * src/NetworkManagerAP.c
4448           src/nm-device-802-11-wireless.c
4449           src/nm-device-802-3-ethernet.c
4450                 - s/iw_ether_ntop/nm_ether_ntop/g
4451
4452 2008-03-13  Dan Williams  <dcbw@redhat.com>
4453
4454         * src/NetworkManagerPolicy.c
4455                 - (update_routing_and_dns): never set the default route through an
4456                         IPv4LL addressed device
4457
4458 2008-03-13  Dan Williams  <dcbw@redhat.com>
4459
4460         * NetworkManagerUtils.c
4461           NetworkManagerUtils.h
4462                 - Remove NMSock stuff
4463                 - Remove the completion stuff
4464
4465         * nm-device.c
4466           nm-device.h
4467           NetworkManager.c
4468           NetworkManagerSystem.c
4469           autoip.c
4470           nm-device-802-11-wireless.c
4471           nm-device-802-3-ethernet.c
4472                 - Remove NMSock and completion stuff
4473                 - Remove nm_ioctl_info()
4474
4475 2008-03-12  Dan Williams  <dcbw@redhat.com>
4476
4477         * src/nm-device.c
4478                 - (merge_ip4_config): avoid duplicates
4479
4480 2008-03-12  Dan Williams  <dcbw@redhat.com>
4481
4482         * libnm-util/nm-setting-ip4-config.c
4483           libnm-util/nm-setting-ip4-config.h
4484                 - Remove 'manual' and 'autoip' properties
4485                 - Add 'method' property
4486                 - (verify): fix verification with 'method'
4487                 - (finalize): free 'method'
4488                 - (set_property, get_property, nm_setting_ip4_config_class_init): fix
4489                         up for 'method'
4490
4491         * src/nm-device.c
4492                 - (real_act_stage3_ip_config_start): check IP4Config method
4493                 - (nm_device_new_ip4_autoip_config): add a note about not sucking in
4494                         the future
4495                 - (merge_ip4_config): IP settings are valid with DHCP too
4496                 - (real_act_stage4_get_ip4_config): handle all IP4Config methods
4497                 - (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout
4498
4499         * src/nm-device-802-11-wireless.c
4500                 - (real_act_stage3_ip_config_start): remove; autoip only on demand
4501                 - (real_act_stage4_get_ip4_config): just chain up to parent; autoip
4502                         only on demand
4503
4504         * system-settings/plugins/ifcfg-fedora/parser.c
4505           system-settings/plugins/ifcfg-suse/parser.c
4506                 - (make_ip4_setting): fix up for 'method'
4507
4508 2008-03-12  Dan Williams  <dcbw@redhat.com>
4509
4510         * system-settings/plugins/ifcfg-fedora/parser.c
4511           system-settings/plugins/ifcfg-fedora/parser.h
4512                 - (get_ifcfg_name): ignore more file suffixes
4513                 - (is_wireless_device): fix check for ifcfgs that have no TYPE
4514
4515 2008-03-12  Dan Williams  <dcbw@redhat.com>
4516
4517         * configure.in
4518                 - Bring in the bits of gnome-common we actually use (all 15 lines)
4519
4520 2008-03-12  Dan Williams  <dcbw@redhat.com>
4521
4522         * system-settings/plugins/ifcfg-fedora/plugin.c
4523                 - (write_auto_wired_connection): new function; write out an auto
4524                         wired connection file since the applet isn't doing it any more
4525                 - (reload_all_connections): write out the auto wired connection file
4526                         if there aren't any wired connections already
4527                 - (init): don't leak a GError
4528
4529 2008-03-12  Dan Williams  <dcbw@redhat.com>
4530
4531         * src/nm-device-interface.c
4532                 - (nm_device_interface_activate): print the ID of the connection
4533                         that's about to be activated
4534
4535 2008-03-12  Dan Williams  <dcbw@redhat.com>
4536
4537         Harmonize the 802.11 bitrate API
4538
4539         * introspection/nm-access-point.xml
4540                 - 'Rate' -> 'MaxBitrate'; clarify units
4541
4542         * introspection/nm-device-802-11-wireless.xml
4543                 - Clarify units of 'Bitrate'
4544
4545         * src/NetworkManagerAP.c
4546           src/NetworkManagerAP.h
4547                 - (set_property, get_property, nm_ap_class_init): rename 'rate'
4548                         property to 'max-bitrate'
4549                 - (foreach_property_cb): convert rate to Kb/s
4550
4551         * src/nm-device-802-11-wireless.c
4552                 - (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s
4553
4554         * libnm-glib/nm-access-point.c
4555           libnm-glib/nm-access-point.h
4556                 - 'rate' -> 'max-bitrate'
4557
4558         * test/nm-tool.c
4559           libnm-glib/libnm-glib-test.c
4560                 - Fix up for these changes
4561
4562 2008-03-12  Dan Williams  <dcbw@redhat.com>
4563
4564         * src/nm-device.c
4565                 - (nm_device_set_ip4_config): don't send property notifications when
4566                         the ip4 config is set to NULL; it causes a PropertyChanged signal
4567                         which dbus-glib can't parse because the value is NULL, which isn't
4568                         a legal object path.  Setting the IP4 config to NULL is only
4569                         valid when deactivating a device anyway, so the device state change
4570                         will alert listeners that the ip4 config is invalid.
4571
4572 2008-03-12  Dan Williams  <dcbw@redhat.com>
4573
4574         * src/nm-properties-changed-signal.c
4575                 - (add_to_string): better handling of NULL objects
4576
4577 2008-03-12  Dan Williams  <dcbw@redhat.com>
4578
4579         Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
4580         convert the libnm-glib NMDevice8023Ethernet to cached properties
4581
4582         * introspection/nm-device-802-3-ethernet.xml
4583                 - New 'Carrier' property
4584                 - New 'PropertiesChanged' signal
4585
4586         * introspection/nm-device.xml
4587                 - Remove 'Carrier' property
4588                 - Remove 'CarrierChanged' signal
4589
4590         * src/nm-device-interface.c
4591           src/nm-device-interface.h
4592                 - (nm_device_interface_init): remove 'carrier' property and
4593                         'carrier-changed' signal
4594
4595         * src/nm-device.c
4596           src/nm-device.h
4597                 - (nm_device_get_carrier, nm_device_set_carrier): remove
4598                 - (nm_device_activate_stage5_ip_config_commit): don't bother updating
4599                         the link here; wired device will handle that
4600                 - (handle_dhcp_lease_change): don't bother updating link here
4601                 - (get_property, nm_device_class_init): remove carrier property
4602
4603         * src/nm-device-802-11-wireless.c
4604                 - (real_update_link, nm_device_802_11_wireless_class_init): remove
4605                         real_update_link(); wireless devices don't use carrier at all
4606                 - (link_timeout_cb, supplicant_iface_state_cb_handler,
4607                    supplicant_iface_connection_state_cb_handler,
4608                    supplicant_mgr_state_cb_handler): remove anything to do with carrier
4609
4610         * src/nm-device-802-3-ethernet.c
4611           src/nm-device-802-3-ethernet.h
4612                 - (nm_device_802_3_ethernet_carrier_on,
4613                    nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
4614                         instead of nm_device_set_carrier()
4615                 - (device_state_changed): update link from sysfs on activation;
4616                         replaces real_update_link()
4617                 - (real_update_link): remove, replaced by device_state_changed()
4618                 - (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
4619                 - (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
4620                 - (real_get_generic_capabilities, real_can_interrupt_activation): use
4621                         new get_carrier function
4622                 - (get_property): add 'carrier' property
4623                 - (nm_device_802_3_ethernet_class_init): add 'carrier' property and
4624                         hook into property-changed signal helper
4625
4626         * src/NetworkManagerPolicy.c
4627                 - (device_carrier_changed): will only ever be called with a wired device
4628                 - (device_added): only hook up to carrier-changed for wired devices
4629
4630         * libnm-glib/nm-device.c
4631           libnm-glib/nm-device.h
4632                 - (constructor, nm_device_class_init): remove carrier-changed signal
4633                 - (device_carrier_changed_proxy): remove; unused
4634                 - (nm_device_get_carrier): remove; carrier a property of wired devices
4635
4636         * libnm-glib/nm-device-802-3-ethernet.c
4637           libnm-glib/nm-device-802-3-ethernet.h
4638                 - Convert to cached properties like AP and Wireless objects
4639                 - (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
4640                         instead of a 'char *', return value should not be freed
4641                 - (nm_device_802_3_ethernet_get_carrier): return current carrier status
4642                 - (constructor): hook into properties-changed helper
4643                 - (set_property, get_property): new functions
4644                 - (nm_device_802_3_ethernet_class_init): export GObject properties
4645
4646         * test/nm-tool.c
4647                 - (detail_device): strdup the wired hardware address too since it's
4648                         cached now
4649
4650         * libnm-glib/libnm-glib-test.c
4651                 - (dump_wired): strdup the wired hardware address too since it's
4652                         cached now
4653
4654 2008-03-12  Dan Williams  <dcbw@redhat.com>
4655
4656         * libnm-util/nm-setting-ip4-config.c
4657           libnm-util/nm-setting-ip4-config.h
4658                 - (set_property, get_property, nm_setting_ip4_config_class_init): add
4659                         the 'autoip' property from the spec
4660
4661 2008-03-11  Dan Williams  <dcbw@redhat.com>
4662
4663         * src/backends/NetworkManagerGeneric.c
4664           src/backends/NetworkManagerGeneric.h
4665                 - (nm_generic_device_get_use_dhcp): remove
4666
4667 2008-03-11  Dan Williams  <dcbw@redhat.com>
4668
4669         * src/nm-device.c
4670                 - (nm_device_deactivate): don't need to munge DNS here; that gets done
4671                         already in nm_device_set_ip4_config()
4672                 - (handle_dhcp_lease_change): fail the device if setting the IP4Config
4673                         due to a DHCP rebind fails
4674                 - (nm_device_set_ip4_config): send property notifications when the
4675                         ip4 config changes
4676                 - (get_property): only report IP4Config property during valid states
4677
4678         * src/NetworkManagerPolicy.c
4679                 - (update_routing_and_dns): ignore devices that don't have an ip4
4680                         config; add parameter 'force_update' to allow callers to specify
4681                         that changes should be made even if the default device doesn't change
4682                 - (device_ip4_config_changed): update DNS and routing when the device's
4683                         IP4Config changes, like for DHCP updates
4684                 - (device_added): listen for ip4-config property changes
4685
4686 2008-03-11  Dan Williams  <dcbw@redhat.com>
4687
4688         Fix address handling as a result of DHCP rebind/renew/reboot.
4689
4690         * src/NetworkManagerSystem.c
4691                 - (check_one_address): delete an address if it doesn't match a given
4692                         one for the same interface
4693                 - (nm_system_device_set_from_ip4_config): don't flush the default route,
4694                         be smarter about flushing addresses (only flush ones that don't
4695                         match the one we're about to apply)
4696
4697         * src/backends/NetworkManagerDebian.c
4698           src/backends/NetworkManagerSuSE.c
4699           src/backends/NetworkManagerArch.c
4700           src/backends/NetworkManagerSlackware.c
4701           src/backends/NetworkManagerRedHat.c
4702           src/backends/NetworkManagerPaldo.c
4703           src/backends/NetworkManagerFrugalware.c
4704           src/backends/NetworkManagerGentoo.c
4705                 - (nm_system_delete_default_route): remove
4706
4707         * src/backends/NetworkManagerGeneric.c
4708           src/backends/NetworkManagerGeneric.h
4709                 - (nm_generic_enable_loopback): fix the loopback device label
4710                 - (nm_generic_delete_default_route): remove; no longer used
4711
4712 2008-03-11  Dan Williams  <dcbw@redhat.com>
4713
4714         * src/nm-device-interface.h
4715                 - Delimit property name words with '-', otherwise g_object_notify()
4716                         doesn't work the way we expect
4717
4718 2008-03-11  Tambet Ingo  <tambet@gmail.com>
4719
4720         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.
4721
4722 2008-03-11  Dan Williams  <dcbw@redhat.com>
4723
4724         * src/NetworkManagerPolicy.c
4725                 - (update_routing_and_dns): don't change anything if the default device
4726                         hasn't changed; print something out when switching the default route
4727                         and DNS
4728
4729 2008-03-10  Tambet Ingo  <tambet@gmail.com>
4730
4731         Implement PPPoE.
4732
4733         * src/ppp-manager/nm-ppp-manager.c (create_pppd_cmd_line): Use PPPoE service
4734         setting. Use "nic-$eth".
4735
4736         * src/NetworkManagerPolicy.c (auto_activate_device): Move the check of whether
4737         the device is activating here to fix a race condition.
4738
4739         * src/ppp-manager/nm-pppd-plugin.c (get_credentials): Implement.
4740
4741         * src/ppp-manager/nm-ppp-manager.c (impl_ppp_manager_need_secrets): Implement.
4742         (ppp_watch_cb): Emit a signal to notify pppd is not running anymore.
4743         (nm_ppp_manager_start): Take activation request instead of connection, we might
4744         need it for asking secrets.
4745         (nm_ppp_manager_update_secrets): Implement.
4746
4747         * src/nm-serial-device.c (real_act_stage2_config): Send activation request to
4748         ppp manager start. It might be needed for asking secrets.
4749
4750         * src/nm-device-802-3-ethernet.c (real_connection_secrets_updated): Implement.
4751         (ppp_state_changed): Handle pppd daemon disappearing.
4752         (pppoe_stage2_config): Send activation request to ppp manager start.
4753
4754         * libnm-util/nm-setting-pppoe.c (nm_setting_pppoe_class_init): Fix a typo.
4755
4756         * introspection/nm-ppp-manager.xml: Make NeedSecrets method async, return only
4757         username and password.
4758         
4759 2008-03-10  Dan Williams  <dcbw@redhat.com>
4760
4761         * src/nm-device.c
4762                 - (handle_dhcp_lease_change): apply an IP4 config to a device in
4763                         response to a DHCP lease change
4764                 - (dhcp_state_changed): handle DHCP lease changes while activated
4765                 - (nm_device_set_ip4_config): remove a previously set named config
4766                         when setting an ip4 config
4767
4768 2008-03-10  Dan Williams  <dcbw@redhat.com>
4769
4770         * src/nm-serial-device.c
4771                 - (nm_serial_device_send_command): report errno on error
4772                 - (get_reply_got_data): limit the size of the overall buffer
4773                 - (wait_for_reply_info_destroy): destroy result string
4774                 - (wait_for_reply_got_data): append received data to an overall buffer
4775                         until timeout, filled buffer, or error instead of keeping a per-call
4776                         buffer.  Some devices send data slowly enough that this function
4777                         gets called multiple times for the same command stream.
4778                 - (nm_serial_device_wait_for_reply): initialize overall buffer for
4779                         wait_for_reply_got_data() here
4780
4781 2008-03-10  Dan Williams  <dcbw@redhat.com>
4782
4783         * src/nm-cdma-device.c
4784                 - (do_dial, init_modem): handle errors from
4785                         nm_serial_device_send_command_string()
4786
4787         * src/nm-gsm-device.c
4788                 - (do_dial, manual_registration, automatic_registration_get_network,
4789                    automatic_registration, enter_pin, check_pin, init_modem): handle
4790                         errors from nm_serial_device_send_command_string()
4791
4792 2008-03-10  Dan Williams  <dcbw@redhat.com>
4793
4794         Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>
4795
4796         * src/named-manager/nm-named-manager.c
4797                 - (compute_searches): prefer searches before domains
4798                 - (compute_domain): new function
4799                 - (rewrite_resolv_conf): write out the 'domain' and 'searches' options
4800                 - (merge_one_ip4_config): if there are no searches in the source config,
4801                         merge domains of the source config into the target config
4802                 - (compute_nameservers): make formatting of resolv.conf a bit nicer
4803
4804 2008-03-10  Dan Williams  <dcbw@redhat.com>
4805
4806         * src/nm-serial-device.c
4807                 - (get_reply_got_data): clean up indentation, shrink serial buffer
4808                 - (wait_for_reply_got_data): try to handle slower serial devices where
4809                         the reply is broken up into multiple reads by concatenating replies
4810                         together until either an error is received or the search string is
4811                         found
4812
4813 2008-03-10  Dan Williams  <dcbw@redhat.com>
4814
4815         * src/nm-device.c
4816                 - (nm_device_bring_down): deactivate the device if it's activating too,
4817                         not just if it's already activated.  This makes sure that everything
4818                         from an association attempt is cleaned up (like DHCP for example)
4819
4820 2008-03-10  Dan Williams  <dcbw@redhat.com>
4821
4822         * src/nm-serial-device.c
4823                 - (config_fd): report error from TCSETA
4824                 - (nm_serial_device_open): fail when config_fd() fails
4825
4826 2008-03-10  Dan Williams  <dcbw@redhat.com>
4827
4828         * src/nm-ip4-config.c
4829                 - (nm_ip4_config_init): allocate searches list
4830                 - (finalize): free searches list
4831
4832 2008-03-09  Dan Williams  <dcbw@redhat.com>
4833
4834         Patch from Bas Zoetekouw <bas@debian.org>
4835
4836         * src/dhcp-manager/nm-dhcp-manager.c
4837                 - (nm_dhcp_manager_get_ip4_config): handle domain-search option too
4838
4839 2008-03-09  Dan Williams  <dcbw@redhat.com>
4840
4841         Patch from Bas Zoetekouw <bas@debian.org>
4842
4843         * src/nm-ip4-config.c
4844           src/nm-ip4-config.h
4845                 - (nm_ip4_config_add_search, nm_ip4_config_get_search,
4846                    nm_ip4_config_get_num_searches): add 'searches' as distinct from
4847                         domains.  'searches' is the correct way to store multiple search
4848                         domains, whereas 'domains' is really just supposed to store one
4849                         domain.  Some sites abuse the DHCP 'domain-name' option to push
4850                         search domains to the client.
4851                 - (nm_ip4_config_add_domain): group with related functions (my patch)
4852
4853 2008-03-09  Dan Williams  <dcbw@redhat.com>
4854
4855         * src/dhcp-manager/nm-dhcp-manager.c
4856                 - (dhclient_run): send interface-specific config files to dhclient
4857
4858 2008-03-07  Dan Williams  <dcbw@redhat.com>
4859
4860         * system-settings/plugins/ifcfg-fedora/parser.c
4861                 - (is_wireless_device): new function; test a device for wireless
4862                         extensions
4863                 - (parser_parse_file): if the ifcfg file doesn't have a TYPE tag,
4864                         test the device for wireless extensions to determine the type
4865
4866 2008-03-07  Dan Williams  <dcbw@redhat.com>
4867
4868         Change manager's StateChange signal to StateChanged for consistency.
4869
4870         * introspection/nm-manager.xml
4871                 - Add 'StateChanged' signal
4872                 - Move 'StateChange' down to the deprecated section
4873
4874         * src/nm-hal-manager.c
4875                 - (nm_hal_manager_new): connect to 'state-changed' instead
4876
4877         * src/NetworkManagerPolicy.c
4878                 - (nm_policy_new): connect to 'state-changed' instead
4879
4880         * src/nm-manager.c
4881           src/nm-manager.h
4882                 - (nm_manager_update_state): emit both 'state-changed' and 'state-change'
4883                 - (nm_manager_class_init): add 'state-changed' and not the deprecation
4884                         of 'state-change'
4885
4886         * libnm-glib/nm-client.c
4887           libnm-glib/nm-client.h
4888                 - (constructor, nm_client_class_init, client_state_changed_proxy):
4889                         track and proxy 'state-changed' instead of 'state-change'
4890
4891 2008-03-07  Dan Williams  <dcbw@redhat.com>
4892
4893         First pass of multiple active device support.  Expect bugs.
4894
4895         * src/nm-ip4-config.c
4896           src/nm-ip4-config.h
4897                 - (nm_ip4_config_get_secondary, nm_ip4_config_set_secondary): remove;
4898                         there are better ways to do this in the named manager
4899
4900         * src/nm-device.c
4901           src/nm-device.h
4902                 - (nm_device_can_activate): return whether the device can activate a
4903                         connection right now; taking into account things like carrier state
4904                         and rfkill state
4905                 - (nm_device_get_best_auto_connection): renamed from
4906                         nm_device_get_best_connection
4907                 - (real_act_stage4_get_ip4_config): MTU stuff is now handled in the
4908                         device subclasses themselves, so that each device can override the
4909                         MTU from it's NMSetting subclass if needed
4910                 - (nm_device_set_ip4_config): set MTU when setting up routes and stuff
4911                         in NetworkManagerSystem.c, not here
4912
4913         * src/named-manager/nm-named-manager.c
4914           src/named-manager/nm-named-manager.h
4915                 - (nm_named_manager_name_owner_changed,
4916                    nm_named_manager_dbus_connection_changed): fix for changes to
4917                         rewrite_resolv_conf()
4918                 - (compute_nameservers): don't need the NMNamedManager at all, remove
4919                         from parameter list
4920                 - (merge_one_ip4_config): new function; merge ip4 configs together
4921                 - (rewrite_resolv_conf): write out resolv.conf from all the stored
4922                         ip4 configs; the VPN config takes precedence, then the best
4923                         device config, then the rest of the configs
4924                 - (get_domain_for_config): take the NMNamedManager as an argument
4925                         to check whether the config is the VPN config
4926                 - (add_ip4_config_to_named): fixups for removal of the 'secondary'
4927                         attribute from ip4 configs
4928                 - (add_all_ip4_configs_to_named): add all the configs in priority order
4929                 - (remove_ip4_config_from_named): fix for changes to
4930                         get_domain_for_config()
4931                 - (nm_named_manager_add_ip4_config): assign the config to the right slot
4932                         based on its type; callers must pass in the type now
4933                 - (get_last_default_domain): remove, unused
4934                 - (nm_named_manager_remove_ip4_config): handle config slots correctly
4935
4936         * src/nm-device-802-11-wireless.c
4937                 - (real_can_activate): new function
4938                 - (real_get_best_auto_connection): renamed from real_get_best_connection
4939                 - (real_act_stage4_get_ip4_config): handle MTU override
4940
4941         * src/nm-device-802-3-ethernet.c
4942                 - (real_can_activate): new function
4943                 - (real_get_best_auto_connection): renamed from real_get_best_connection
4944                 - (real_act_stage4_get_ip4_config): new function; handle MTU override
4945
4946         * src/vpn-manager/nm-vpn-connection.c
4947                 - (nm_vpn_connection_ip4_config_get): don't need to set the 'secondary'
4948                         attribute on the ip4 config
4949
4950         * src/NetworkManagerPolicy.c
4951                 - (nm_policy_auto_get_best_device): remove
4952                 - (nm_policy_device_change_check): remove
4953                 - (update_default_route): new function; set the default route via
4954                         the specified device
4955                 - (get_device_priority): new function; return the priority number of
4956                         a device type WRT which one should have the default route.  Order is
4957                         (highest to lowest)  wired, wireless, GSM, CDMA.
4958                 - (update_routing_and_dns): new function; determine which device should
4959                         have the default route, then update the routing table and DNS
4960                 - (maybe_auto_activate_device): new function; if a device is now
4961                         available for activation, find out what connection it would like to
4962                         activate and do it
4963                 - (schedule_activate_check): new function; if a device can be activated
4964                         now, schedule the activation.  Each device may have only one
4965                         pending activation at a given time.
4966                 - (device_state_changed): if activation was canceled, try again,
4967                         possibly with another connection; if the device was activated,
4968                         update routing and DNS; if the device was deactivated, try again
4969                         with another connection
4970                 - (device_carrier_changed): if there is no carrier, deactivate the
4971                         device; otherwise schedule an activation check for the device
4972                 - (wireless_networks_changed): schedule an activation check for the
4973                         device
4974                 - (device_added): keep track of the signal handler IDs so they can
4975                         be removed when the device goes away
4976                 - (device_removed): remove any signal handlers that might be attached
4977                         to the device; update routing and DNS
4978                 - (schedule_activate_all): new function
4979                 - (connections_added, connection_added, connection_updated): when
4980                         connections change, schedule all devices for an activation check
4981                 - (connection_removed): when a device is deactivated because its
4982                         connection was removed, schedule another activation check for it
4983                 - (nm_policy_destroy): destroy pending activations and disconnect
4984                         all device signal handlers
4985
4986         * src/nm-manager.c
4987                 - (nm_manager_activate_device): if the device was already actived,
4988                         deactivate it
4989                 - (deactivate_old_device): remove
4990                 - (connection_added_default_handler, impl_manager_activate_device):
4991                         don't deactivate other devices when activating this one
4992
4993         * src/backends/NetworkManagerGentoo.c
4994           src/backends/NetworkManagerFrugalware.c
4995           src/backends/NetworkManagerPaldo.c
4996           src/backends/NetworkManagerRedHat.c
4997           src/backends/NetworkManagerSlackware.c
4998           src/backends/NetworkManagerArch.c
4999           src/backends/NetworkManagerSuSE.c
5000           src/backends/NetworkManagerDebian.c
5001                 - (nm_system_get_mtu): remove; MTU should be provided through the
5002                         distro's system settings service plugin instead
5003                 - (nm_system_device_add_default_route_via_device): remove
5004                 - (nm_system_device_add_default_route_via_device_with_iface): remove
5005                 - (nm_system_device_replace_default_route): new function; call
5006                         generic implementation
5007
5008         * src/backends/NetworkManagerGeneric.c
5009           src/backends/NetworkManagerGeneric.h
5010                 - (nm_generic_device_add_default_route_via_device,
5011                    nm_generic_device_add_default_route_via_device_with_iface): remove
5012                 - (nm_generic_device_replace_default_route): replace the default route
5013                         with the given route via some gateway
5014
5015         * src/NetworkManagerSystem.c
5016           src/NetworkManagerSystem.h
5017                 - (nm_system_device_set_from_ip4_config): let the policy handle updates
5018                         to routing and DNS; but set the MTU here
5019                 - (nm_system_vpn_device_set_from_ip4_config): set the route with the
5020                         ip_iface of the active device; use the standard MTU setting function
5021                 - (nm_system_set_mtu): remove
5022                 - (nm_system_device_set_mtu): consolidate MTU setting code in one place
5023
5024 2008-03-07  Tambet Ingo  <tambet@gmail.com>
5025
5026         Rework the interaction between ppp manager and pppd plugin. Register a well
5027         known DBUS service in manager and let the plugin call it's methods instead
5028         of listening plugin's signals.
5029
5030         * src/ppp-manager/nm-pppd-plugin.c: Call ppp-manager dbus methods instead
5031         of emitting signals.
5032
5033         * src/ppp-manager/nm-ppp-manager.c: Implement dbus service here.
5034
5035         * src/ppp-manager/Makefile.am: Build nm-ppp-manager-glue.h.
5036
5037         * src/nm-serial-device.c (real_act_stage2_config): Pass NMConnection to
5038         nm_ppp_manager_start().
5039
5040         * introspection/nm-ppp-manager.xml: New file.
5041
5042         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_get_speed): Handle
5043         the case correctly where driver is trying to send -1 for the speed, which gets
5044         casted to u16 and thus is always > 0.
5045
5046 2008-03-07  Dan Williams  <dcbw@redhat.com>
5047
5048         * src/nm-hal-manager.c
5049                 - (nm_get_device_driver_name): use net.originating_device first, fall
5050                         back to physical device.  HAL has deprecated physical_device.
5051
5052         * libnm-glib/nm-device.c
5053                 - (get_product_and_vendor): use net.originating_device first, fall
5054                         back to physical device.  HAL has deprecated physical_device.
5055                 - (nm_device_update_description): s/physical_device_udi/orig_dev_udi
5056
5057 2008-03-07  Dan Williams  <dcbw@redhat.com>
5058
5059         * src/nm-netlink.c
5060                 - (nm_netlink_get_default_handle): mistakenly removed too much code in
5061                         last commit; fix that
5062                 - (get_link_cache): print error string
5063
5064 2008-03-07  Dan Williams  <dcbw@redhat.com>
5065
5066         * src/nm-netlink.c
5067                 - (nm_netlink_get_default_handle): NMNetlinkMonitor now uses libnl,
5068                         don't need this hack any more (Benoit Boissinot)
5069
5070 2008-03-06  Dan Williams  <dcbw@redhat.com>
5071
5072         * autogen.sh
5073                 - Die gnome-common, die
5074
5075 2008-03-04  Dan Williams  <dcbw@redhat.com>
5076
5077         Patch from Michael Biebl <biebl@debian.org>
5078
5079         * NetworkManager.pc.in
5080                 - doesn't actually depend on dbus-1
5081
5082         * libnm-util/nm-utils.h
5083                 - remove unused #include <dbus/dbus.h>
5084
5085         * libnm-glib/libnm_glib.pc.in
5086                 - depends on glib and dbus-glib
5087
5088 2008-03-02  Dan Williams  <dcbw@redhat.com>
5089
5090         * src/NetworkManagerPolicy.c
5091                 - s/device_state_changed_idle_id/update_state_id/
5092
5093 2008-03-02  Dan Williams  <dcbw@redhat.com>
5094
5095         * src/nm-device.c
5096           src/nm-device.h
5097           src/nm-device-802-11-wireless.c
5098           src/nm-device-802-3-ethernet.c
5099           src/NetworkManagerPolicy.c
5100                 - s/link_active/carrier
5101                 - nm_device_set_active_link() -> nm_device_set_carrier()
5102                 - nm_device_has_active_link() -> nm_device_get_carrier()
5103
5104 2008-03-02  Dan Williams  <dcbw@redhat.com>
5105
5106         * system-settings/plugins/ifcfg-fedora/parser.c
5107                 - (make_wireless_setting): fail connection creation on missing SSID
5108
5109 2008-02-29  Dan Williams  <dcbw@redhat.com>
5110
5111         * src/NetworkManagerPolicy.c
5112                 - (nm_policy_device_change_check): ensure that a previously active
5113                         device with a system connection has a link before denying a switch
5114                         to a user connection
5115
5116 2008-02-29  Dan Williams  <dcbw@redhat.com>
5117
5118         * src/nm-device-802-11-wireless.c
5119                 - (link_timeout_cb): try again if scanning; deactivate the device when
5120                         activated if the link dies
5121                 - (supplicant_iface_connection_state_cb_handler): bump link timeout to
5122                         15 seconds
5123
5124 2008-02-29  Dan Williams  <dcbw@redhat.com>
5125
5126         * src/nm-device-802-11-wireless.c
5127           src/nm-device-802-11-wireless.h
5128                 - (nm_device_802_11_wireless_reset_scan_interval): remove, unused
5129                         elsewhere; fold into the sole user in nm-device-802-11-wireless.c
5130                 - (device_cleanup): reset the scan interval lower when the device
5131                         deactivates
5132                 - (can_scan): base decision mostly off device state, not supplicant
5133                         interface state since the supplicant interface state isn't a
5134                         great indicator of whether the device is active or not
5135                 - (request_wireless_scan): clean up; schedule the next scan here
5136                 - (schedule_scan): only back the scan interval off if a new scan
5137                         actually gets scheduled; and make scan intervals tighter when the
5138                         device is disconnected
5139                 - (supplicant_iface_state_cb_handler): fold in the bits of
5140                         nm_device_802_11_wireless_reset_scan_interval() by resetting scan
5141                         interval to minimum
5142                 - (activation_success_handler): reset scan interval to something
5143                         reasonable 
5144
5145 2008-02-28  Saleem Abdulrasool  <compnerd@compnerd.org>
5146
5147         reviewed by: Steev <steev@steev.net>
5148
5149         * configure.in:
5150         * src/backends/NetworkManagerGentoo.c:
5151         (nm_system_restart_mdns_responder):
5152                 Howl is no longer a supported mDNS provider
5153
5154 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5155
5156         Get rid of a bunch of unused distro specific functions.
5157
5158 2008-02-28  Tambet Ingo  <tambet@gmail.com>
5159
5160         Implement suse plugin for system settings daemon.
5161
5162         * system-settings/plugins/ifcfg-suse/*: Implement.
5163
5164         * system-settings/plugins/Makefile.am: Add ifcfg-suse to subdirs when targeting
5165         suse.
5166
5167         * configure.in: Check (without failing) for gio.
5168         Create ifcfg-suse plugin's Makefile.
5169
5170 2008-02-20  Dan Williams  <dcbw@redhat.com>
5171
5172         * libnm-util/nm-connection.c
5173           libnm-util/nm-connection.h
5174                 - (nm_connection_compare): accept compare flags and pass them to the
5175                         setting compare function
5176
5177         * libnm-util/nm-setting.c
5178           libnm-util/nm-setting.h
5179                 - (nm_setting_compare): accept compare flags; ignore properties that are
5180                         marked fuzzy
5181
5182         * libnm-util/nm-setting-connection.c
5183           libnm-util/nm-setting-wireless.c
5184           libnm-util/nm-setting-ppp.c
5185           libnm-util/nm-setting-wired.c
5186                 - Mark some setting properties as ignorable when doing a fuzzy compare
5187
5188         * src/nm-device.c
5189                 - (device_activation_precheck): use exact compare
5190
5191 2008-02-20  Dan Williams  <dcbw@redhat.com>
5192
5193         * src/NetworkManagerPolicy.c
5194                 - (nm_policy_device_change_check): get scope off the connection, not
5195                         using the manager helper
5196
5197         * src/nm-manager.c
5198           src/nm-manager.h
5199                 - (get_scope_for_proxy): rename from get_type_for_proxy()
5200                 - (connection_get_settings_cb): set scope and path on connection, not
5201                         using GObject data items
5202                 - (get_connection_for_proxy): don't need to return path, since that
5203                         can be gotten from the connection
5204                 - (get_connection_for_proxy): get path off the connection, not from
5205                         parameters
5206                 - (connection_removed_cb, connection_updated_cb): don't need to get
5207                         path from get_connection_for_proxy(); get scope off the connection
5208                         instead of using GObject data items
5209                 - (connection_added_default_handler, add_one_connection_element): use
5210                         nm_connection_get_path() not nm_manager_get_connection_dbus_path()
5211                 - (nm_manager_get_connection_dbus_path): remove
5212                 - (nm_manager_get_connection_scope): remove
5213
5214 2008-02-20  Dan Williams  <dcbw@redhat.com>
5215
5216         * Global rename of NMConnectionSettings -> NMExportedConnection to cut down
5217                 on confusing names
5218
5219         * Add 'path' and 'scope' properties to NMConnection since both NM and the
5220                 applet were having to hack this in anyway.  Remove the 'path' stuff from
5221                 NMExportedConnection
5222
5223         * Internally rename NMConnectionType -> NMConnectionScope
5224
5225         * Provide default implementations of the 'get_id' and 'get_settings' methods
5226                 of NMExportedConnection
5227
5228 2008-02-15  Dan Williams  <dcbw@redhat.com>
5229
5230         * src/nm-device-802-11-wireless.c
5231                 - (device_cleanup): release the AP list here too so that the AP list
5232                         doesn't survive across suspend/resume and up/down.  There is some
5233                         room for optimization, for example blow the list away when the card
5234                         brought back up, but only if the device has only been down for a
5235                         minute or more.
5236
5237 2008-02-15  Dan Williams  <dcbw@redhat.com>
5238
5239         * src/nm-hal-manager.c
5240                 - (modem_device_creator): recognize new HAL modem capabilities
5241
5242 2008-02-12  Dan Williams  <dcbw@redhat.com>
5243
5244         * system-settings/plugins/ifcfg-fedora/plugin.c
5245                 - (watch_path): handle IN_DELETE_SELF too
5246                 - (handle_connection_changed): notify when removing a connection
5247                 - (stuff_changed): don't warn on unknown inotify watches; handle the
5248                         case of a file moving out of the profile directory
5249
5250 2008-02-12  Dan Williams  <dcbw@redhat.com>
5251
5252         * system-settings/plugins/ifcfg-fedora/parser.c
5253                 - (make_ip4_setting): bring IPv4 setting handling more up to spec
5254
5255 2008-02-12  Dan Williams  <dcbw@redhat.com>
5256
5257         * libnm-util/nm-utils.c
5258                 - (nm_utils_convert_uint_array_to_string): don't die on NULL array, it's
5259                         just any empty array
5260
5261 2008-02-12  Dan Williams  <dcbw@redhat.com>
5262
5263         * system-settings/src/nm-system-config-interface.c
5264           system-settings/src/nm-system-config-interface.h
5265                 - (load_connections): get_connections() should now return an allocated
5266                         GSList that the system settings service will free
5267
5268         * system-settings/plugins/ifcfg-fedora/plugin.c
5269           system-settings/plugins/ifcfg-fedora/parser.h
5270           system-settings/plugins/ifcfg-fedora/parser.c
5271                 - Fix up inotify issues; handle keys-* files, handle new files appearing
5272                         in the profile directory, handle resolv.conf file changes
5273
5274 2008-02-10  Dan Williams  <dcbw@redhat.com>
5275
5276         * src/nm-device-802-3-ethernet.c
5277                 - (real_bring_up): save the supplicant interface state signal id
5278                 - (real_bring_down): disconnect from the supplicant interface state
5279                         signal
5280
5281 2008-02-07  Dan Williams  <dcbw@redhat.com>
5282
5283         * initscript/RedHat/NetworkManager.in
5284           initscript/RedHat/NetworkManagerDispatcher.in
5285                 - Add new-style LSB init headers
5286
5287 2008-02-07  Dan Williams  <dcbw@redhat.com>
5288
5289         * system-settings/src/dbus-settings.c
5290           system-settings/src/dbus-settings.h
5291                 - (add_one_secret_to_hash): copy secrets out of the plugin-returned hash
5292                         table of secrets
5293                 - (connection_settings_get_secrets): consolidate error returns into
5294                         one place; use the new get_secrets() plugin interface function to
5295                         get secrets from the plugin itself rather than using GObject data
5296                         magic
5297
5298         * system-settings/src/main.c
5299                 - (connection_added_cb, connection_removed_cb, free_plugin_connections,
5300                    load_connections): keep a private list of the plugin-returned
5301                         connections, don't use the plugin's GSList
5302
5303         * system-settings/plugins/ifcfg-fedora/plugin.c
5304                 - (watch_path): watch the path, not the filename (duh)
5305                 - (reload_all_connections): use the direct hash/equal functions; the
5306                         ones for int aren't appropriate here
5307                 - (get_secrets, system_config_interface_init): implement the
5308                         get_secrets() function
5309                 - (build_one_connection, find_connection_by_path): ifcfg file path is
5310                         now in the connection's ConnectionData instead of being a GObject
5311                         data property
5312                 - (handle_profile_item_changed): ifcfg file path is now in the
5313                         connection's ConnectionData instead of being a GObject data property;
5314                         be sure to copy secrets over from the new connection to the existing
5315                         connection when updating the connection's settings
5316                 - (init): sc_plugin_inotify_init() returns success/fail, not the inotify
5317                         file descriptor
5318
5319         * system-settings/plugins/ifcfg-fedora/parser.c
5320           system-settings/plugins/ifcfg-fedora/parser.h
5321                 - (connection_data_get, copy_one_cdata_secret, clear_one_cdata_secret,
5322                    connection_data_copy_secrets, connection_data_free,
5323                    connection_data_add): new functions; connection data manipulation
5324                 - (make_wireless_security_setting): stuff secrets into the
5325                         connection data, not as GObject data items; make sure to close
5326                         the keys ifcfg file
5327                 - (wireless_connection_from_ifcfg, wired_connection_from_ifcfg): add
5328                         connection data to the connection
5329
5330 2008-02-07  Dan Williams  <dcbw@redhat.com>
5331
5332         * system-settings/src/nm-system-config-interface.c
5333           system-settings/src/nm-system-config-interface.h
5334                 - Add a get_secrets() interface function to retrieve secrets for a
5335                         specific setting of a specific connection.  Document the interface
5336                         a bit more too.
5337
5338 2008-02-07  Dan Williams  <dcbw@redhat.com>
5339
5340         * src/nm-device-802-11-wireless.c
5341                 - (handle_auth_or_fail): new function; consolidate device activation
5342                         failure check after a certain number of failures getting secrets
5343                 - (supplicant_connection_timeout_cb, real_act_stage2_config,
5344                    real_act_stage4_ip_config_timeout): use handle_auth_or_fail() to fail
5345                         the connection if secrets were requested more than a few times
5346                 - (real_act_stage3_ip_config_start): don't clear the wireless secrets
5347                         tries here; otherwise they are cleared before the IP configure
5348                         timeout, which happens with open system WEP when key is wrong
5349                 - (activation_success_handler): clear wireless secrets tries here too
5350
5351 2008-02-07  Dan Williams  <dcbw@redhat.com>
5352
5353         * src/NetworkManagerPolicy.c
5354                 - (connection_updated): clear invalid tag when connection gets updated
5355                         to allow that connection to be tried again
5356                 - (nm_policy_new): save signal ids so they can be disconnected when
5357                         the policy is destroyed
5358                 - (nm_policy_destroy): stop any in-progress state change idle handler,
5359                         and disconnect all signals from the manager object so that none
5360                         of the policy functions gets called after the policy is destroyed
5361
5362 2008-02-06  Dan Williams  <dcbw@redhat.com>
5363
5364         * src/nm-manager.c
5365                 - (finalize): remove devices a bit earlier; clean up system settings
5366                         poke
5367                 - (nm_manager_name_owner_changed): clean up system settings poke when
5368                         the service appears, and try to restart it if it fails
5369                 - (poke_system_settings_daemon_cb): try to get the system settings
5370                         service started through D-Bus service activation
5371                 - (initial_get_connections): start the system settings daemon if it's
5372                         not already running
5373
5374 2008-02-05  Dan Williams  <dcbw@redhat.com>
5375
5376         * src/supplicant-manager/nm-supplicant-config.c
5377                 - (nm_supplicant_config_add_setting_wireless): send scan_ssid=1 for
5378                         broadcast networks too
5379
5380 2008-02-04  Dan Williams  <dcbw@redhat.com>
5381
5382         * system-settings/plugins/ifcfg-fedora/parser.c
5383                 - (make_wireless_security_setting): fix spelling; unencrypted networks
5384                         need key_mgmt set too
5385                 - (parser_parse_file): validate ifcfg file name and don't try to parse
5386                         .bak files; ensure that an error is set whenever NULL gets returned
5387
5388 2008-02-04  Dan Williams  <dcbw@redhat.com>
5389
5390         * system-settings/src/Makefile.am
5391                 - Install D-Bus service activation file for the system settings
5392                         service
5393
5394         * system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service
5395                 - D-Bus service activation file for system settings service
5396
5397 2008-02-04  Dan Williams  <dcbw@redhat.com>
5398
5399         * system-settings/src/main.c
5400                 - (parse_config_file): parse a config file
5401                 - (main): accept --config option and read plugins from config file
5402
5403 2008-02-04  Dan Williams  <dcbw@redhat.com>
5404
5405         * system-settings/plugins/ifcfg-fedora/plugin.c
5406                 - Change reported name to 'ifcfg-fedora'
5407                 - Use IFCFG_PLUGIN_NAME
5408
5409         * system-settings/plugins/ifcfg-fedora/plugin.c
5410                 - Remove PLUGIN_NAME, use IFCFG_PLUGIN_NAME instead
5411
5412 2008-02-04  Dan Williams  <dcbw@redhat.com>
5413
5414         * system-settings/plugins/ifcfg-fedora/parser.c
5415                 - (get_ifcfg_name): new function; factor out ifcfg name finding code
5416                 - (make_connection_setting): use get_ifcfg_name()
5417                 - (make_wireless_security_setting): handle shadow key files
5418                 - (get_one_wep_key): treat empty string as NULL
5419
5420 2008-02-04  Dan Williams  <dcbw@redhat.com>
5421
5422         * src/supplicant-manager/nm-supplicant-manager.c
5423                 - (poke_supplicant_cb): reschedule the poke as a timeout, don't let
5424                         glib automatically reschedule
5425                 - (nm_supplicant_manager_init): immediately try to start the supplicant
5426                 - (nm_supplicant_manager_name_owner_changed): immediately try to restart
5427                         the supplicant
5428
5429 2008-02-01  Dan Williams  <dcbw@redhat.com>
5430
5431         * src/NetworkManagerPolicy.c
5432                 - (device_state_changed): schedule a change check when a device gets
5433                         deactivated so something happens if you disconnect GSM/CDMA
5434
5435 2008-01-31  Dan Williams  <dcbw@redhat.com>
5436
5437         * src/nm-device-802-11-wireless.h
5438           src/nm-device-802-11-wireless.c
5439                 - (ap_list_get_ap_by_ssid, is_associated,
5440                    nm_device_802_11_wireless_ap_list_get_ap_by_ssid,
5441                    nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): remove
5442                 - (nm_device_802_11_wireless_get_activation_ap): collapse
5443                         nm_device_802_11_wireless_ap_list_get_ap_by_obj_path() into this
5444                         function
5445
5446 2008-01-30  Dan Williams  <dcbw@redhat.com>
5447
5448         * system-settings/plugins/ifcfg
5449         * system-settings/plugins/ifcfg-fedora
5450                 - Move the ifcfg plugin to ifcfg-fedora
5451
5452 2008-01-24  Dan Williams  <dcbw@redhat.com>
5453
5454         * libnm-glib/nm-device-802-11-wireless.c
5455                 - (get_access_point): move the "/" check here; check for invalid path
5456                         too
5457                 - (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
5458                         to get_access_point()
5459                 - (access_point_added_proxy, access_point_removed_proxy): don't try
5460                         to send signals for non-existent access points
5461
5462 2008-01-24  Dan Williams  <dcbw@redhat.com>
5463
5464         * libnm-glib/nm-device-802-11-wireless.c
5465                 - (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP
5466
5467 2008-01-23  Dan Williams  <dcbw@redhat.com>
5468
5469         * libnm-glib/libnm_glib.c
5470                 - (libnm_glib_init): make thread joinable
5471                 - (libnm_glib_ctx_free): join thread on exit to clean up memory
5472
5473 2008-01-23  Dan Williams  <dcbw@redhat.com>
5474
5475         * test/libnm_glib_test.c
5476                 - (signal_handler, setup_signals): trap SIGINT and SIGTERM
5477                 - (main): set up signal handlers; call libnm_glib_shutdown
5478
5479 2008-01-21  Dan Williams  <dcbw@redhat.com>
5480
5481         * include/NetworkManager.h
5482                 - Add CDMA mobile broadband card device type
5483
5484         * src/nm-hal-manager.c
5485                 - (modem_device_creator): handle both CDMA and GSM modems; the device
5486                         must now be tagged with 'cdma' or 'gsm' capability
5487
5488         * src/nm-cdma-device.c
5489           src/nm-cdma-device.h
5490           src/Makefile.am
5491                 - Add the CDMA mobile broadband card device class
5492
5493         * libnm-util/nm-connection.c
5494                 - (register_default_settings): add NMSettingCdma
5495
5496         * libnm-util/nm-setting-cdma.c
5497           libnm-util/nm-setting-cdma.h
5498           libnm-util/Makefile.am
5499                 - Add the CDMA mobile broadband card setting class
5500
5501         * libnm-glib/nm-cdma-device.c
5502           libnm-glib/nm-cdma-device.h
5503           libnm-glib/Makefile.am
5504                 - Add the CDMA mobile broadband card GLib proxy class
5505
5506         * libnm-glib/nm-client.c
5507                 - (get_device): handle CDMA devices too
5508
5509 2008-01-21  Dan Williams  <dcbw@redhat.com>
5510
5511         * src/ppp-manager/nm-ppp-manager.c
5512                 - (ip4_config_get): set peer address too
5513
5514         * src/ppp-manager/nm-pppd-plugin.c
5515                 - (nm_ip_up): try harder to get the peer's address
5516
5517         * src/NetworkManagerSystem.c
5518                 - (nm_system_device_set_from_ip4_config): if the IP4Config has a peer
5519                         address, use that too.  Otherwise, some PPP connections won't work.
5520
5521 2008-01-19  Dan Williams  <dcbw@redhat.com>
5522
5523         * src/NetworkManagerPolicy.c
5524                 - (nm_policy_device_change_check): system connections override user
5525                         connections; don't activate a user connection if there's a currently
5526                         active system connection, and new, better system connections always
5527                         interrupt user connections
5528
5529 2008-01-19  Dan Williams  <dcbw@redhat.com>
5530
5531         * src/nm-manager.h
5532                 - (nm_manager_get_connection_type): new function
5533
5534 2008-01-19  Dan Williams  <dcbw@redhat.com>
5535
5536         * src/nm-device-802-11-wireless.c
5537                 - (real_get_best_connection): collapse find_best_connection() into this
5538                         function
5539
5540 2008-01-19  Dan Williams  <dcbw@redhat.com>
5541
5542         * src/nm-device-802-3-ethernet.c
5543                 - (real_get_best_connection): collapse find_best_connection() into this
5544                         function
5545
5546 2008-01-18  Dan Williams  <dcbw@redhat.com>
5547
5548         * src/nm-device-802-3-ethernet.c
5549                 - (find_best_connection): check MAC address too
5550                 - (real_get_best_connection): let autoconnect=True connections activate
5551                         for devices that don't have carrier detection
5552
5553         * src/nm-device-802-11-wireless.c
5554                 - (find_best_connection): check MAC address too
5555
5556 2008-01-18  Dan Williams  <dcbw@redhat.com>
5557
5558         * system-settings/plugins/ifcfg/parser.c
5559                 - (make_connection_setting): interpret ON_BOOT=y as 'autoconnect=True'
5560
5561 2008-01-17  Dan Williams  <dcbw@redhat.com>
5562
5563         * src/nm-device-802-3-ethernet.c
5564                 - (nm_device_802_3_ethernet_carrier_on,
5565                    nm_device_802_3_ethernet_carrier_off): ignore any spurious netlink
5566                         carrier events that might come in for devices that don't support
5567                         carrier detect
5568
5569 2008-01-17  Dan Williams  <dcbw@redhat.com>
5570
5571         * src/nm-device-interface.c
5572                 - (nm_device_interface_check_connection_conflicts): need to actually
5573                         get the interface, not cast to the object
5574
5575         * src/nm-device.c
5576                 - (nm_device_check_connection_conflicts): need to get the device class,
5577                         not cast the device to the device class
5578
5579 2008-01-17  Dan Williams  <dcbw@redhat.com>
5580
5581         * src/nm-device-802-11-wireless.c
5582                 - (real_check_connection_conflicts): ignore connections that aren't
5583                         wireless connections
5584
5585 2008-01-17  Dan Williams  <dcbw@redhat.com>
5586
5587         * src/NetworkManagerPolicy.c
5588                 - (nm_policy_device_change_check): clear change check idle here
5589                 - (device_change_check_done): remove
5590                 - (schedule_change_check): simplify
5591
5592 2008-01-17  Dan Williams  <dcbw@redhat.com>
5593
5594         * src/nm-manager.c
5595                 - (check_connection_allowed): take an NMDeviceInterface instead of
5596                         an NMDevice object as an argument
5597                 - (nm_manager_activate_device): pass an NMDeviceInterface to
5598                         check_connection_allowed()
5599
5600 2008-01-13  Dan Williams  <dcbw@redhat.com>
5601
5602         * libnm-glib/nm-device-802-11-wireless.c
5603                 - (nm_device_802_11_wireless_get_access_points): fix memory leak
5604
5605 2008-01-12  Dan Williams  <dcbw@redhat.com>
5606
5607         * src/nm-device-802-11-wireless.c
5608                 - (activation_success_handler): if a match was found in the scan list
5609                         and that match is a hidden AP, update that AP's SSID
5610
5611 2008-01-11  Dan Williams  <dcbw@redhat.com>
5612
5613         * src/NetworkManagerAP.c
5614                 - (nm_ap_new_fake_from_connection): mark fake APs as fake
5615
5616         * src/nm-device-802-11-wireless.c
5617                 - (get_active_ap): do two passes over the scan list if the caller
5618                         requests that hidden APs get matched too; during the second pass
5619                         when matching hidden APs, ignore the SSID since hidden APs in the
5620                         scan list don't have an SSID yet
5621                 - (periodic_update): move some checks to
5622                         nm_device_802_11_periodic_update() because not all callers need them
5623                 - (nm_device_802_11_periodic_update): move some checks here from
5624                         perodic_update()
5625                 - (merge_scanned_ap): if the current AP is fake, then don't do strict
5626                         matching on incoming scan results, because the fake AP's flags
5627                         might be slightly different (yet still compatible) with the incoming
5628                         scan result's flags and they might actually be the same AP; update
5629                         the rate on merged APs too
5630                 - (activation_success_handler): update the frequency of the fake AP
5631                         on successful connection; match hidden APs too since if the
5632                         current AP is fake, there might already be a scan result in the
5633                         scan list for the desired AP, just without it's SSID filled in yet
5634
5635 2008-01-10  Dan Williams  <dcbw@redhat.com>
5636
5637         * src/NetworkManagerAP.c
5638                 - (foreach_property_cb): catch more hidden SSID formats
5639
5640 2008-01-10  Dan Williams  <dcbw@redhat.com>
5641
5642         Fix gnome.org #464215.  Requires the kernel patch titled
5643         "Introduce WEXT scan capabilities" but will handle the patch not being
5644         present, you'll just continue to have problems with hidden SSIDs when
5645         using mac80211-based drivers.
5646
5647         * src/supplicant-manager/nm-supplicant-config.h
5648           src/supplicant-manager/nm-supplicant-config.c
5649                 - (nm_supplicant_config_add_setting_wireless): new parameter to indicate
5650                         whether the driver supports SSID scans or not.  If it does, and if
5651                         the AP is hidden, use ap_scan=1 instead of ap_scan=2
5652
5653         * src/nm-device-802-11-wireless.c
5654                 - (constructor): check whether or not the driver supports SSID scans
5655                 - (build_supplicant_config): pass driver SSID scan capability when
5656                         building the wireless bits of the supplicant config
5657
5658 2008-01-09  Dan Williams  <dcbw@redhat.com>
5659
5660         * src/nm-device.c
5661           src/nm-device.h
5662                 - (device_activation_precheck, check_connection_complete): remove this
5663                         virtual function; incomplete connections should be invalid by
5664                         definition, complete-ness should be checked in the setting's
5665                         verify function
5666
5667         * src/nm-serial-device.c
5668           src/nm-gsm-device.c
5669                 - (real_check_connection_complete): remove
5670
5671         * libnm-util/nm-setting-serial.c
5672                 - (verify): new function; ensure there is a PPP setting too
5673
5674         * libnm-util/nm-setting-gsm.c
5675                 - (verify): ensure there is a serial setting too
5676
5677 2008-01-06  Dan Williams  <dcbw@redhat.com>
5678
5679         * src/dhcp-manager/nm-dhcp-manager.c
5680                 - (nm_dhcp_manager_get_ip4_config): handle DHCP-provided MTU
5681                         (gnome.org #332953)
5682
5683 2008-01-04  Dan Williams  <dcbw@redhat.com>
5684
5685         * src/named-manager/nm-named-manager.c
5686                 - (rewrite_resolv_conf, add_ip4_config_to_named): use primary IP4Config's
5687                         nameservers if the secondary config doesn't have any
5688                         (gnome.org #346833)
5689
5690 2008-01-02  Tambet Ingo  <tambet@gmail.com>
5691
5692         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Mark the properties
5693         with G_PARAM_CONSTRUCT so that they get the default values.
5694
5695         * src/nm-gsm-device.c: Add preliminary support for monitoring device. It only monitors
5696         the monitoring device and prints out the output for now. Or more precicely, doesn't
5697         do absolutely anything right now since the montoring device argument is never set.
5698
5699         * src/nm-serial-device.c (serial_debug): Implement. It's very verbose and thus
5700         requires it's own knob to turn it on.
5701         (config_fd): Add NMSettingSerial to the arguments list.
5702         (nm_serial_device_open): Ditto.
5703         (get_reply_got_data): Ignore the terminators at the beginning of the output.
5704         (nm_serial_device_get_io_channel): Implement.
5705
5706         * src/nm-manager.c: Add NMDBusManager to the private data of the NMManager. Asking
5707         a new reference every time (and forgetting to release it sometimes) is a pain and
5708         it's not like NMManager could work without dbus.
5709         (nm_manager_add_device): Register the added device on dbus here.
5710
5711         * src/nm-hal-manager.c (modem_device_creator): Pass NULL for now for the monitoring
5712         device.
5713
5714         * src/nm-device.c (constructor): Don't export the device here, instead export
5715         it when it's added to the NMManager's device list.
5716
5717 2007-12-31  Dan Williams  <dcbw@redhat.com>
5718
5719         * src/nm-device-interface.c
5720           src/nm-device-interface.h
5721                 - (nm_device_interface_check_connection_conflicts): new function
5722
5723         * src/nm-device.c
5724           src/nm-device.h
5725                 - (nm_device_check_connection_conflicts): new function
5726                 - (device_activation_precheck): don't require subclasses to implement
5727                         check_connection_complete()
5728                 - check_connection() -> check_connection_complete()
5729
5730         * src/nm-device-802-11-wireless.c
5731                 - (real_check_connection): remove; unused
5732                 - (real_check_connection_conflicts): implement, handle lockdown for
5733                         system connections
5734
5735         * src/nm-device-802-3-ethernet.c
5736                 - (real_check_connection): remove; unused
5737
5738         * src/nm-manager.c
5739                 - (check_connection_allowed): new function
5740                 - (nm_manager_activate_device): ensure the connection being requested
5741                         is allowed to be activated
5742
5743         * src/nm-serial-device.c
5744           src/nm-gsm-device.c
5745                 - real_check_connection() -> real_check_connection_complete()
5746
5747 2007-12-27  Dan Williams  <dcbw@redhat.com>
5748
5749         * src/nm-device-interface.c
5750           src/nm-device-interface.h
5751                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
5752                         normalize and expand errors
5753                 - (nm_device_interface_init): register errors so they can be marshalled
5754                         through dbus-glib
5755                 - (nm_device_interface_activate): ensure that failure of activation
5756                         returns an error
5757
5758         * src/nm-device.c
5759           src/nm-device.h
5760                 - (device_activation_precheck): implementations of check_connection()
5761                         now take a GError and must fill it in if the check fails.  Return
5762                         more descriptive error if the requested connection is already
5763                         activating
5764                 - (nm_device_activate): actually try to return descriptive errors on
5765                         failures
5766
5767         * src/nm-device-802-11-wireless.c
5768           src/nm-device-802-3-ethernet.c
5769           src/nm-serial-device.c
5770           src/nm-gsm-device.c
5771                 - (real_check_connection): return more descriptive errors on failure
5772
5773         * src/NetworkManagerPolicy.c
5774                 - (nm_policy_device_change_check): print activation errors in the logs
5775
5776         * src/nm-manager.c
5777                 - (nm_manager_error_quark, nm_manager_error_get_type,
5778                    nm_manager_class_init): new errors
5779                 - (nm_manager_activate_device): handle errors
5780                 - (nm_manager_error_new): removed
5781                 - (wait_for_connection_expired, connection_added_default_handler,
5782                    impl_manager_activate_device): better error handling
5783
5784 2007-12-27  Dan Williams  <dcbw@redhat.com>
5785
5786         Fixes gnome.org #466954
5787
5788         * src/supplicant-manager/nm-supplicant-settings-verify.c
5789                 - Allow 'frequency' network property
5790
5791         * src/supplicant-manager/nm-supplicant-config.c
5792           src/supplicant-manager/nm-supplicant-config.h
5793                 - (nm_supplicant_config_add_setting_wireless): add 'adhoc_freq' argument
5794                         for callers to specify the frequency an Ad-Hoc network should operate
5795                         on.  Some drivers require this to successfully create an Ad-Hoc
5796                         network.
5797
5798         * src/nm-device-802-11-wireless.c
5799                 - (iw_freq_to_uint32): new function; convert a struct iw_freq into a
5800                         guint32 value in MHz
5801                 - (constructor, nm_device_802_11_wireless_get_frequency): use
5802                         iw_freq_to_uint32()
5803                 - (find_supported_frequency): new function; find a free supported
5804                         frequency for a user-created Ad-Hoc network
5805                 - (build_supplicant_config): if no frequency was specified for a user-
5806                         created Ad-Hoc network, find a free one to use
5807                 - (real_act_stage1_prepare): mark Ad-Hoc connections that don't have
5808                         a specific object as user-created
5809
5810 2007-12-27  Dan Williams  <dcbw@redhat.com>
5811
5812         * libnm-util/nm-utils.c
5813           libnm-util/nm-utils.h
5814                 - (nm_utils_security_valid): add 'adhoc' argument and handle security
5815                         for adhoc networks
5816
5817 2007-12-24  Dan Williams  <dcbw@redhat.com>
5818
5819         * libnm-util/nm-setting-wireless.c
5820                 - (verify): add 802.11a channels 7, 8, 9, 11, 12, 16, 34, 165, 183, 184,
5821                         185, 187, 188, 192, and 196
5822
5823 2007-12-24  Dan Williams  <dcbw@redhat.com>
5824
5825         * src/nm-device-802-11-wireless.c
5826                 - (nm_device_802_11_wireless_get_frequency): handle drivers that return
5827                         a channel # instead of a frequency
5828
5829 2007-12-24  Dan Williams  <dcbw@redhat.com>
5830
5831         * src/NetworkManagerAP.c
5832           src/NetworkManagerAP.h
5833                 - (nm_ap_new_fake_from_connection): pass band to channel_to_freq()
5834                 - (freq_to_channel): handle split band tables
5835                 - (channel_to_freq): handle split band tables, take a band argument
5836
5837 2007-12-24  Dan Williams  <dcbw@redhat.com>
5838
5839         * libnm-util/nm-setting-connection.h
5840           libnm-util/nm-setting-connection.c
5841                 - Add 'lockdown' member
5842
5843 2007-12-22  Dan Williams  <dcbw@redhat.com>
5844
5845         * libnm-util/nm-setting-wireless.c
5846                 - (nm_setting_wireless_class_init): add missing 'rate' property
5847                         specification
5848
5849 2007-12-18  Dan Williams  <dcbw@redhat.com>
5850
5851         Base the NMNetlinkMonitor class on libnl instead of hand-rolled netlink.
5852
5853         * src/nm-netlink-monitor.c
5854           src/nm-netlink-monitor.h
5855                 - Remove handrolled netlink, use libnl instead
5856
5857         * src/nm-device-802-3-ethernet.c
5858                 - (constructor, nm_device_802_3_ethernet_carrier_off,
5859                    nm_device_802_3_ethernet_carrier_on): use new names
5860
5861 2007-12-17  Dan Williams  <dcbw@redhat.com>
5862
5863         * configure.in
5864                 - Bump requirement for libnl to 1.0-pre8 (which works with newer kernels
5865                         and fixes memory leaks)
5866
5867         * src/nm-netlink.c
5868                 - (nm_netlink_get_default_handle): handle new versions of libnl that
5869                         automatically handle the netlink PID
5870
5871 2007-12-17  Dan Williams  <dcbw@redhat.com>
5872
5873         Patch from Michael Biebl <biebl@debian.org>
5874
5875         * configure.in
5876           src/ppp-manager/Makefile.am
5877                 - fix up install dir of pppd plugin
5878                 - clean up configure.in a bit
5879
5880 2007-12-12  Dan Williams  <dcbw@redhat.com>
5881
5882         * system-settings/src/nm-system-settings.conf
5883                 - Allow non-root clients (like the applet) to read settings
5884
5885 2007-12-10  Tambet Ingo  <tambet@gmail.com>
5886
5887         * Replace all occurences of 'UMTS' with 'GSM'.
5888
5889 2007-12-07  Dan Williams  <dcbw@redhat.com>
5890
5891         * src/nm-serial-device.c
5892                 - (real_is_up): serial devices are always "up"
5893
5894 2007-12-07  Dan Williams  <dcbw@redhat.com>
5895
5896         * src/nm-netlink.c
5897           src/NetworkManagerSystem.c
5898                 - (new_nl_handle): ensure that the same netlink pid is never chosen
5899                         twice (gnome.org #491047)
5900                 - Make more robust against allocation-related failures should they occur
5901
5902 2007-12-07  Dan Williams  <dcbw@redhat.com>
5903
5904         Noticed by Christian Persch <chpe@gnome.org>
5905
5906         Always chain up to parent object in dispose and finalize handlers.
5907                 (gnome.org #433112)
5908
5909 2007-12-07  Dan Williams  <dcbw@redhat.com>
5910
5911         * src/nm-device-802-11-wireless.c
5912                 - Wrap #include of linux/mii.h to fix redefined structures due to
5913                         incorrect kernel headers (gnome.org #350061)
5914
5915 2007-12-06  Tambet Ingo  <tambet@gmail.com>
5916
5917         * src/nm-umts-device.c (real_act_stage1_prepare): Flash the modem (drop DTR)
5918         before doing anything else.
5919         (init_modem): Move modem initialization here.
5920
5921         * src/nm-serial-device.c (ppp_state_changed): React on pppd state changes.
5922         (nm_serial_device_flash): Implement.
5923
5924         * src/ppp-manager/nm-ppp-manager.c (name_owner_changed): Fix the typoes: the state
5925         changes signal is "StateChanged" and not "Status".
5926         (ppp_exit_code, ppp_status_changed): Remove the debug output, it's working fine now.
5927
5928 2007-12-06  Dan Williams  <dcbw@redhat.com>
5929
5930         * src/supplicant-manager/nm-supplicant-config.c
5931                 - (nm_supplicant_config_add_setting_wireless_security): reorganize a bit
5932                         to only send some options when they make sense; also send phase2
5933                         option to the supplicant (possible fix for rh #399631)
5934
5935 2007-12-06  Tambet Ingo  <tambet@gmail.com>
5936
5937         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Change the
5938         arguments: This whole file shouldn't really know anything about NMDevices, it
5939         should deal only with device interfaces. Devices might have different ifaces for
5940         different stuff and this place shouldn't know anything about it.
5941
5942         * src/NetworkManagerPolicy.c: Get rid of leftover global variable global_policy.
5943         (global_state_changed): Implement. In the current NM it's not really important,
5944         but will be required in the case of multiple active devices. (Or even better,
5945         if stuff like that gets moved out from NM).
5946
5947         * src/vpn-manager/nm-vpn-connection.c (connection_state_changed): Don't call
5948         nm_system_device_set_from_ip4_config() directly, use nm_device_set_ip4_config() 
5949         instead.
5950
5951         * src/nm-device.c: Add a ip_face protected member. It's used for 'multi-interface'
5952         devices like serial devices (ttyS0 and ppp0 for example).
5953         (nm_device_get_ip_iface): Implement. Default to the device iface if ip_iface is not
5954         set.
5955         (nm_device_set_ip_iface): Implement.
5956         (nm_device_activate_stage5_ip_config_commit): Move all the extra actions that happen
5957         after setting ip4_config from here ...
5958         (nm_device_set_ip4_config): ... to here. The reason behind it is that no other code
5959         than this function should call nm_system_device_set_from_ip4_config() because no
5960         other code has enough information on which arguments to use. So instead, other code
5961         could just set the new ip4 config using this function and everyone is happy.
5962
5963         * src/nm-umts-device.c: Store the pending ids so that we can remove pending actions
5964         if we happen to get deactivated while something is pending.
5965         (automatic_registration): Handle the response that indicates pending network
5966         registration and wait until the pending registration is done.
5967         (real_deactivate_quickly): If there's a pending operation, cancel it.
5968
5969         * src/nm-serial-device.c (ppp_ip4_config): Set the ip_iface when the iface is up ...
5970         (real_deactivate_quickly): ... and remove it when it's down.
5971         (nm_serial_device_get_reply): Return the timeout id so that the callers can remove
5972         it if needed.
5973         (nm_serial_device_wait_for_reply): Ditto.
5974
5975 2007-12-05  Tambet Ingo  <tambet@gmail.com>
5976
5977         * src/nm-umts-device.c (dial_done): Fix the typoes in warnings.
5978         (get_network_done): Remove newline, nm_info() does it already.
5979         (real_act_stage1_prepare): Turn the modem echo off.
5980
5981         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): In case of serial
5982         device, set the route to the device interface. This is a hack.
5983
5984         * src/nm-serial-device.c (nm_serial_device_send_command_string): Only append carriage 
5985         return, no need for a new-line.
5986         (ppp_ip4_config): Store the ip4 config to be set in the next stage.
5987         Change the device iface here (ugh).
5988         (real_act_stage4_get_ip4_config): Implement.
5989         (real_deactivate_quickly): Free the pending ip4 config if it's still pending.
5990         Restore the device iface.
5991
5992         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Do nothing if the active
5993         device is not wired or wireless (eg, automatically upped) device.
5994
5995         * src/ppp-manager/nm-ppp-manager.c (ip4_config_get): Don't make the config secondary,
5996         it isn't.
5997         (nm_ppp_manager_start): Don't let pppd to set the default route, we want to do it.
5998
5999         * src/nm-hal-manager.c (get_creator): Make sure the device has required capability
6000         before calling it's is_device_fn().
6001
6002 2007-12-05  Dan Williams  <dcbw@redhat.com>
6003
6004         * libnm-util/nm-utils.c
6005                 - (nm_utils_register_value_transformations,
6006                    nm_utils_convert_gvalue_hash_to_string): better debug output of
6007                         GHashTables of GValues too
6008
6009 2007-12-04  Dan Williams  <dcbw@redhat.com>
6010
6011         * initscript/RedHat/NetworkManager.in
6012                 - No longer start named; it's D-Bus interface is going away
6013
6014 2007-12-04  Dan Williams  <dcbw@redhat.com>
6015
6016         Patch from Michael Biebl <biebl@debian.org>
6017
6018         * system-settings/plugins/ifcfg/Makefile.am
6019           system-settings/src/main.c
6020           system-settings/src/Makefile.am
6021                 - Put system settings plugins in NM plugins dir
6022
6023         * src/ppp-manager/Makefile.am
6024           src/ppp-manager/nm-ppp-manager.c
6025                 - Move pppd plugin to NM plugins dir
6026
6027 2007-12-04  Dan Williams  <dcbw@redhat.com>
6028
6029         * libnm-util/nm-setting-vpn-properties.h
6030                 - Clarify usage of the 'data' member of the setting
6031
6032         * libnm-util/nm-setting-vpn-properties.c
6033                 - (nm_setting_vpn_properties_init): initialize the 'data' hash table
6034                 - (set_property): just remove all the settings; don't recreate the has
6035                 - (update_one_secret): don't need to create the hash table here since
6036                         it should always be present
6037
6038 2007-12-03  Tambet Ingo  <tambet@gmail.com>
6039
6040         Implement PIN and PUK requesting.
6041
6042         * src/nm-umts-device.c (enter_pin_done): Request the secret again if it failed.
6043         (enter_pin): Handle PIN and PUK requests.
6044         (real_act_stage1_prepare): Clear the secret type.
6045         (real_connection_secrets_updated): Implement this class method to get
6046         notified when new secrets arrive.
6047         (nm_umts_device_class_init): Add private data back to the umts device class
6048         to store the required secret type.
6049
6050 2007-12-01  Dan Williams  <dcbw@redhat.com>
6051
6052         * system-settings/plugins/ifcfg/parser.c
6053                 - (parser_parse_file): don't try to verify NULL connections
6054
6055 2007-12-01  Dan Williams  <dcbw@redhat.com>
6056
6057         * system-settings/src/main.c
6058                 - (load_connections, add_connection_to_settings): actually export
6059                         plugin-provided connections over D-Bus so NM can get them
6060
6061 2007-12-01  Dan Williams  <dcbw@redhat.com>
6062
6063         * system-settings/plugins/ifcfg/parser.c
6064           system-settings/plugins/ifcfg/parser.h
6065           system-settings/plugins/ifcfg/plugin.c
6066                 - Hook up more inotify bits (untested)
6067
6068 2007-11-29  Dan Williams  <dcbw@redhat.com>
6069
6070         * system-settings/src/nm-system-config-interface.h
6071           system-settings/src/nm-system-config-interface.c
6072                 - (nm_system_config_interface_init,
6073                    nm_system_config_interface_get_connections): add
6074
6075         * system-settings/src/main.c
6076                 - (load_plugins, load_connections, main): use a GSList for plugins
6077                         to ensure priority ordering
6078
6079         * system-settings/plugins/ifcfg/parser.c
6080                 - (ifcfg_error_quark): move to plugin.c, and rename
6081
6082         * system-settings/plugins/ifcfg/plugin.h
6083           system-settings/plugins/ifcfg/plugin.c
6084                 - (ifcfg_plugin_error_quark): move here from parser.c
6085                 - rework connection loading and initialization
6086                 - Add preliminary inotify support for network profile config file
6087
6088 2007-11-28  Tambet Ingo  <tambet@gmail.com>
6089
6090         Merge the beginnings of the new GSM card support.
6091
6092         * src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_stop): Remove the
6093         ppp watch source before killing pppd - If this happens from g_object_unref()
6094         then the ppp manager is already destroyed by the time the watch callback runs.
6095
6096         * src/nm-hal-manager.c: Add a device_type_name string to the device
6097         creators, so that we can print a nice human readable string when a
6098         device is added.
6099
6100         * src/nm-umts-device.c (automatic_registration_get_network): Query
6101         for the activated network, not much is done with the result thought.
6102
6103         * src/nm-serial-device.c (nm_serial_device_get_reply): Implement.
6104         (ppp_ip4_config): Change the device state to activated here for now.
6105         (real_check_connection): Make sure the connection includes ppp setting.
6106
6107         * libnm-glib/nm-client.c (get_device): Handle umts devices.
6108
6109         * libnm-glib/Makefile.am: Add the new files to build.
6110
6111         * libnm-glib/nm-umts-device.c: 
6112         * libnm-glib/nm-umts-device.h: Implement.
6113
6114 2007-11-26  Tambet Ingo  <tambet@gmail.com>
6115
6116         * src/nm-umts-device.c (automatic_registration_get_network): For now, dial
6117         immediately, nm_serial_device_get_reply() isn't implemented correctly yet.
6118
6119         * src/nm-serial-device.c (wait_for_reply_info_destroy): Don't try to remove
6120         the timeout source - this function is only called when the timeout source has
6121         been removed.
6122         (nm_serial_device_wait_for_reply): Allocate the duplicate responses array
6123         to be big enough to contain the terminating zero element as well.
6124         The timeout argument is meant to be in seconds now.
6125         (real_deactivate_quickly): Implement.
6126
6127         * src/NetworkManager.conf: Allow root to own 
6128         "org.freedesktop.NetworkManager.PPP", deny it for everybody else.
6129
6130         * libnm-util/nm-setting-umts.c: Network type and band properties are ints,
6131         (not unsigned ints).
6132
6133         * libnm-util/nm-setting-serial.c (nm_setting_serial_class_init): Fix a 
6134         small issue with parity bounds - capital letters have lower ascii codes
6135         than lower case letters.
6136
6137         * libnm-util/nm-connection.c (register_default_settings): Register serial
6138         and umts settings.
6139
6140 2007-11-22  Tambet Ingo  <tambet@gmail.com>
6141
6142         Remove the "index" property from devices as not all device types have this.
6143
6144         * include/NetworkManager.h (NM_DBUS_PATH_DEVICE): Remove.
6145
6146         * src/nm-hal-manager.c (nm_get_device_index_from_hal): Remove.
6147         (wired_device_creator): Get the device interface from hal to create the device.
6148         (wireless_device_creator): Ditto.
6149
6150         * src/nm-device.c (nm_device_init): Remove the index member.
6151         (constructor): Remove the checks for index property, make interface property
6152         a require constructor property.
6153         Use the HAL udi for DBus path for devices.
6154         (nm_device_get_index): Remove.
6155         (set_property): Remove index handling.
6156         (get_property): Ditto.
6157         (nm_device_get_dbus_path): Remove.
6158
6159         * src/nm-device-interface.c (nm_device_interface_init): Remove the index
6160         property.
6161
6162         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_link_activated):
6163         Access the device index through it's interface.
6164         (nm_device_802_3_ethernet_link_deactivated): Ditto.
6165         (nm_device_802_3_ethernet_new): Remove the useless argument test_dev. Remove
6166         index argument. Add interface argument.
6167
6168         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): Remove
6169         the useless test_dev argument. Remove index argument. Add interface arugment.
6170
6171         * src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config): Get the
6172         device index through interface.
6173         (nm_system_set_mtu): Ditto.
6174
6175         * introspection/nm-device.xml: Remove the "Index" property.
6176
6177 2007-11-21  Tambet Ingo  <tambet@gmail.com>
6178
6179         * src/nm-serial-device.c: 
6180         * src/nm-serial-device.c: 
6181         * src/nm-umts-device.c:
6182         * src/nm-umts-device.h: Implement.
6183
6184         * src/nm-hal-manager.c (nm_get_device_driver_name): libhal_free_string the string 
6185         allocated by libhal.
6186         (modem_device_creator): Implement.
6187         (register_built_in_creators): Register the modem creator.
6188
6189         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_new): 
6190         Remove the unused test_dev argument.
6191
6192         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_new): Ditto.
6193
6194         * src/Makefile.am: Add new files to build.
6195         Link in ppp-manager.
6196
6197         * libnm-util/nm-setting-umts.c: 
6198         * libnm-util/nm-setting-umts.h: 
6199         * libnm-util/nm-setting-serial.c: 
6200         * libnm-util/nm-setting-serial.h: Implement.
6201
6202         * libnm-util/Makefile.am: Add new files to build.
6203
6204 2007-11-28  Dan Williams  <dcbw@redhat.com>
6205
6206         Patch from Zdeněk Jurka <zdenek.jurka@jware.cz>
6207
6208         Support DHCP-provided static routes.
6209
6210         * src/nm-ip4-config.h
6211           src/nm-ip4-config.c
6212                 - Add get/set functions for static routes
6213
6214         * src/dhcp-manager/nm-dhcp-manager.c
6215                 - (nm_dhcp_manager_get_ip4_config): extract static routes from the
6216                         DHCP response
6217
6218         * src/NetworkManagerSystem.c
6219                 - (nm_system_device_set_from_ip4_config): set any static routes on the
6220                         interface when applying the IP4Config
6221
6222 2007-11-28  Dan Williams  <dcbw@redhat.com>
6223
6224         * src/nm-device-802-11-wireless.c
6225                 - (real_act_stage1_prepare): mark APs created for hidden networks
6226                         as non-broadcasting
6227
6228 2007-11-27  Dan Williams  <dcbw@redhat.com>
6229
6230         * system-settings/src/nm-system-config-interface.h
6231                 - Note how to store secrets on NMSetting objects
6232
6233         * system-settings/src/dbus-settings.c
6234                 - (connection_settings_get_secrets): implement
6235
6236 2007-11-27  Dan Williams  <dcbw@redhat.com>
6237
6238         * system-settings/plugins/ifcfg/Makefile.am
6239           system-settings/plugins/ifcfg/parser.c
6240           system-settings/plugins/ifcfg/parser.h
6241           system-settings/plugins/ifcfg/plugin.c
6242                 - Parse wireless connections too
6243
6244         * system-settings/src/dbus-settings.c
6245           system-settings/src/dbus-settings.h
6246           system-settings/src/main.c
6247                 - Handle connection update/removal if the plugin supports it
6248
6249 2007-11-27  Dan Williams  <dcbw@redhat.com>
6250
6251         * src/nm-dbus-manager.h
6252           src/nm-hal-manager.c
6253                 - Include the correct headers now that NetworkManagerDbusUtils.h doesn't
6254                         do it for them
6255
6256         * src/Makefile.am
6257           src/NetworkManagerDbusUtils.c
6258           src/NetworkManagerDbusUtils.h
6259                 - Remove these two source files; they are unused
6260
6261 2007-11-27  Dan Williams  <dcbw@redhat.com>
6262
6263         * src/vpn-manager/nm-vpn-manager.c
6264                 - (impl_vpn_manager_connect): fix system settings check (found by
6265                         James M. Leddy)
6266
6267 2007-11-26  Dan Williams  <dcbw@redhat.com>
6268
6269         * Fix warnings so everything compiles with --enable-more-warnings
6270
6271 2007-11-25  Dan Williams  <dcbw@redhat.com>
6272
6273         * system-settings/*
6274                 - Rework structure and code to use GModule-loaded plugins and a plugin
6275                         interface that plugins export to the system settings service
6276
6277 2007-11-21  Dan Williams  <dcbw@redhat.com>
6278
6279         * system-settings/*
6280                 - Add Soren's system settings service.  Needs work for distros other
6281                         than Fedora; the backends from NM should mostly migrate to here
6282                         and be converted to GObjects
6283
6284 2007-11-21  Dan Williams  <dcbw@redhat.com>
6285
6286         * libnm-util/nm-setting-vpn-properties.c
6287                 - (set_property): must deep-copy the given settings hash, otherwise
6288                         double-free errors occur when the setting is disposed of
6289
6290 2007-11-21  Dan Williams  <dcbw@redhat.com>
6291
6292         * src/vpn-manager/nm-vpn-act-request.h
6293           src/vpn-manager/nm-vpn-act-request.c
6294                 - Remove; unused
6295
6296 2007-11-20  Dan Williams  <dcbw@redhat.com>
6297
6298         * libnm-util/nm-utils.c
6299                 - (nm_utils_convert_strv_to_string, nm_utils_convert_uint_array_to_string,
6300                    nm_utils_convert_ip4_addr_struct_array_to_string,
6301                    nm_utils_register_value_transformations): print out the readable
6302                         values of more types of properties of NMSettings subclasses
6303
6304 2007-11-20  Dan Williams  <dcbw@redhat.com>
6305
6306         * libnm-util/nm-setting-ip4-config.c
6307                 - (ip4_addresses_from_gvalue, ip4_addresses_to_gvalue,
6308                    nm_setting_ip4_config_class_init): apparently dbus-glib can't
6309                         marshal GValueArrays inside collections, so switch to types that it
6310                         can actually marshal/demarshal
6311
6312 2007-11-16  Dan Williams  <dcbw@redhat.com>
6313
6314         * libnm-util/nm-setting-wireless-security.c
6315                 - (verify_tls, verify_ttls, verify_identity, verify_nai): do some
6316                         minimal verification of EAP methods too
6317                 - (verify): verify phase1 eap methods too
6318
6319 2007-11-15  Dan Williams  <dcbw@redhat.com>
6320
6321         * libnm-glib/nm-device.h
6322           libnm-glib/nm-device.c
6323                 - (nm_device_get_product, nm_device_get_vendor): should be returning
6324                         const char *
6325
6326 2007-11-15  Dan Williams  <dcbw@redhat.com>
6327
6328         * libnm-glib/nm-device.c
6329                 - (get_product_and_vendor): don't try to free things that should be
6330                         freed
6331
6332 2007-11-15  Dan Williams  <dcbw@redhat.com>
6333
6334         * src/NetworkManagerUtils.c
6335                 - (nm_ethernet_address_is_valid): unbreak previous fix
6336
6337 2007-11-15  Dan Williams  <dcbw@redhat.com>
6338
6339         * src/supplicant-manager/nm-supplicant-config.c
6340                 - (nm_supplicant_config_add_setting_wireless_security): handle PEAP
6341                         options
6342
6343 2007-11-15  Dan Williams  <dcbw@redhat.com>
6344
6345         * src/NetworkManagerUtils.c
6346                 - (nm_ethernet_address_is_valid): fix style, clarify
6347                 - (nm_ethernet_addresses_are_equal): don't try to memcmp NULLs
6348
6349         * src/nm-device-802-11-wireless.c
6350                 - (get_active_ap): handle failure from nm_device_802_11_wireless_get_bssid()
6351                 - (nm_device_802_11_wireless_get_ssid,
6352                    nm_device_802_11_wireless_get_bssid,
6353                    nm_device_802_11_wireless_get_bitrate): zero the wreq structure
6354                         before calling the ioctl; fixes valgrind-reported jump depends on
6355                         uninitialized value errors
6356
6357 2007-11-15  Dan Williams  <dcbw@redhat.com>
6358
6359         * libnm-util/nm-setting.c
6360                 - (nm_setting_to_hash, one_property_cb): revert previous commit, it's
6361                         unecessary to serialize 'name'
6362
6363         * src/nm-activation-request.c
6364                 - (get_secrets_cb): fix cases where a full NMSetting is returned from
6365                         the GetSecrets call
6366
6367 2007-11-15  Dan Williams  <dcbw@redhat.com>
6368
6369         * libnm-util/nm-setting-connection.h
6370           libnm-util/nm-setting-connection.c
6371                 - Rename the 'name' property to 'id', because it conflicted with the
6372                         NMSetting superclass' 'name' property.
6373
6374         * libnm-util/nm-setting.c
6375                 - (nm_setting_to_hash): serialize the 'name' property
6376                 - (one_property_cb): ignore 'name' on deserialization of a connection
6377
6378         * src/nm-device-802-11-wireless.c
6379           src/vpn-manager/nm-vpn-connection.c
6380           src/NetworkManagerPolicy.c
6381                 - Fix up for NMSettingConnection 'name'->'id' changes
6382
6383 2007-11-13  Dan Williams  <dcbw@redhat.com>
6384
6385         * libnm-glib/nm-device-802-11-wireless.h
6386           libnm-glib/nm-device-802-11-wireless.c
6387                 - (nm_device_802_11_wireless_get_hw_address): return should be const
6388
6389         * test/nm-tool.c
6390           libnm-glib/libnm-glib-test.c
6391                 - Fixes for above change
6392
6393 2007-11-12  Dan Williams  <dcbw@redhat.com>
6394
6395         * src/supplicant-manager/nm-supplicant-settings-verify.c
6396                 - Allow fragment_size option
6397
6398         * src/supplicant-manager/nm-supplicant-settings-verify.c
6399                 - (nm_supplicant_config_add_setting_wireless_security): use a lower
6400                         EAP fragment size than the default to help some TLS connections
6401
6402 2007-11-12  Dan Williams  <dcbw@redhat.com>
6403
6404         Make certs actually work.  The private key is now a secret, and should be
6405         decrypted when requested by NM.  The private key and phase2 private key
6406         passwords are no longer interesting to NM because they should be used by
6407         the settings service to decrypt the private key itself before passing it
6408         to NM, and hence have been removed as fields.
6409
6410         * libnm-util/nm-setting-wireless-security.h
6411           libnm-util/nm-setting-wireless-security.c
6412                 - Remove private-key-passwd and phase2-private-key-passwd from
6413                         properties
6414                 - (need_secrets_password, need_secrets_eappsk, need_secrets_sim,
6415                    need_secrets): use property #defines instead strings to keep things
6416                         consistent
6417                 - (need_secrets_tls): if a client certificate is present but no
6418                         private key, request the private key
6419                 - (set_property, get_property, nm_setting_wireless_security_class_init):
6420                         remove private key password stuff, mark private keys as secret
6421
6422         * src/supplicant-manager/nm-supplicant-settings-verify.c
6423                 - Remove private_key_passwd and private_key2_passwd from opt_table
6424
6425 2007-11-09  Dan Williams  <dcbw@redhat.com>
6426
6427         Fix vpn-properties setting update_secrets call for new NMSetting stuff.
6428         Since the vpn-properties are managed and known by the VPN daemons themselves,
6429         libnm-util doesn't know what's secret and what's in the setting's 'data'
6430         member.
6431
6432         * libnm-util/nm-setting.h
6433           libnm-util/nm-setting.c
6434                 - Add the ability for subclasses to override update_one_secret
6435
6436         * libnm-util/nm-setting-vpn-properties.c
6437                 - Override update_one_secret and just copy the values into the
6438                         internal table
6439
6440 2007-11-09  Dan Williams  <dcbw@redhat.com>
6441
6442         * libnm-glib/nm-settings.h
6443           libnm-glib/nm-settings.c
6444                 - (nm_settings_new_error): remove
6445                 - (nm_settings_error_quark): add; instead of nm_settings_new_error,
6446                         clients should use g_set_error() with NM_SETTINGS_ERROR
6447
6448 2007-11-09  Dan Williams  <dcbw@redhat.com>
6449
6450         * src/supplicant-manager/nm-supplicant-config.c
6451                 - (nm_supplicant_config_add_setting_wireless_security): private key
6452                         passwords are never sent to wpa_supplicant, because the supplicant
6453                         should never be reading random files from the disk.  Clients like
6454                         the applet are required to decrypt the private keys and send NM
6455                         the decrypted blobs.
6456
6457 2007-11-08  Dan Williams  <dcbw@redhat.com>
6458
6459         * libnm-util/nm-setting-wireless-security.h
6460           libnm-util/nm-setting-wireless-security.c
6461                 - Add 'private-key-decrypted' and 'phase2-private-key-decrypted'
6462                         members to 802-11-wireless-security structure.  This should be used
6463                         to indicate that the values in private-key and phase2-private-key
6464                         are already decrypted by the user agent, and that no
6465                         private-key-passwd or phase2-private-key-passwd should be expected.
6466                         It is not meant to be a stored configuration value, but meant to
6467                         be set when the conneciton is sent to NM over dbus.
6468
6469 2007-11-08  Dan Williams  <dcbw@redhat.com>
6470
6471         * libnm-util/nm-connection.h
6472           libnm-util/nm-connection.c
6473                 - (nm_connection_need_secrets): add argument to return hints
6474
6475         * src/nm-device-802-11-wireless.c
6476                 - (link_timeout_cb, supplicant_connection_timeout_cb,
6477                    real_act_stage2_config, real_act_stage4_ip_config_timeout): handle
6478                         nm_connection_need_secrets() change
6479
6480 2007-11-07  Tambet Ingo  <tambet@gmail.com>
6481
6482         Rework NMSetting structures: Move each setting to it's own file.
6483         Convert to GObject. Remove home grown setting types and use GTypes.
6484         Use GObject property introspection for hash conversion, enumerating
6485         properties, etc.
6486
6487         * libnm-util/nm-setting-connection.[ch]
6488         * libnm-util/nm-setting-ip4-config.[ch]
6489         * libnm-util/nm-setting-ppp.[ch]
6490         * libnm-util/nm-setting-vpn.[ch]
6491         * libnm-util/nm-setting-vpn-properties.[ch]
6492         * libnm-util/nm-setting-wired.[ch]
6493         * libnm-util/nm-setting-wireless.[ch]
6494         * libnm-util/nm-setting-wireless-security.[ch]
6495
6496         New files, each containing a setting.
6497
6498         * libnm-util/nm-setting-template.[ch]: A template for creating new
6499         settings. To use it, just replace 'template' with the new setting
6500         name, and you're half-way done.
6501
6502         * libnm-util/nm-setting.c: Convert to GObject and use GObject
6503         introspection instead of internal types and tables.
6504
6505         * libnm-util/nm-connection.c: Adapt the new NMSetting work.
6506
6507         * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
6508         GValue types defined by dbus-glib for composed types like collections,
6509         structures and maps.
6510
6511         * src/*: The API of NMSetting and NMConnection changed a bit: Getting
6512         a setting from connection takes the setting type now. Also, since
6513         the settings are in multiple files, include relevant settings.
6514
6515 2007-10-31  Saleem Abdulrasool <compnerd@compnerd.org>
6516
6517         * configure.in:
6518         * src/backends/NetworkManagerGentoo.c:
6519         (nm_system_restart_mdns_responder): Implement restarts for other mdns
6520         providers in Gentoo.
6521
6522 2007-10-31  Dan Williams  <dcbw@redhat.com>
6523
6524         * libnm-util/nm-connection.c
6525                 - (gvalue_to_string): handle UINT32 arrays
6526
6527 2007-10-31  Dan Williams  <dcbw@redhat.com>
6528
6529         * libnm-glib/nm-device.h
6530           libnm-glib/nm-device.c
6531                 - (nm_device_get_description): remove
6532                 - (nm_device_get_product, nm_device_get_vendor): add
6533                 - (nm_device_update_description): new function (private); walk HAL
6534                         devices to get product and vendor IDs for a specific device
6535
6536 2007-10-31  Dan Williams  <dcbw@redhat.com>
6537
6538         * src/nm-device-802-11-wireless.c
6539                 - (nm_device_802_11_wireless_get_mode): ignore ENODEV errors
6540
6541 2007-10-29  Dan Williams  <dcbw@redhat.com>
6542
6543         * src/nm-hal-manager.c
6544                 - (device_added, device_new_capability): ignore device additions while
6545                         asleep.  Fixes crash caused when NM goes to sleep, a network device
6546                         kernel module is unloaded and reloaded and recognized by NM again.
6547
6548 2007-10-26  Dan Williams  <dcbw@redhat.com>
6549
6550         Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)
6551
6552         * src/NetworkManagerAP.c
6553           src/NetworkManagerAP.h
6554           libnm-glib/nm-access-point.c
6555           libnm-glib/nm-access-point.h
6556                 - Make 'rate' property a guint32 to better match with WEXT and
6557                         wpa_supplicant and to allow representation of higher bitrates
6558
6559         * src/nm-device-802-11-wireless.c
6560           introspection/nm-device-802-11-wireless.xml
6561           libnm-glib/nm-device-802-11-wireless.c
6562           libnm-glib/nm-device-802-11-wireless.h
6563                 - Make 'bitrate' property a guint32 to match AP 'rate' property type
6564
6565         * src/nm-device-802-3-ethernet.c
6566           src/nm-device-802-3-ethernet.h
6567           introspection/nm-device-802-3-ethernet.xml
6568           libnm-glib/nm-device-802-3-ethernet.c
6569           libnm-glib/nm-device-802-3-ethernet.h
6570                 - Make 'speed' property a guint32 to match other speed/rate types
6571                 - Make nm_device_802_3_ethernet_get_speed() static
6572
6573         * test/nm-tool.c
6574                 - Update for the changes above
6575
6576 2007-10-26  Dan Williams  <dcbw@redhat.com>
6577
6578         * src/named-manager/nm-named-manager.c
6579                 - (rewrite_resolv_conf): clean up error handling to avoid double-free by
6580                     not calling fclose() twice on some error conditions
6581
6582 2007-10-26  Dan Williams  <dcbw@redhat.com>
6583
6584         * src/nm-activation-request.c
6585                 - (dispose): clean up indentation; get the right DBusGProxy object to
6586                         cancel the GetSecrets pending call on.  Need to use the Secrets
6587                         proxy, not the regular connection proxy.  Otherwise the GetSecrets
6588                         pending call doesn't get canceled, and pressing Cancel in the
6589                         applet's password dialog could cause get_secrets_cb() to be called
6590                         after the activation request has already been destroyed
6591
6592 2007-10-24  Dan Williams  <dcbw@redhat.com>
6593
6594         * src/supplicant-manager/nm-supplicant-config.c
6595                 - (nm_supplicant_config_add_blob): pass blob data and length for
6596                         verification
6597                 - (get_hash_cb): use GByteArrays rather than GArrays; easier to follow
6598
6599 2007-10-24  Dan Williams  <dcbw@redhat.com>
6600
6601         * src/supplicant-manager/nm-supplicant-settings-verify.c
6602                 - (opt_table): max length for certificates should be 65536
6603
6604 2007-10-24  Dan Williams  <dcbw@redhat.com>
6605
6606         * src/supplicant-manager/nm-supplicant-interface.c
6607                 - (blob_free): correctly free blob data after use
6608                 - (call_set_blobs): use the right D-Bus interfaace for setBlobs
6609
6610 2007-10-24  Dan Williams  <dcbw@redhat.com>
6611
6612         * libnm-util/nm-setting.c
6613                 - (setting_wireless_security_need_secrets): Fix lookup table logic for
6614                         EAP method need secrets
6615
6616 2007-10-24  Dan Williams  <dcbw@redhat.com>
6617
6618         * src/backends/NetworkManagerRedHat.c
6619                 - (nm_system_update_dns): be a lot smarter about telling nscd to restart
6620
6621 2007-10-23  Dan Williams  <dcbw@redhat.com>
6622
6623         * libnm-util/nm-setting.c
6624           libnm-util/nm-setting.c
6625                 - (nm_setting_compare): implement
6626                 - (default_setting_compare_fn, do_one_compare, compare_gvalue_hash,
6627                    compare_one_hash_gvalue): compare the contents of a setting
6628
6629         * libnm-util/nm-connection.c
6630                 - (nm_connection_compare): implement
6631
6632 2007-10-23  Dan Williams  <dcbw@redhat.com>
6633
6634         * src/nm-activation-request.c
6635                 - (get_secrets_cb): handle getting a setting back that is more than
6636                         just secrets (ie, user changed auth or EAP method or something)
6637
6638 2007-10-23  Dan Williams  <dcbw@redhat.com>
6639
6640         * libnm-util/nm-setting.c
6641           libnm-util/nm-setting.h
6642                 - (nm_setting_verify): new function; verify one setting
6643                 - (nm_settings_verify_all): rename from nm_settings_verify()
6644                 - (setting_connection_verify, setting_wireless_verify): allow NULL
6645                         all_settings
6646
6647         * libnm-util/nm-connection.c
6648                 - (nm_connection_replace_settings, nm_connection_verify,
6649                    nm_connection_new_from_hash): handle nm_settings_verify() rename
6650
6651 2007-10-23  Dan Williams  <dcbw@redhat.com>
6652
6653         * src/nm-device-802-11-wireless.c
6654                 - (real_act_stage2_config): use pre-increment on 'tries' to get the
6655                         desired behavior
6656
6657 2007-10-23  Dan Williams  <dcbw@redhat.com>
6658
6659         * src/supplicant-manager/nm-supplicant-settings-verify.c
6660                 - eap_allowed, phase2_allowed: harmonize with allowed values from
6661                         nm-settings.c
6662
6663 2007-10-23  Dan Williams  <dcbw@redhat.com>
6664
6665         * src/nm-device-802-11-wireless.c
6666                 - (real_act_stage2_config): after the first association failure,
6667                         if the connection still needs secrets ask the user for them
6668                         explicitly.  After the fourth association failure due to bad
6669                         secrets, fail the connection entirely.  Handles the GetSecrets
6670                         loop that NM gets into when the provided secrets don't match up
6671                         with the connection details.
6672
6673 2007-10-23  Dan Williams  <dcbw@redhat.com>
6674
6675         * src/supplicant-manager/nm-supplicant-config.c
6676                 - (nm_supplicant_config_add_setting_wireless_security): only add
6677                         WPA-specific options when WPA is in use
6678
6679 2007-10-23  Dan Williams  <dcbw@redhat.com>
6680
6681         * src/supplicant-manager/nm-supplicant-config.c
6682                 - (nm_supplicant_config_add_setting_wireless_security): 'password'
6683                         secret doesn't need to be unhexified
6684
6685 2007-10-23  Dan Williams  <dcbw@redhat.com>
6686
6687         * libnm-util/nm-setting.c
6688                 - (setting_wireless_security_need_secrets): ensure auth_alg is !NULL
6689                         before trying to do something with it
6690
6691 2007-10-23  Dan Williams  <dcbw@redhat.com>
6692
6693         * src/nm-device-802-11-wireless.c
6694                 - (merge_scanned_ap): handle NULL ssids returned from nm_ap_get_ssid()
6695
6696 2007-10-23  Dan Williams  <dcbw@redhat.com>
6697
6698         * src/nm-device-802-11-wireless.c
6699                 - (merge_scanned_ap): use libnm-util empty SSID check to catch more
6700                         non-SSID-broadcasting APs
6701
6702 2007-10-23  Dan Williams  <dcbw@redhat.com>
6703
6704         * src/NetworkManagerAP.c
6705                 - (match_cipher, security_compatible): remove
6706                 - (nm_ap_check_compatible): use nm_utils_ap_security_compatible() from
6707                         libnm-util instead
6708
6709 2007-10-23  Dan Williams  <dcbw@redhat.com>
6710
6711         * libnm-util/nm-utils.c
6712           libnm-util/nm-utils.h
6713                 - (nm_utils_ap_security_compatible): common function for checking
6714                         whether a specific AP is compatible with an NMConnection
6715
6716 2007-10-23  Dan Williams  <dcbw@redhat.com>
6717
6718         * libnm-util/nm-setting.c
6719                 - (setting_wireless_security_need_secrets, need_secrets_phase2,
6720                    need_secrets_tls, need_secrets_sim, need_secrets_eappsk,
6721                    need_secrets_password, setting_wireless_security_verify): fix
6722                         need_secrets for IEEE 802.1x and WPA-EAP by implementing need
6723                         secrets logic for each supported EAP method
6724
6725 2007-10-23  Dan Williams  <dcbw@redhat.com>
6726
6727         * src/supplicant-manager/nm-supplicant-config.c
6728                 - (nm_supplicant_config_add_setting_wireless_security): fix wpa_supplicant
6729                         config option name, should be "private_key2_passwd"
6730
6731 2007-10-22  Tambet Ingo  <tambet@gmail.com>
6732
6733         Implement support for static IP addresses, additional/overridden DNS and
6734         DNS domain search lists.
6735
6736         * libnm-util/nm-setting.c (uint_array_to_gvalue): Implement.
6737         (ip4_addresses_to_gvalue): Implement.
6738         (convert_array_to_byte_array): Implement.
6739         (nm_setting_populate_from_hash_default): Handle NM_S_TYPE_UINT_ARRAY and
6740         NM_S_TYPE_IP4_ADDRESSES.
6741         (nm_setting_hash): Ditto.
6742         (default_setting_clear_secrets): Add a default case for the switch: IP address
6743         shouldn't be secret, ever.
6744         (setting_ip4_config_verify): Update, requires addresses in case of manual
6745         configurations.
6746         (setting_ip4_config_destroy): Free stuff.
6747
6748         * src/nm-device.c (merge_ip4_config): Implement.
6749         (real_act_stage4_get_ip4_config): Merge IP4 configuration from NMConnection.
6750
6751 2007-10-22  Dan Williams  <dcbw@redhat.com>
6752
6753         * libnm-util/nm-setting.c
6754                 - (setting_wireless_security_verify): allow WEP-40 and WEP-104 as
6755                         pairwise cipher options for Dynamic WEP
6756
6757 2007-10-21  Dan Williams  <dcbw@redhat.com>
6758
6759         * src/NetworkManagerAP.c
6760           src/NetworkManagerAP.h
6761                 - Rename 'articifical' -> 'fake' since that's what they are until
6762                         noticed in scans
6763                 - (nm_ap_new_fake_from_connection): new function to create a 'fake' AP
6764                         from the attributes in an NMConnection object
6765                 - (security_compatible): better handle Dynamic WEP and LEAP; handle
6766                         WPA Enterprise
6767                 - (nm_ap_match_in_list): find a matching AP in a scan list
6768
6769         * src/nm-device-802-11-wireless.c
6770                 - (get_active_ap): add an 'ignore_ap' argument to ignore a specific
6771                         AP when searching the scan list; match on frequency and mode too
6772                 - (nm_device_802_11_wireless_get_frequency): implement
6773                 - (merge_scanned_ap): replace duplicate matching logic with
6774                         nm_ap_match_in_list()
6775                 - (real_act_stage1_prepare): handle a NULL specific object; ie where
6776                         the user is trying to connect to a hidden network that is not yet
6777                         known from the scan list
6778                 - (activation_success_handler): now that the card knows the AP's BSSID,
6779                         there may already be a scanned AP in the scan list that is what
6780                         we really wanted to connect to, but didn't know at the time.  Use
6781                         that instead of the 'fake' AP created at activation start and get
6782                         rid of the 'fake' AP 
6783                 - (cull_scan_list): don't remove fake APs
6784
6785 2007-10-21  Dan Williams  <dcbw@redhat.com>
6786
6787         * src/nm-activation-request.h
6788           src/nm-activation-request.c
6789                 - (nm_act_request_set_specific_object): new function; allow setting the
6790                         specific object if one isn't set yet
6791
6792 2007-10-20  Dan Williams  <dcbw@redhat.com>
6793
6794         * src/supplicant-manager/nm-supplicant-config.h
6795           src/supplicant-manager/nm-supplicant-config.c
6796                 - (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
6797                         table to store blobs
6798                 - (nm_supplicant_config_add_blob): new function; add blob to internal
6799                         blob hash table
6800                 - (nm_supplicant_config_get_blobs): new function; get stored blobs
6801                 - (nm_supplicant_config_add_setting_wireless_security): handle
6802                         options that use certificates (ie, blobs)
6803
6804         * src/nm-device-802-11-wireless.c
6805                 - (build_supplicant_config): pass a UID (just use the connection path)
6806                         to the supplicant config as now required
6807
6808         * src/supplicant-manager/nm-supplicant-interface.c
6809                 - (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
6810                         there are any blobs to send to wpa_supplicant, send those first
6811                         before sending the network configuration
6812
6813 2007-10-19  Dan Williams  <dcbw@redhat.com>
6814
6815         Split the GetSecrets() call off to a separate D-Bus interface so that it
6816         can be more easily locked down with D-Bus policy.  Only 'root' (ie, NM)
6817         should be able to call GetSecrets().
6818
6819         * include/NetworkManager.h
6820                 - Define the connection secrets D-Bus interface
6821
6822         * src/vpn-manager/nm-vpn-connection.c
6823                 - (clear_need_auth): get the right proxy object for the connection
6824                         secrets interface
6825                 - (get_connection_secrets): use the connection secrets proxy; send
6826                         empty hints in get secrets request
6827
6828         * src/nm-activation-request.c
6829                 - (nm_act_request_request_connection_secrets): use the connection
6830                         secrets proxy; send empty hints in get secrets request
6831
6832         * src/nm-manager.c
6833           src/nm-manager.h
6834                 - (connection_get_settings_cb): set the connection secrets proxy on
6835                         the connection object too
6836                 - (internal_new_connection_cb): create the connection secrets proxy
6837
6838         * introspection/nm-settings-connection.xml
6839                 - Define Connection.Secrets interface and move GetSecrets there
6840                 - Add a 'hints' argument to GetSecrets
6841
6842         * libnm-glib/nm-settings.c
6843           libnm-glib/nm-settings.h
6844                 - (impl_connection_settings_get_secrets): add 'hints' argument
6845
6846 2007-10-19  Dan Williams  <dcbw@redhat.com>
6847
6848         * src/nm-device.c
6849                 - (constructor): add message about what path a device is exported as
6850                         to help in debugging rh #339011
6851
6852 2007-10-17  Dan Williams  <dcbw@redhat.com>
6853
6854         * libnm-util/nm-utils.h
6855           libnm-util/nm-utils.c
6856                 - (nm_utils_security_valid): common function to help find the intersection
6857                         of capabilities of devices and (optionally) access points
6858
6859 2007-10-17  Dan Williams  <dcbw@redhat.com>
6860
6861         * src/nm-device-802-11-wireless.c
6862                 - (get_wireless_capabilities): add missing braces so that WPA capabilities
6863                         don't get erroneously cleared
6864
6865 2007-10-17  Dan Williams  <dcbw@redhat.com>
6866
6867         * src/nm-manager.h
6868           src/nm-manager.c
6869           src/nm-hal-manager.c
6870                 - (device_removed, finalize, nm_manager_remove_device,
6871                    nm_manager_sleep): add a 'deactivate' argument to 
6872                    nm_manager_remove_device() to fully deactivate devices when necessary
6873                    (ie, always except when waking up)
6874
6875 2007-10-16  Dan Williams  <dcbw@redhat.com>
6876
6877         * libnm-util/nm-setting.c
6878                 - (setting_wireless_security_verify): fix phase2_auth methods; 'sim'
6879                         also isn't valid phase2 autheap method
6880
6881 2007-10-16  Dan Williams  <dcbw@redhat.com>
6882
6883         * libnm-glib/nm-client.c
6884                 - (update_wireless_status): consolidate updates of wireless status
6885                 - (constructor): use update_wireless_status()
6886                 - (manager_running): set wireless status off when NM goes away; requery
6887                         the wireless status when NM comes back
6888
6889 2007-10-16  Dan Williams  <dcbw@redhat.com>
6890
6891         * libnm-glib/nm-client.c
6892                 - (nm_client_activate_device): actually use the fixed-up specific
6893                         object path
6894
6895 2007-10-16  Dan Williams  <dcbw@redhat.com>
6896
6897         * src/nm-hal-manager.c
6898                 - (killswitch_getpower_reply, nm_hal_manager_destroy): only print out
6899                         killswitch error messages once
6900
6901 2007-10-16  Dan Williams  <dcbw@redhat.com>
6902
6903         * src/nm-manager.c
6904                 - (manager_set_wireless_enabled): don't allow wireless to be enabled
6905                         if it's disabled in hardware; don't touch network devices while
6906                         NM is asleep
6907
6908 2007-10-16  Dan Williams  <dcbw@redhat.com>
6909
6910         * libnm-util/nm-client.c
6911                 - (nm_client_activate_device): convert NULL specific_object to "/",
6912                         which is used in place of NULL
6913
6914         * src/nm-manager.c
6915                 - (impl_manager_activate_device): convert "/" specific_object back into
6916                         NULL
6917
6918 2007-10-16  Tambet Ingo  <tambet@gmail.com>
6919
6920         Implement a generic NMSetting creator from setting name.
6921         While at it, get rid of all nm_setting_foo_new_from_hash() functions and
6922         add a virtual function 'populate_fn'.
6923
6924         * libnm-util/nm-connection.c (nm_connection_create_setting): Implement.
6925         (register_default_creators): Register setting creators instead of functions
6926         that create and then populate.
6927         (parse_one_setting): Use the common setting creator and then setting specific
6928         poplulation function.
6929
6930         * libnm-util/nm-setting.c: Get rid of nm_setting_foo_new_from_hash() functions,
6931         they all looked exactly the same.
6932         Add a 'populate_fn' virtual function to NMSetting.
6933         Use default virtual functions in case they are not overriden.
6934         (nm_setting_populate_from_hash): Implement.
6935
6936         * src/nm-device.c (real_act_stage3_ip_config_start): Don't hard code the setting
6937         name, use a defined string.
6938         (real_act_stage4_get_ip4_config): Ditto.
6939
6940 2007-10-16  Tambet Ingo  <tambet@gmail.com>
6941
6942         * src/nm-hal-manager.c (killswitch_getpower_reply): The type returned from
6943         HAL is int, not uint.
6944
6945 2007-10-15  Tambet Ingo  <tambet@gmail.com>
6946
6947         Implement killswitch polling through HAL.
6948
6949         * src/nm-manager.c: Add wireless hardware status property. Add 
6950         'properties-changed' signal for changes in wireless and wireless hardware
6951         state changes.
6952
6953         * src/nm-hal-manager.c: Poll hal for killswitch statuses in every 6 seconds
6954         and update NMManager's wireless hardware state when it has changed.
6955         (nm_hal_manager_new): Don't try to add initial devices here - (hal_init)
6956         already does that.
6957
6958         * libnm-glib/nm-client.c: Add wireless hardware status property. Cache the
6959         values of wireless state and wireless hardware state. Listen for the
6960         'properties-changed' signals, update the cached values and emit notify.
6961
6962         * include/NetworkManager.h: Fix a typo in a comment.
6963
6964 2007-10-14  Dan Williams  <dcbw@redhat.com>
6965
6966         * libnm-util/nm-setting.c
6967                 - (setting_wireless_security_need_secrets): handle LEAP secrets
6968
6969 2007-10-13  Dan Williams  <dcbw@redhat.com>
6970
6971         * libnm-util/nm-setting.h
6972           libnm-util/nm-setting.c
6973           src/supplicant-manager/nm-supplicant-config.c
6974                 - Make the 'proto' field of the 802-11-wireless-security field a
6975                         string list
6976
6977 2007-10-12  Tambet Ingo  <tambet@gmail.com>
6978
6979         Rework the "properties-changed" signal listening implementation.
6980         Add a generic implementation to NMObject class that listens for
6981         the signal and calls property setters of the target NMObject.
6982
6983         * libnm-glib/nm-object.c (nm_object_handle_properties_changed): Implement.
6984
6985         * libnm-glib/nm-device-802-11-wireless.c: Move the GObject consturction
6986         code to the end of file so that all the static functions are available
6987         without extra declarations.
6988         Remove the "properties-changed" signal handling and use the framework from
6989         NMObject.
6990         Implement property setters for properties that change with 
6991         "properties-changed" signal.
6992
6993         * libnm-glib/nm-access-point.c: Ditto.
6994
6995 2007-10-12  Tambet Ingo  <tambet@gmail.com>
6996
6997         Rework the "properties-changed" signal implementation.
6998         In classes that need to use it, just emit "GObject::notify" and the new
6999         framework takes care of the rest to make the signal available on dbus.
7000         The framework queues the notifications and tries to send as many together
7001         in one signal as possible.
7002
7003         * src/nm-properties-changed-signal.c:
7004         * src/nm-properties-changed-signal.h: Implement.
7005
7006         * src/Makefile.am: Add new files to build.
7007
7008         * src/NetworkManagerAP.c: Use the general framework for properties-changed
7009         signal.
7010
7011         * src/nm-device-802-11-wireless.c: Ditto.
7012
7013 2007-10-10  Dan Williams  <dcbw@redhat.com>
7014
7015         * src/nm-manager.c
7016                 - (wait_for_connection_expired): ensure info is valid
7017                 - (connection_added_default_handler): Should only remove pending
7018                         connection info when the manager has the connection that it's
7019                         waiting for.  Fixes segfault in wait_for_connection_info().  
7020
7021 2007-10-10  Dan Williams  <dcbw@redhat.com>
7022
7023         * libnm-util/nm-setting.c
7024           libnm-util/nm-setting.h
7025                 - Add a default 'user_name' field to the VPN setting, which VPN plugins
7026                         can use if they choose.  Should be filled in by the settings service
7027                         on-the-fly with the currently logged in user's username
7028
7029 2007-10-10  Dan Williams  <dcbw@redhat.com>
7030
7031         * src/nm-device-802-11-wireless.c
7032                 - (merge_scanned_ap): make sure non-SSID-broadcasting APs are marked
7033                         as such, because even if the manager fills in the SSID, NM still
7034                         has to indicate to wpa_supplicant that the AP isn't broadcasting
7035                         its SSID
7036
7037 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7038
7039         Move ppp-manager over to dbus-glib. The big deal is that it was the last piece of
7040         code that used NM's own version of dbus signal handling and custom dictionary
7041         marshalling/unmarshalling. With this change, all that obsolete code can disappear
7042         and we get to maintain over 2000 lines less code.
7043
7044         * libnm-util/dbus-dict-helpers.c:
7045         * libnm-util/dbus-dict-helpers.h: Remove.
7046
7047         * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.
7048
7049         * src/ppp-manager/nm-pppd-plugin.xml: Implement.
7050
7051         * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of home-brewed dbus signal
7052         handlers.
7053
7054         * src/nm-dbus-manager.c: Remove all the manual dbus signal handling.
7055
7056         * configure.in: Remove test/libnm-util/Makefile creation.
7057
7058         * test/Makefile.am: Remove libnm-util from SUBDIRS.
7059
7060         * test/libnm-util/: Remove the whole directory.
7061
7062 2007-10-10  Tambet Ingo  <tambet@gmail.com>
7063
7064         * src/NetworkManagerPolicy.c (nm_policy_new): Initialize the 
7065         device_state_changed_idle_id variable or it would contain some random value and the
7066         schedule_change_check calls would not do anything.
7067
7068 2007-10-09  Dan Williams  <dcbw@redhat.com>
7069
7070         * src/nm-device-802-11-wireless.c
7071                 - (supplicant_iface_scanned_ap_cb): set the non-broadcast flag elsewhere
7072                 - (merge_scanned_ap): only have the manager fill the SSID if the AP
7073                         isn't broadcasting its SSID; set the non-broadcast flag here; fix
7074                         merging of non-SSID-broadcasting APs
7075
7076 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7077
7078         * libnm-util/nm-utils.c (nm_utils_is_empty_ssid): Convert the ssid type to
7079         "guint8 *" since it's usually used with GByteArray->data.
7080         (nm_utils_ssid_to_utf8): Add it back, the applet needs it.
7081
7082 2007-10-09  Tambet Ingo  <tambet@gmail.com>
7083
7084         * src/NetworkManagerUtils.c
7085         (nm_utils_is_empty_ssid):
7086         (nm_utils_escape_ssid):
7087         (nm_utils_same_ssid): Remove. These functions are copied and pasted in a 
7088         lot of places, so they belong to libnm-utils instead.
7089
7090         Now with 100% less compiler warnings:
7091
7092         * libnm-util/nm-utils.c (nm_dbus_escape_object_path): Remove, unused.
7093         (nm_dbus_unescape_object_path): Ditto.
7094         (nm_utils_ssid_to_utf8): Ditto.
7095         (nm_utils_is_empty_ssid): Move here from src/NetworkManagerUtils.c
7096         (nm_utils_escape_ssid): Ditto.
7097         (nm_utils_same_ssid): Ditto.
7098
7099         * src/nm-manager.c: Include 'netinet/ether.h' for ether_aton_r.
7100         (add_one_connection_element): Remove an unused variable.
7101         (impl_manager_get_active_connections): Ditto.
7102
7103         * src/NetworkManagerPolicy.c (get_device_connection): Remove an unused
7104         variable.
7105
7106         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Remove a leftover
7107         from the previous commit.
7108
7109         * src/nm-device-802-11-wireless.c (set_current_ap): Remove unused variable.
7110         (real_act_stage1_prepare): Ditto.
7111         (activation_success_handler): Ditto.
7112         (get_property): Ditto.
7113
7114         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Remove unused
7115         variable.
7116
7117         * src/ppp-manager/nm-pppd-plugin.c (nm_ip_up): Remove the check for 'ifname',
7118         it's always set.
7119
7120         * src/supplicant-manager/nm-supplicant-config.c 
7121         (nm_supplicant_config_add_setting_wireless): Cast the GByteArray's 'guint8 *'
7122         to expected "char *".
7123         (nm_supplicant_config_add_setting_wireless): Ditto.
7124         (nm_supplicant_config_remove_option): Remove, not used.
7125
7126         * libnm-glib/libnm-glib-test.c (dump_access_point): Frequency is a guint32,
7127         not double.
7128         (test_wireless_enabled): Ifdef out unused function.
7129         (device_deactivate): Ditto.
7130         (device_state_changed): Ditto.
7131         (nm_utils_is_empty_ssid): Remove, it's now in libnm-utils.
7132         (nm_utils_escape_ssid): Ditto.
7133
7134         * test/nm-tool.c (nm_utils_escape_ssid): Remove, it's now in libnm-utils.
7135         (nm_utils_is_empty_ssid): Ditto.
7136
7137         * libnm-glib/nm-client.c (nm_client_free_active_connection_element): Remove
7138         unused variable.
7139
7140         * libnm-util/nm-setting.c (setting_wireless_destroy): Remove unused variable.
7141         (setting_vpn_properties_update_secrets): Ditto.
7142         (int_to_gvalue): Ifdef out for now, not used.
7143         (byte_to_gvalue): Ditto.
7144
7145         * libnm-util/dbus-dict-helpers.c (_nmu_dbus_add_dict_entry_string_array): 
7146         Unused, remove.
7147
7148 2007-10-08  Tambet Ingo  <tambet@gmail.com>
7149
7150         * src/NetworkManager.c (main): When dbus manager doesn't want to start, complain
7151         about dbus manager, not named manager.
7152         Make sure hal_manager and dbus_mgr are created before trying to unreference.
7153
7154         * src/nm-dbus-manager.c: There was an issue with priv->proxy: We have a signal
7155         handler for it's 'destroy' signal - we use it to catch disconnects from dbus.
7156         However, the same signal is emitted when we destroy it and there's 
7157         nm_dbus_manager_cleanup -> destroy_cb -> nm_dbus_manager_cleanup cycle.
7158
7159         (nm_dbus_manager_cleanup): Let go of the DBusGProxy before
7160         releasing the DBusGConnection, since proxy needs a conneciton.
7161         (destroy_cb): Set the private proxy to NULL before cleaning up the manager.
7162
7163 2007-10-08  Dan Williams  <dcbw@redhat.com>
7164
7165         * src/NetworkManager.c
7166                 - (main): error on unknown command-line options
7167
7168 2007-10-08  Dan Williams  <dcbw@redhat.com>
7169
7170         Reimplement the invalid connection list.  Don't try to re-activate a
7171         connection that just failed or was canceled.
7172
7173         * src/nm-device.c
7174                 - (connection_secrets_failed_cb): fail device activation, don't just
7175                         deactivate the device.  Listeners have to know about the failure.
7176
7177         * src/NetworkManagerPolicy.c
7178                 - (nm_policy_auto_get_best_device): exclude invalid connections from
7179                         the connection list given to a device's get_best_connection()
7180                         method
7181                 - (device_state_changed): tag failed connections as invalid; clear the
7182                         tag from successful connections
7183
7184 2007-10-08  Dan Williams  <dcbw@redhat.com>
7185
7186         Fix problems with interrupted activation.  Previously, choosing an AP
7187         from the menu, then choosing another one before the first connection was
7188         successful wouldn't deactivate the device before starting the new connection
7189         on that same device.
7190
7191         * src/NetworkManagerPolicy.c
7192                 - (deactivate_old_device, device_state_changed, state_changed,
7193                    nm_policy_new): wrong place to deactivate old devices
7194
7195         * src/nm-manager.c
7196                 - (pending_connection_info_destroy, finalize,
7197                    wait_for_connection_expired): decouple destruction of the pending
7198                         connection info from the manager device
7199                 - (connection_added_default_handler): deactivate any active or
7200                         activating device before starting a new activation
7201                 - (impl_manager_activate_device): deactivate any active or activating
7202                         device before starting a new activation; be sure not to leak
7203                         pending connection info if a new activation request arrives but
7204                         there's already a pending one in-process
7205
7206 2007-10-08  Dan Williams  <dcbw@redhat.com>
7207
7208         * src/NetworkManagerAP.h
7209           src/NetworkManagerAP.c
7210                 - (nm_ap_has_manufacturer_default_ssid): remove, unused.  User clients
7211                         should handle default SSIDs and whether or not to autoconnect
7212                         to them
7213
7214 2007-10-08  Dan Williams  <dcbw@redhat.com>
7215
7216         * src/NetworkManagerPolicy.c
7217                 - (nm_policy_device_change_check): print out connection name where
7218                         possible
7219
7220 2007-10-08  Dan Williams  <dcbw@redhat.com>
7221
7222         * src/nm-device-802-11-wireless.c
7223           src/nm-device-802-11-wireless.h
7224                 - (nm_device_802_11_wireless_class_init, merge_scanned_ap): new
7225                         'hidden-ap-found' signal (for internal use only) that allows the
7226                         NMManager to fill in the AP's SSID if a connection has that AP's
7227                         BSSID in its seen-bssids list
7228
7229         * src/nm-manager.c
7230                 - (manager_hidden_ap_found, nm_manager_add_device): attach to a
7231                         wireless device's hidden-ap-found signal and fill in the APs SSID
7232                         if possible
7233
7234 2007-10-07  Dan Williams  <dcbw@redhat.com>
7235
7236         * src/nm-manager.c
7237           src/nm-manager.h
7238                 - Add a 'connections-added' signal to batch together updates of large
7239                         numbers of connections, like when reading from a settings service
7240                         the first time.  Otherwise, the policy would just activate the first
7241                         suitable connection it saw rather than waiting for the full list
7242                         to arrive.
7243                 - (nm_manager_class_init): register new signal
7244                 - (get_type_for_proxy, connection_get_settings_cb,
7245                    get_connection_for_proxy): centralize places where a proxy's setting
7246                         service is determined
7247                 - (free_get_settings_info): if the call being freed is the last call
7248                         in a pending call group, fire off the connections-added signal
7249                 - (internal_new_connection_cb): add call to a pending call group if
7250                         requested
7251                 - (list_connections_cb): always create a call group here, because this
7252                         call results in a batch of new connections
7253                 - (initial_get_connections): start getting system connections first
7254                 - (nm_manager_connections_destroy, emit_removed): actually emit the
7255                         removed signal when destroying connections
7256
7257         * src/NetworkManagerPolicy.c
7258                 - (nm_policy_new, connections_added): handle connections-added signal
7259                         from the manager
7260
7261 2007-10-06  Dan Williams  <dcbw@redhat.com>
7262
7263         * src/nm-device-802-11-wireless.c
7264                 - (constructor): fix leaked socket
7265
7266 2007-10-06  Dan Williams  <dcbw@redhat.com>
7267
7268         * src/NetworkManagerPolicy.c
7269                 - (nm_policy_auto_get_best_device): fix connection list reffing.  Each
7270                         connection in the list returned by nm_manager_get_connections() is
7271                         reffed, but they weren't getting unreffed before returning
7272
7273 2007-10-06  Dan Williams  <dcbw@redhat.com>
7274
7275         * src/nm-manager.c
7276                 - (connections_to_slist): sort connections first on autoconnect, then
7277                         on timestamp
7278
7279 2007-10-06  Dan Williams  <dcbw@redhat.com>
7280
7281         * libnm-util/nm-connection.c
7282                 - (gvalue_to_string): handle UINT64
7283
7284 2007-10-06  Dan Williams  <dcbw@redhat.com>
7285
7286         * src/NetworkManagerPolicy.c
7287                 - (connection_updated, nm_policy_new): recheck state when a connection
7288                         gets updated
7289
7290 2007-10-06  Dan Williams  <dcbw@redhat.com>
7291
7292         * src/nm-manager.c
7293           src/nm-manager.h
7294                 - (nm_manager_get_connection_dbus_path): make static
7295                 - (nm_manager_update_connections): remove; unused
7296                 - Add a connection-updated signal
7297                 - (new_connection_cb, connection_updated_cb, nm_manager_class_init):
7298                         handle connection object updates
7299
7300 2007-10-06  Dan Williams  <dcbw@redhat.com>
7301
7302         * src/NetworkManagerPolicy.c
7303                 - (connection_removed): deactivate removed connections
7304
7305 2007-10-06  Dan Williams  <dcbw@redhat.com>
7306
7307         * libnm-util/nm-connection.c
7308           libnm-util/nm-connection.h
7309                 - (nm_connection_replace_settings): new function
7310
7311 2007-10-06  Dan Williams  <dcbw@redhat.com>
7312
7313         * libnm-glib/nm-device-802-11-wireless.c
7314                 - (nm_device_802_11_wireless_get_active_access_point): don't segfault
7315                         on error when getting the active access point over D-Bus from NM
7316
7317 2007-10-05  Dan Williams  <dcbw@redhat.com>
7318
7319         * libnm-util/nm-setting.c
7320                 - (setting_wireless_verify, setting_wireless_destroy): add seen_bssids
7321                         to the NMSettingWireless table; it's now a string array not an array
7322                         of byte arrays
7323
7324 2007-10-05  Dan Williams  <dcbw@redhat.com>
7325
7326         * libnm-glib/nm-device-802-11-wireless.c
7327                 - Cache properties and update cached properties on D-Bus signals from NM
7328
7329 2007-10-05  Dan Williams  <dcbw@redhat.com>
7330
7331         * src/nm-device-802-11-wireless.c
7332                 - (set_current_ap): consolidate current_ap handling code into one place
7333                         to ensure that PropertiesChanged signals are emitted in all cases
7334                 - (periodic_update, real_deactivate_quickly, real_act_stage1_prepare,
7335                    nm_device_802_11_wireless_dispose): use set_current_ap()
7336
7337 2007-10-05  Dan Williams  <dcbw@redhat.com>
7338
7339         * libnm-glib/nm-access-point.c
7340           libnm-glib/nm-access-point.h
7341                 - (nm_access_point_get_hw_address): return 'const char *', not 'char *'
7342                         because the value is cached internally now.  Callers should not
7343                         free the internal value.
7344                 - Make signal name defines private
7345
7346         * test/nm-tool.c
7347           libnm-glib/libnm-glib-test.c
7348                 - Don't free value returned from nm_access_point_get_hw_address()
7349
7350 2007-10-04  Dan Williams  <dcbw@redhat.com>
7351
7352         * introspection/nm-device-802-11-wireless.xml
7353           src/nm-device-802-11-wireless.h
7354           src/nm-device-802-11-wireless.c
7355                 - Add a PropertiesChanged signal for wireless device
7356                 - Store currently associated access point
7357                 - (periodic_update): generalize; update rate here too and emit the
7358                         correct PropertiesChanged signal when stuff changes
7359                 - (real_deactivate_quickly, nm_device_802_11_wireless_dispose,
7360                    real_activation_cancel_handler): clear current_ap when device is
7361                         deactivated
7362                 - (link_to_specific_ap, get_ap_blacklisted,
7363                    nm_device_802_11_wireless_get_best_ap): remove obsolete and unused
7364                         code
7365                 - (nm_device_802_11_wireless_get_bitrate): make static; unused anywhere
7366                         outside this file
7367                 - (real_set_hw_address): emit property changed signal if the card's
7368                         MAC address changes
7369                 - (real_act_stage1_prepare): set the initial current_ap to the AP
7370                         the card is supposed to be connecting to
7371                 - (activation_success_handler): send out property updates on successful
7372                         activation
7373                 - (get_property): pull bitrate from cached value; use OBJECT_PATH type
7374                         for ACTIVE_ACCESS_POINT property because sometimes there won't be
7375                         one and dbus-glib doesn't like marshalling NULL G_TYPE_OBJECTs
7376                 - (nm_device_802_11_wireless_class_init): ACTIVE_ACCESS_POINT property
7377                         is now boxed; add PropertiesChanged signal
7378
7379 2007-10-04  Dan Williams  <dcbw@redhat.com>
7380
7381         * libnm-util/nm-connection.c
7382           libnm-util/nm-connection.h
7383                 - (nm_connection_verify): new function
7384
7385 2007-10-04  Dan Williams  <dcbw@redhat.com>
7386
7387         * libnm-util/nm-setting.c
7388                 - (nm_settings_verify): use #defines when possible rather than strings
7389                 - (setting_connection_verify): ensure that 'name' and 'type' are valid
7390                 - (setting_vpn_verify): tighter validity check on 'service_type'
7391
7392 2007-10-04  Dan Williams  <dcbw@redhat.com>
7393
7394         * libnm-glib/nm-settings.c
7395                 - (nm_connection_settings_class_init): provide correct type for argument
7396                         to the Updated signal so that dbus-glib knows how to marshal it
7397
7398 2007-10-03  Dan Williams  <dcbw@redhat.com>
7399
7400         * src/nm-device-802-3-ethernet.c
7401                 - (real_get_best_connection): don't create automatic connections
7402                         internally; clients should provide a setting that applies to
7403                         the device with 'autoconnect: True'.  Problem was that these
7404                         internally auto-created connections don't have a proxy or service
7405                         name becuase they weren't created by a settings daemon, and therefore
7406                         clients have no idea what to do with them.
7407
7408 2007-10-03  Dan Williams  <dcbw@redhat.com>
7409
7410         * src/nm-device-802-11-wireless.c
7411           src/nm-device-802-11-wireless.h
7412           introspection/nm-device-802-11-wireless.xml
7413                 - GetActiveNetworks -> GetAccessPoints
7414                 - ActiveNetwork -> ActiveAccessPoint
7415                 - NetworkAdded -> AccessPointAdded
7416                 - NetowrkRemoved -> AccessPointRemoved
7417
7418         * libnm-glib/nm-device-802-11-wireless.c
7419           libnm-glib/nm-device-802-11-wireless.h
7420                 - network-added signal -> access-point-added
7421                 - network-removed signal -> access-point-removed
7422                 - nm_device_802_11_wireless_get_active_network() ->
7423                         nm_device_802_11_wireless_get_active_access_point()
7424                 - nm_device_802_11_wireless_get_network_by_path() ->
7425                         nm_device_802_11_wireless_get_access_point_by_path()
7426                 - nm_device_802_11_wireless_get_networks() ->
7427                         nm_device_802_11_wireless_get_access_points()
7428
7429         * libnm-glib/libnm-glib-test.c
7430           test/nm-tool.c
7431           src/NetworkManagerPolicy.c
7432                 - Fixups for Network -> AccessPoint
7433
7434 2007-10-03  Dan Williams  <dcbw@redhat.com>
7435
7436         Add a GetActiveConnections() method on the Manager object.
7437
7438         * src/nm-manager.c
7439           src/nm-manager.h
7440           introspection/nm-manager.xml
7441                 - (connection_get_settings_cb): keep connection type around too
7442                 - (impl_manager_get_active_connections, add_one_connection_element):
7443                         implement; returns all active connections and what devices they
7444                         apply to
7445
7446         * libnm-glib/nm-client.c
7447           libnm-glib/nm-client.h
7448           introspection/nm-manager-client.xml
7449                 - (nm_client_get_devices): GPtrArray elements are allocated and owned
7450                         by the caller; free here to avoid memory leak
7451                 - (nm_client_get_active_connections): implement; return the list of
7452                         active connections
7453                 - (nm_client_free_active_connection_element): implement; free an element
7454                         of the GSList returned by nm_client_get_active_connections()
7455
7456 2007-10-03  Dan Williams  <dcbw@redhat.com>
7457
7458         * src/nm-device-802-11-wireless.c
7459                 - (nm_device_802_11_wireless_update_bssid): remove
7460                 - (get_active_ap): new function; find the AP in the scan list which
7461                         matches the current BSSID and SSID of the wireless device
7462                 - (nm_device_802_11_periodic_update): get current AP using
7463                         get_active_ap() and print AP roam messages
7464
7465 2007-10-01  Dan Williams  <dcbw@redhat.com>
7466
7467         * libnm-util/nm-setting.h
7468                 - Add a 'timestamp' option to NMSettingConnection
7469                 - Add a UINT64 type
7470
7471         * libnm-util/nm-setting.c
7472                 - (uint64_to_gvalue): new function
7473                 - (nm_setting_populate_from_hash, nm_setting_hash,
7474                    default_setting_clear_secrets): handle UINT64 type
7475                 - con_table: add 'timestamp' member
7476
7477 2007-10-01  Dan Williams  <dcbw@redhat.com>
7478
7479         * src/nm-manager.c
7480                 - (impl_manager_activate_device): ensure the D-Bus method sends a return
7481                         value when the connection can be activated immediately
7482
7483 2007-10-01  Dan Williams  <dcbw@redhat.com>
7484
7485         * libnm-glib/nm-device.c
7486                 - (nm_device_class_init): actually tell glib about the carrier-changed
7487                         signal
7488
7489 2007-10-01  Dan Williams  <dcbw@redhat.com>
7490
7491         * configure.in
7492           src/marshallers/Makefile.am
7493           src/marshallers/nm-marshal.list
7494           src/marshallers/nm-marshal-main.c
7495                 - Consolidate glib marshallers into one place
7496
7497         * src/dhcp-manager/Makefile.am
7498           src/dhcp-manager/nm-dhcp-manager.c
7499           src/supplicant-manager/Makefile.am
7500           src/supplicant-manager/nm-supplicant-manager.c
7501           src/supplicant-manager/nm-supplicant-interface.c
7502           src/ppp-manager/Makefile.am
7503           src/ppp-manager/nm-ppp-manager.c
7504           src/vpn-manager/Makefile.am
7505           src/vpn-manager/nm-vpn-connection.c
7506           src/Makefile.am
7507                 - Use consolidated marshallers
7508
7509         * src/dhcp-manager/nm-dhcp-marshal.list
7510           src/dhcp-manager/nm-dhcp-marshal-main.c
7511           src/supplicant-manager/nm-supplicant-marshal-main.c
7512           src/supplicant-manager/nm-supplicant-marshal.list
7513           src/nm-marshal-main.c
7514           src/nm-marshal.list
7515           src/ppp-manager/nm-ppp-marshal-main.c
7516           src/ppp-manager/nm-ppp-marshal.list
7517           src/vpn-manager/nm-vpn-marshal-main.c
7518           src/vpn-manager/nm-vpn-marshal.list
7519                 - Remove
7520
7521 2007-10-01  Dan Williams  <dcbw@redhat.com>
7522
7523         * include/NetworkManagerVPN.h
7524                 - define VPN connection state change reason codes
7525
7526         * src/vpn-manager/Makefile.am
7527           src/vpn-manager/nm-vpn-marshal.list
7528           src/vpn-manager/nm-vpn-marshal-main.c
7529                 - Add marshallers for StateChanged signal
7530
7531         * introspection/nm-vpn-connection.xml
7532                 - New Banner property
7533                 - StateChanged signal now includes a 'reason' argument
7534
7535         * src/vpn-manager/nm-vpn-connection.c
7536           src/vpn-manager/nm-vpn-connection.h
7537                 - Add a "Banner" property that contains the returned VPN server login
7538                         banner (if any); valid only in the ACTIVATED state
7539                 - (nm_vpn_connection_set_state, nm_vpn_connection_disconnect): now takes
7540                         a 'reason' argument and emits that reason along with the
7541                         state-changed signal
7542                 - Fix up calls to nm_vpn_connection_set_state() to include a reason
7543                 - (nm_vpn_connection_ip4_config_get): save banner for later
7544                 - (nm_vpn_connection_get_banner, get_property,
7545                    nm_vpn_connection_class_init): implement Banner property
7546
7547         * src/vpn-manager/nm-vpn-service.c
7548                 - (nm_vpn_service_connections_stop): take a reason argument; copy the
7549                         connection list because elements may get added/removed from it
7550                         while iterating over the list
7551                 - (connection_state_changed): signal now includes the 'reason' argument
7552
7553         * libnm-glib/nm-vpn-connection.c
7554           libnm-glib/nm-vpn-connection.h
7555                 - (nm_vpn_connection_get_banner): new function
7556                 - (state_changed_proxy): handle reason argument
7557
7558 2007-09-28  Tambet Ingo  <tambet@gmail.com>
7559
7560         * src/nm-manager.c:
7561         * src/nm-manager.h:
7562         Implement device activation through NMManager.
7563         Implement "pending device activation" here - If the connection isn't found,
7564         we try to wait for up to 5 seconds for the connection to be provided.
7565         Add NMConnectionType argument to "connection-added" and "connection-removed"
7566         signals.
7567         (nm_manager_get): Remove. Finally.
7568
7569         * src/nm-activation-request.c: 
7570         * src/nm-activation-request.h: 
7571         Remove all the deferred activation code.
7572
7573         * src/nm-device.c: Remove all the deferred activation code. Once the device
7574         activation is started, it's started. Update the activation virtual function
7575         signature.
7576
7577         * src/nm-device-interface.c:
7578         * src/nm-device-interface.h:
7579         Device activation now takes only NMActRequest argument.
7580         Don't expose device activation directly on dbus, it's supposed to go through
7581         NMManager now.
7582
7583         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Make the code
7584         a bit more compact.
7585         Use the new device activation methods through NMManager.
7586
7587         * introspection/nm-manager-client.xml: 
7588         * introspection/nm-manager.xml: 
7589         * libnm-glib/nm-client.c:
7590         * libnm-glib/nm-client.h:
7591         Add device activation method.
7592         
7593         * libnm-glib/nm-device.c: 
7594         * libnm-glib/nm-device.h: 
7595         * introspection/nm-device.xml: 
7596         Remove device activation method. It's done through NMManager now.
7597
7598         * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect): Use the shiny
7599         new (nm_manager_get_device_by_path) function, get rid of our own )find_device).
7600
7601 2007-09-28  Dan Williams  <dcbw@redhat.com>
7602
7603         * libnm-glib/nm-vpn-connection.c
7604                 - (nm_vpn_connection_get_state): try to update state if the current
7605                         state is UNKNOWN
7606
7607 2007-09-27  Dan Williams  <dcbw@redhat.com>
7608
7609         Patch from Bill Nottingham
7610
7611         * src/supplicant-manager/nm-supplicant-config.c
7612                 - (ADD_STRING_VAL): use correct length for binary blobs when sending
7613                         data to the supplicant
7614
7615 2007-09-27  Dan Williams  <dcbw@redhat.com>
7616
7617         * src/NetworkManagerSystem.c
7618                 - (nm_system_vpn_device_set_from_ip4_config): clean up indentation;
7619                         and all address manipulation here should be happening on the
7620                         _VPN_ device, not the active device
7621
7622 2007-09-26  Dan Williams  <dcbw@redhat.com>
7623
7624         * src/nm-manager.c
7625           src/nm-manager.h
7626           src/nm-activation-request.c
7627           src/nm-activation-request.h
7628                 - Move the GetSecrets stuff out of the NMManager instance because it
7629                         doesn't really need to be there and complicates things
7630
7631         * src/nm-device.c
7632                 - (connection_secrets_failed_cb, device_activation_go): connect to the
7633                         connection-secrets-failed signal and deactivate the device if
7634                         the GetSecrets call fails
7635
7636         * src/nm-device-802-11-wireless.c
7637                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7638                    real_act_stage2_config, real_act_stage4_ip_config_timeout): request
7639                         secrets and give correct hints about whether new secrets should be
7640                         asked for by the client or not
7641
7642 2007-09-26  Dan Williams  <dcbw@redhat.com>
7643
7644         * src/vpn-manager/nm-vpn-connection.c
7645                 - (nm_vpn_connection_set_state, clear_need_auth, finalize,
7646                    connection_secrets_updated_cb, get_secrets_cb): don't need to attach
7647                         to the secrets-updated signal of the NMConnection since updating
7648                         the secrets is done within the scope of the NMVPNConnection object
7649                         already
7650                 - (get_connection_secrets): fix an uninialized variable usage error
7651
7652 2007-09-26  Dan Williams  <dcbw@redhat.com>
7653
7654         * libnm-util/nm-setting.c
7655                 - (setting_vpn_properties_update_secrets): implement so VPN secrets
7656                         actually get updated when the user enters them
7657
7658 2007-09-26  Dan Williams  <dcbw@redhat.com>
7659
7660         * libnm-glib/nm-vpn-plugin.c
7661                 - (impl_vpn_plugin_need_secrets): fix logic when no secrets are needed
7662
7663 2007-09-26  Dan Williams  <dcbw@redhat.com>
7664
7665         * include/NetworkManagerVPN.h
7666                 - Add a NEED_AUTH state
7667
7668         * src/vpn-manager/nm-vpn-connection.c
7669                 - Implement the NEED_AUTH state.  First ask the VPN service plugin if
7670                         the connection needs secrets, and if so, then ask the settings
7671                         service to fill in the secrets.  Then start the connection.
7672
7673 2007-09-26  Dan Williams  <dcbw@redhat.com>
7674
7675         * src/vpn-manager/nm-vpn-manager.c
7676                 - (new_vpn_error, impl_vpn_manager_connect): set errors
7677
7678 2007-09-26  Dan Williams  <dcbw@redhat.com>
7679
7680         * introspection/nm-vpn-plugin.xml
7681           libnm-glib/nm-vpn-plugin.c
7682           libnm-glib/nm-vpn-plugin.h
7683                 - (impl_vpn_plugin_need_secrets): implement a call that should return
7684                         the name of the NMSetting in an NMConnection that may require
7685                         secrets specific to that VPN plugin
7686
7687 2007-09-26  Dan Williams  <dcbw@redhat.com>
7688
7689         * src/nm-manager.c
7690           src/nm-manager.h
7691                 - (nm_manager_get_connection_secrets): make static, unused outside
7692                         the file
7693                 - Provide NM_MANAGER_CONNECTION_PROXY_TAG for other users
7694
7695 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7696
7697         * libnm-glib/nm-vpn-plugin.c (nm_vpn_plugin_connect): Update the plugin activation
7698         method.
7699         (impl_vpn_plugin_connect): Convert properties hash to NMConnection, activate, and
7700         unreference the connection.
7701
7702         * introspection/nm-vpn-plugin.xml: Modify the 'Connect' method arguments: instead of
7703         passing properties hash and routes string list, pass NMConnection (in hashed form).
7704
7705         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Return routes
7706         as GSList, no need to copy stuff around anymore.
7707         (nm_vpn_connection_activate): Update the plugin activation method.
7708
7709         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Convert
7710         routes argument to GSList.
7711
7712 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7713
7714         * src/nm-manager.c (manager_device_state_changed): Listen to device' NEED_AUTH
7715         state and try to get the secrets.
7716
7717         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Get the list of
7718         connections from NMManager and let the device to choose the best from the list.
7719         Since the connection list is sorted by system ones first and user ones later,
7720         the devices still prefer system connections like they did before.
7721         (deactivate_old_device): Implement. When a device starts activation, we have a
7722         policy (for now at least) to deactivate any other device that might be either
7723         active or still activating.
7724
7725         * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the private structure.
7726         It's set on construction, there will be no other way to access it.
7727
7728         * src/nm-device-802-11-wireless.c: Don't touch NMManager, NMManager can listen to
7729         device events and drive the device, not the other way around.
7730
7731         * src/nm-device-802-3-ethernet.c: Ditto.
7732
7733         * src/nm-device.c (nm_device_get_best_connection): The connections list is now
7734         sent along, pass it on to virtual functions.
7735
7736         * src/nm-device-interface.c (nm_device_interface_get_iface): Implement. It's static
7737         for now, but should really be public instead of nm_device_get_iface() since iface
7738         is a property of the DeviceInterface, not Device.
7739         (impl_device_activate): Don't touch NMManager!
7740
7741 2007-09-26  Jürg Billeter  <j@bitron.ch>
7742
7743         * initscript/paldo/NetworkManager.in:
7744         * initscript/paldo/NetworkManagerDispatcher.in:
7745         * src/backends/NetworkManagerPaldo.c: (nm_system_enable_loopback),
7746         (nm_system_flush_loopback_routes): update paldo backend
7747
7748 2007-09-26  Tambet Ingo  <tambet@gmail.com>
7749
7750         * src/nm-device-802-3-ethernet.c (real_get_best_connection): Don't leak NMManager.
7751         The problem with leaking NMManager is that on shutdown, it doesn't get destroyed,
7752         which means none of the devices get brought down properly, which in turn leaves
7753         DHCP client running.
7754
7755         * src/nm-device-802-11-wireless.c (real_get_best_connection): Ditto.
7756         (supplicant_connection_timeout_cb): Ditto.
7757
7758 2007-09-25  Dan Williams  <dcbw@redhat.com>
7759
7760         * src/nm-device.c
7761                 - (device_activation_go): small hack to work around race when
7762                         activating deferred connections; should solve this in a better way
7763
7764 2007-09-25  Dan Williams  <dcbw@redhat.com>
7765
7766         * introspection/nm-device.xml
7767           libnm-glib/nm-device.c
7768           libnm-glib/nm-device.h
7769                 - Add 'Carrier' property to exported NMDevice objects
7770
7771         * src/nm-device-interface.h
7772           src/nm-device-interface.c
7773           src/nm-device.c
7774                 - Add a 'carrier' property to internal NMDevice objects
7775
7776 2007-09-25  Dan Williams  <dcbw@redhat.com>
7777
7778         * src/nm-device-802-11-wireless.c
7779                 - (ap_auth_enforced): also return the encryption status of the AP so
7780                         that callers can differentiate easily between unencrypted APs
7781                         and encrypted ones, in addition to whether the AP has an
7782                         authenticator
7783                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7784                    real_act_stage4_ip_config_timeout): handle unencrypted APs better,
7785                         previously would request secrets from unencrypted APs at times
7786
7787 2007-09-25  Dan Williams  <dcbw@redhat.com>
7788
7789         * src/nm-manager.c
7790                 - (nm_manager_update_state): new function; updates state and emits
7791                         appropriate signals ensuring a state-change signal for the same state
7792                         never gets emitted twice in a row.
7793                 - (manager_device_state_changed): handle more device state to get a
7794                         better picture of the overall NM state
7795
7796 2007-09-25  Dan Williams  <dcbw@redhat.com>
7797
7798         * libnm-glib/nm-settings.c
7799           libnm-glib/nm-settings.h
7800                 - (new_error -> nm_settings_new_error): make public so that subclasses
7801                         can use the same error domain.  Also pass a valid error code to
7802                         g_error_new_literal() so that libdbus doesn't assert when converting
7803                         the GError into a DBusError
7804                 - (impl_settings_list_connections, impl_connection_settings_get_id,
7805                    impl_connection_settings_get_settings,
7806                    impl_connection_settings_get_secrets): use new error creator
7807                         function
7808
7809 2007-09-25  Dan Williams  <dcbw@redhat.com>
7810
7811         * src/NetworkManager.c
7812                 - (nm_signal_handler, main): don't ignore SIGTERM/SIGINT during startup
7813
7814 2007-09-25  Dan Williams  <dcbw@redhat.com>
7815
7816         * src/supplicant-manager/nm-supplicant-manager.c
7817                 - (poke_supplicant_cb, nm_supplicant_manager_init,
7818                    nm_supplicant_manager_dispose, nm_supplicant_manager_name_owner_changed,
7819                    nm_supplicant_manager_startup): when the supplicant isn't running,
7820                         try to start it periodically via system bus activation.  Fixes
7821                         a problem where if wpa_supplicant goes away, NM gets stuck waiting
7822                         for the supplicant to come back
7823
7824 2007-09-25  Dan Williams  <dcbw@redhat.com>
7825
7826         Ensure that old activation requests are forgotten about; previously
7827         hitting Cancel in the password dialog would deactivate whatever device
7828         that password was requested for, even if that wasn't the currently
7829         activating connection.
7830
7831         * src/nm-manager.c
7832           src/nm-manager.h
7833                 - (nm_manager_get_connection_secrets): track the pending call
7834                         object so it can be canceled later if needed
7835                 - (nm_manager_cancel_get_connection_secrets): cancel a pending
7836                         GetSecrets call for a particular connection
7837
7838         * src/nm-activation-request.c
7839                 - (dispose): cancel any outstanding GetSecrets calls on the
7840                         connection
7841
7842 2007-09-25  Dan Williams  <dcbw@redhat.com>
7843
7844         * src/NetworkManagerPolicy.c
7845                 - (nm_policy_device_change_check): handle devices that have a
7846                         deferred activation.  These devices are not really active _yet_,
7847                         but need to be treated as such here.  Don't interrupt them
7848                         automatically.
7849
7850         * src/nm-device-interface.c
7851                 - (impl_device_activate): handle devices that have a deferred activation
7852                         like activating or active devices.  When multiple active devices
7853                         get committed, the device shouldn't be deactivated until the
7854                         connection details are available to avoid DoS and such.  Currently,
7855                         any active, activating, or deferred activation device is deactivated
7856                         here before starting the new activation request.
7857
7858 2007-09-25  Dan Williams  <dcbw@redhat.com>
7859
7860         Properly re-query secrets from the settings daemon when stuff fails.
7861
7862         * src/nm-device-802-11-wireless.c
7863                 - (ap_auth_enforced): handle static WEP correctly here by differentiating
7864                         between Shared Key and Open System auth modes
7865                 - (link_timeout_cb, supplicant_connection_timeout_cb,
7866                    real_act_stage4_ip_config_timeout): clear existing secrets and
7867                         request new ones when something fails due to a suspected wrong key
7868                 - (real_act_stage2_config): fix for new request_new argument to
7869                         nm_manager_get_connection_secrets()
7870
7871         * src/nm-manager.c
7872           src/nm-manager.h
7873                 - (nm_manager_get_connection_secrets): return error status; pass
7874                         new request_new argument on to the settings daemon
7875
7876         * introspection/nm-settings-connection.xml
7877                 - New 'request_new' argument to the GetSecrets call that hints to the
7878                         settings daemon to ask the user for completely new secrets
7879
7880         * libnm-glib/nm-settings.c
7881           libnm-glib/nm-settings.h
7882                 - (impl_connection_settings_get_secrets): handle new 'request_new'
7883                         argument
7884
7885 2007-09-25  Dan Williams  <dcbw@redhat.com>
7886
7887         * libnm-util/nm-connection.c
7888           libnm-util/nm-connection.h
7889                 - (nm_connection_clear_secrets): new function; clear secrets out of
7890                         each NMSetting in an NMConnection
7891
7892         * libnm-util/nm-setting.h
7893           libnm-util/nm-setting.c
7894                 - (nm_setting_clear_secrets, default_setting_clear_secrets): clear 
7895                         secrets out of an NMSetting
7896                 - (nm_setting_connection_new, nm_setting_ip4_config_new, 
7897                    nm_setting_wired_new, nm_setting_wireless_new,
7898                    nm_setting_wireless_security_new, nm_setting_ppp_new,
7899                    nm_setting_vpn_new, nm_setting_vpn_properties_new): set clear_secrets
7900                         to default handler default_setting_clear_secrets()
7901
7902 2007-09-25  Dan Williams  <dcbw@redhat.com>
7903
7904         * src/nm-activation-request.c
7905           src/nm-activation-request.h
7906                 - (nm_act_request_is_deferred): new function
7907
7908 2007-09-24  Dan Williams  <dcbw@redhat.com>
7909
7910         * src/nm-device-802-11-wireless.c
7911                 - (activation_success_handler): update signal strength immediately
7912                         after activation
7913
7914 2007-09-24  Dan Williams  <dcbw@redhat.com>
7915
7916         * libnm-util/nm-setting.c
7917                 - (verify_wep_key): 40-bit WEP keys are 10 bytes long, not 13
7918
7919 2007-09-24  Dan Williams  <dcbw@redhat.com>
7920
7921         * src/NetworkManagerPolicy.c
7922                 - (nm_policy_auto_get_best_device): don't interrupt activation of a
7923                         device by deactivating it because it doesn't have a "best connection".
7924                         Since autoconnect=False connections aren't automatically chosen,
7925                         NM would interrupt activation of such a connection because it
7926                         would never be "best" due to autoconnect=False.
7927
7928 2007-09-24  Dan Williams  <dcbw@redhat.com>
7929
7930         * src/nm-manager.c
7931                 - (nm_manager_get_connection_secrets): Add a long timeout so the user
7932                         actually has some time to enter a key before the GetSecrets call
7933                         times out
7934
7935 2007-09-24  Dan Williams  <dcbw@redhat.com>
7936
7937         * introspection/nm-manager.xml
7938           src/nm-manager.c
7939                 - (impl_manager_legacy_state): fix 'state' method call return value
7940
7941 2007-09-24  Matthias Clasen  <mclasen@redhat.com>
7942
7943         * test/Makefile.am: Install nm-tool
7944
7945 2007-09-24  Dan Williams  <dcbw@redhat.com>
7946
7947         Patch from Ross Burton <ross@burtonini.com>
7948
7949         * test/nm-tool.c
7950           callouts/nm-dhcp-client-action.c
7951           src/nm-netlink.c
7952           src/vpn-manager/nm-vpn-connection.c
7953           libnm-glib/libnm-glib-test.c
7954                 - warning fixes
7955
7956 2007-09-24  Dan Williams  <dcbw@redhat.com>
7957
7958         * libnm-util/nm-utils.h
7959           libnm-util/nm-utils.c
7960                 - (nm_dbus_send_with_callback_replied, nm_dbus_send_with_callback):
7961                         remove, unused
7962
7963 2007-09-23  Dan Williams  <dcbw@redhat.com>
7964
7965         * vpn-daemons/vpnc/properties/nm-vpnc.c
7966                 - Update for new VPN properties API bits; instead of passing around
7967                         a lot of random things, everything goes into the NMConnection
7968                         object.
7969
7970 2007-09-23  Dan Williams  <dcbw@redhat.com>
7971
7972         * libnm-util/nm-setting.c
7973                 - Correctly dispose of settings objects if creating them from a hash
7974                         table fails
7975
7976 2007-09-23  Dan Williams  <dcbw@redhat.com>
7977
7978         * libnm-util/nm-setting.c
7979                 - (property_value_destroy, nm_setting_vpn_properties_new): initialize
7980                         the hash table in a standard manner.  Clients of libnm-util should
7981                         only call g_hash_table_remove_all(), never destroy the hash table
7982                         and recreate it.
7983
7984 2007-09-22  Dan Williams  <dcbw@redhat.com>
7985
7986         * src/nm-device-802-11-wireless.c
7987                 - (real_bring_up): update signal strength every 6 seconds, not 2.  No
7988                         real reason to do it so often, and reduces wakeups for clients.
7989
7990 2007-09-21  Dan Williams  <dcbw@redhat.com>
7991
7992         * src/nm-device-802-11-wireless.c
7993                 - (build_supplicant_config): wpa_supplicant requires the option
7994                         key_mgmt=NONE for unencrypted networks
7995                 - (real_act_stage2_config): clarify log message on activation
7996
7997 2007-09-21  Dan Williams  <dcbw@redhat.com>
7998
7999         * test/nm-supplicant-test.c
8000           test/Makefile.am
8001                 - Remove supplicant test binary; no longer applicable
8002
8003 2007-09-21  Dan Williams  <dcbw@redhat.com>
8004
8005         * src/supplicant-manager/nm-supplicant-manager.c
8006                 - (nm_supplicant_manager_init): poke the supplicant at startup to
8007                         activate it on the system bus
8008
8009 2007-09-20  Dan Williams  <dcbw@redhat.com>
8010
8011         * initscript/RedHat/NetworkManager.in
8012                 - dhcdbd is no longer used, so don't try to start it from the initscripts
8013
8014 2007-09-20  Dan Williams  <dcbw@redhat.com>
8015
8016         * src/nm-device.c
8017                 - (nm_device_is_activating): work around a race between auto-activation
8018                         and the user activating the same device that is being auto-activated
8019
8020 2007-09-20  Dan Williams  <dcbw@redhat.com>
8021
8022         * src/nm-device-interface.c
8023                 - (impl_device_activate): until multiple active device support lands,
8024                         ensure only one device can be active at a time
8025
8026 2007-09-20  Dan Williams  <dcbw@redhat.com>
8027
8028         * src/supplicant-manager/nm-supplicant-config.c
8029           src/supplicant-manager/nm-supplicant-config.h
8030                 - (nm_supplicant_config_add_option): hide secrets from system logs
8031
8032 2007-09-20  Dan Williams  <dcbw@redhat.com>
8033
8034         * src/NetworkManagerPolicy.c
8035                 - (nm_policy_device_change_check): re-enable the wireless device change
8036                         checking code; insted of checking for SSIDs, check for the same
8037                         connection instead
8038
8039 2007-09-20  Dan Williams  <dcbw@redhat.com>
8040
8041         * src/nm-device-802-11-wireless.c
8042                 - (supplicant_iface_connection_state_cb_handler): don't use the card's
8043                         composite link state when determining when to start the disconnection
8044                         timer; that link state is already based on the supplicant interface's
8045                         status which is exactly what's already being examined, plus the link
8046                         state is a conglomeration of various things that we don't want here
8047
8048 2007-09-20  Dan Williams  <dcbw@redhat.com>
8049
8050         * libnm-glib/nm-access-point.c
8051                 - (handle_property_changed): strength is a UCHAR
8052
8053 2007-09-20  Dan Williams  <dcbw@redhat.com>
8054
8055         * src/supplicant-manager/nm-supplicant-config.c
8056                 - (nm_supplicant_config_add_setting_wireless_security): uppercase
8057                         string list keywords too since that's what wpa_supplicant wants
8058
8059 2007-09-20  Dan Williams  <dcbw@redhat.com>
8060
8061         * libnm-util/nm-setting.c
8062                 - (convert_strv_to_slist): dupe the values in the list because since
8063                         the list is a boxed value, it'll get destroyed when it's container
8064                         (like a hash table or whatever) gets destroyed
8065
8066 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8067
8068         * libnm-util/nm-setting.h: Change the type of NMSettingVPN->routes to
8069         GSList.
8070
8071         * libnm-util/nm-setting.c (setting_vpn_destroy): Free routes too.
8072
8073         * src/nm-manager.c (connection_get_settings_cb): No need to use weakref,
8074         just use (g_object_set_data_full).
8075
8076         * src/vpn-manager/nm-vpn-connection.c (nm_vpn_connection_get_routes): Now
8077         that NMSettingVPN->routes is a GSList, convert it to char **.
8078         (nm_vpn_connection_ip4_config_get): Free routes when done.
8079         (nm_vpn_connection_activate): Ditto.
8080
8081         * src/nm-device-802-11-wireless.c (real_connection_secrets_updated)
8082         (real_act_stage2_config): Use defined setting names.
8083
8084 2007-09-20  Dan Williams  <dcbw@redhat.com>
8085
8086         * src/nm-device-802-11-wireless.c
8087           src/nm-manager.c
8088           src/nm-manager.h
8089                 - Pass an NMDeviceInterface into nm_manager_get_connection_secrets()
8090                         so that the device can be deactivated if secrets are wrong
8091
8092 2007-09-20  Dan Williams  <dcbw@redhat.com>
8093
8094         * introspection/nm-settings-connection.xml
8095           libnm-glib/nm-settings.c
8096           libnm-glib/nm-settings.h
8097                 - Make GetSecrets asynchronous on the server side
8098
8099 2007-09-20  Dan Williams  <dcbw@redhat.com>
8100
8101         * src/nm-manager.h
8102           src/nm-device.c
8103                 - (nm_device_activate): actually check if a given connection
8104                         exists before assuming it doesn't
8105
8106 2007-09-20  Tambet Ingo  <tambet@gmail.com>
8107
8108         * libnm-util/nm-connection.c (register_default_creators): Use defined
8109         setting names. Register NMSettingVPN and NMSettingVPNProperties.
8110
8111         * libnm-util/nm-setting.c: Define property name strings, use them.
8112         Implement NMSettingVPN and NMSettingVPNProperties settings.
8113         Implement NM_S_TYPE_GVALUE_HASH.
8114         (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
8115         (setting_connection_verify): Rename 'devtype' property to 'type'.
8116
8117         * introspection/nm-vpn-manager.xml: Use NMConnection for VPN service
8118         properties.
8119
8120         * src/vpn-manager/nm-vpn-service.c: Ditto.
8121
8122         * src/vpn-manager/nm-vpn-connection.c: Ditto.
8123
8124         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect): Ditto.
8125         (nm_vpn_manager_new): Remove NMManager argument, it's easy enough to get.
8126
8127         * src/nm-device-802-11-wireless.c (find_best_connection): Use defined setting
8128         names. NMSettingConnection->devtype got renamed to 'type'.
8129
8130         * src/nm-device-802-3-ethernet.c (find_best_connection):
8131         (real_get_best_connection): Ditto.
8132
8133         * src/NetworkManager.c (main): Update the vpn manager creation arguments.
8134
8135         * libnm-glib/nm-vpn-manager.[ch]: Update.
8136
8137 2007-09-19  Dan Williams  <dcbw@redhat.com>
8138
8139         * src/NetworkManagerAP.c
8140           src/NetworkManagerAP.h
8141           introspection/nm-access-point.xml
8142                 - Change strength-changed signal into a properties-changed signal
8143                         for all properties, not just strength.  Export that signal over dbus
8144                         so listeners don't have to poll NM for changes.
8145                 - (nm_ap_export_to_dbus, nm_ap_new): not every NMAccessPoint should
8146                         get exported over D-Bus, so break up the logic and let other bits
8147                         decided when to export the AP
8148                 - (nm_ap_new_from_ap): remove, unused
8149
8150         * src/nm-device-802-11-wireless.c
8151                 - (merge_scanned_ap): only export APs that are actually on the device
8152                         list, not every AP created internally
8153
8154         * libnm-glib/nm-access-point.c
8155           libnm-glib/nm-access-point.h
8156                 - Cache properties internally and only hit DBus when needed.  Get
8157                         property updates from NM signals
8158
8159 2007-09-16  Dan Williams  <dcbw@redhat.com>
8160
8161         * libnm-util/nm-connection.c
8162           libnm-util/nm-connection.h
8163                 - (nm_connection_for_each_setting_value): new function; iterate over
8164                         each setting's value and call a user-provided function with details
8165                         about that value
8166
8167         * libnm-util/nm-setting.c
8168           libnm-util/nm-setting.h
8169                 - (nm_setting_enumerate_values): new function; enumerate the values
8170                         of a specific NMSetting subclass for a user-provided function with
8171                         details about that value
8172                 - Change wep_tx_keyidx to a uint32
8173                 - Create settings value tables for each setting defining their type,
8174                         key name, offset into the NMSetting subclass' structure, and whether
8175                         they are required and/or a secret
8176                 - (nm_setting_populate_from_hash): generic function to populate an
8177                         NMSetting from a GHash table, make all settings use it
8178                 - (nm_setting_hash): generic function to derive a GHashTable from
8179                         an NMSetting object, make all settings use it
8180
8181 2007-09-14  Dan Williams  <dcbw@redhat.com>
8182
8183         Remove unused stuff in libnm-util
8184
8185         * configure.in
8186           libnm-util/Makefile.am
8187           libnm-util/cipher-private.h
8188           libnm-util/cipher-wep-ascii.c
8189           libnm-util/cipher-wep-ascii.h
8190           libnm-util/cipher-wep-hex.c
8191           libnm-util/cipher-wep-hex.h
8192           libnm-util/cipher-wep-passphrase.c
8193           libnm-util/cipher-wep-passphrase.h
8194           libnm-util/cipher-wpa-psk-hex.c
8195           libnm-util/cipher-wpa-psk-hex.h
8196           libnm-util/cipher-wpa-psk-passphrase.c
8197           libnm-util/cipher-wpa-psk-passphrase.h
8198           libnm-util/cipher.c
8199           libnm-util/cipher.h
8200           libnm-util/dbus-helpers.c
8201           libnm-util/dbus-helpers.h
8202           libnm-util/gnome-keyring-md5.c
8203           libnm-util/gnome-keyring-md5.h
8204           libnm-util/sha1.c
8205           libnm-util/sha1.h
8206           src/nm-device-802-11-wireless.c
8207           test/libnm-util/Makefile.am
8208           test/libnm-util/test-ciphers.c
8209           test/libnm-util/test-dbus-helpers.c
8210           test/libnm-util/test-inputs.h
8211                 - Removed
8212
8213 2007-09-14  Dan Williams  <dcbw@redhat.com>
8214
8215         * libnm-util/dbus-method-dispatcher.c
8216           libnm-util/dbus-method-dispatcher.h
8217                 - Remove, unused
8218
8219 2007-09-14  Dan Williams  <dcbw@redhat.com>
8220
8221         Implement deferred activation support in the device class.
8222
8223         * src/nm-device-interface.c
8224           src/nm-device-interface.h
8225                 - (nm_device_interface_activate): take more arguments to support
8226                         deferred activation; callers must pass one of (connection) OR
8227                         (service_name, connection_path)
8228                 - (impl_device_activate): connection validation is punted to the device
8229                         to be able to handle deferred activation.  Yes, this means errors
8230                         don't get returned from the Activate() dbus call, and yes, that
8231                         should be fixed somehow later.
8232
8233         * src/nm-device.c
8234           src/nm-device.h
8235                 - (clear_act_request): clear additional deferred activation stuff too
8236                 - (deferred_activation_timeout_cb): new function; clean up when
8237                         deferred activation times out.
8238                 - (deferred_activation_start_cb): new function; when the connection
8239                         finally becomes available, start device activation
8240                 - (nm_device_activate): attach to the right signals of the activation
8241                         request if we need to defer activation until the connection is valid
8242
8243         * src/NetworkManagerPolicy.c
8244                 - (nm_policy_device_change_check): update for additional arguments
8245                         required for nm_device_interface_activate().  Pass NULL for these
8246                         though because this function already knows exactly which
8247                         NMConnection to use
8248
8249 2007-09-14  Dan Williams  <dcbw@redhat.com>
8250
8251         Implement deferred activation handling in the NMActRequest class.  When a
8252         client wants to activate a device but must create the NMConnection details
8253         on the fly, there likely hasn't been enough time yet for NM to receive the
8254         new connection signal and grab all the connection details.  So the
8255         activation is deferred (and bounded by a timer) for a while, and if the
8256         connection appears within the window, it is activated.
8257
8258         * src/nm-activation-request.c
8259           src/nm-activation-request.h
8260                 - (nm_act_request_class_init): two new signals to support deferred
8261                         activation, to allow the listener to handle both timeout and success
8262                 - (nm_act_request_new_deferred): new function, starts the deferred
8263                         activation timeout handler and listens to the NMManager for
8264                         new-connection signals to notice when the connection comes in
8265
8266 2007-09-14  Dan Williams  <dcbw@redhat.com>
8267
8268         * src/nm-manager.h
8269           src/nm-manager.c
8270                 - (nm_manager_get_connection_service_name,
8271                    nm_manager_get_connection_dbus_path): get details about a connection
8272                         known internally by the NMManager
8273                 - (nm_manager_class_init): fix connection add/remove signal marshalers
8274                         because NMConnection is now a GObject subclass
8275                 - Use constant for the gobject data tag used on NMConnection objects for
8276                         storing the associated DBusGProxy
8277
8278 2007-09-14  Dan Williams  <dcbw@redhat.com>
8279
8280         * utils/Makefile.am
8281           utils/nm-utils.c
8282           utils/nm-utils.h
8283           src/supplicant-manager/Makefile.am
8284           src/dhcp-manager/Makefile.am
8285           src/backends/Makefile.am
8286           src/named-manager/Makefile.am
8287           src/ppp-manager/Makefile.am
8288           src/vpn-manager/Makefile.am
8289           test/libnm-util/Makefile.am
8290           test/test-common/Makefile.am
8291                 - Remove utils/; it was unused
8292
8293 2007-09-13  Dan Williams  <dcbw@redhat.com>
8294
8295         * libnm-glib/nm-vpn-manager.h
8296           libnm-glib/nm-vpn-manager.c
8297                 - (nm_vpn_manager_connect): take routes as a GSList, not a char **
8298
8299 2007-09-13  Dan Williams  <dcbw@redhat.com>
8300
8301         * src/nm-device-802-3-ethernet.c
8302                 - (real_bring_down, nm_device_802_3_ethernet_dispose): disconnect from
8303                         netlink monitor carrier signals on dispose, not bring down.  The
8304                         carrier signals should be handled over the entire lifetime of the
8305                         device anyway, not created/destroyed on up or down.
8306
8307 2007-09-13  Dan Williams  <dcbw@redhat.com>
8308
8309         * libnm-glib/nm-device.c
8310           libnm-glib/nm-device.h
8311                 - (nm_device_activate): take a connection object path rather than an
8312                         NMConnection because NMConnection isn't exported over D-Bus and
8313                         therefore it dbus-glib can't automatically get an object path from it
8314
8315 2007-09-13  Dan Williams  <dcbw@redhat.com>
8316
8317         * libnm-util/nm-setting.c
8318                 - (nm_setting_wired_new): set autonegotiate to TRUE by default
8319
8320 2007-09-13  Tambet Ingo  <tambet@gmail.com>
8321
8322         * autogen.sh: NetworkManagerMain.h is gone, check for NetworkManager.c.
8323
8324 2007-09-12  Tambet Ingo  <tambet@gmail.com>
8325
8326         * src/vpn-manager/nm-vpn-connection.[ch]: 
8327         * src/vpn-manager/nm-vpn-manager.[ch]:
8328         * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling code. Using 
8329         dbus-glib, GObjects, signals etc.
8330
8331         * libnm-glib/nm-vpn-manager.[ch]: 
8332         * libnm-glib/nm-vpn-connection.[ch]: Now that the NM implementation changed
8333         so much, rewrite these too.
8334
8335         * libnm-glib/Makefile.am: Add new files to build, build new binding files for
8336         the new introspection files.
8337
8338         * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from here.
8339
8340         * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that was shadowing
8341         the header with the same name from libnm-utils.
8342
8343         * libnm-glib/nm-vpn-plugin.[ch]: Implement.
8344
8345         * libnm-util/Makefile.am: Add nm-utils.[ch] to build.
8346
8347         * introspection/nm-vpn-plugin.xml: Implement.
8348
8349         * introspection/nm-vpn-connection.xml: Implement.
8350
8351         * introspection/nm-vpn-manager.xml: Implement.
8352
8353         * src/NetworkManagerSystem.c (nm_system_vpn_device_set_from_ip4_config): Remove
8354         the named manager argument, it can just as easily get it as the caller.
8355         (nm_system_vpn_device_unset_from_ip4_config): Ditto.
8356
8357         * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.
8358
8359         * src/nm-dbus-manager.h: Fix up the name_owner signal signature.
8360
8361         * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove, use one from
8362         libnm-utils.
8363
8364         * libnm-util/nm-connection.c: Ditto.
8365
8366         * src/NetworkManagerMain.h: Remove, it's finally empty.
8367
8368         * configure.in: Remove utils/ from build.
8369
8370         * include/NetworkManagerVPN.h: Add some more defines to reduce the amount
8371         of hard-coded strings.
8372
8373         * utils/: Move it over to libnm-util.
8374
8375         * test/Makefile.am: Link against libnm-util now that util/ is gone.
8376
8377         * dispatcher-daemon/Makefile.am: Ditto.
8378
8379         * src/Makefile.am: Ditto.
8380
8381 2007-09-12  Dan Williams  <dcbw@redhat.com>
8382
8383         Wireless connections can be made with config data from the applet now.
8384         
8385         Yay.
8386
8387         * src/supplicant-manager/nm-supplicant-config.h
8388           src/supplicant-manager/nm-supplicant-config.c
8389                 - (nm_supplicant_config_new): kill unused init parameter 'iface'
8390                 - (nm_supplicant_config_add_setting_wireless,
8391                    nm_supplicant_config_add_setting_wireless_security): new functions;
8392                         add key/value pairs from the settings objects to the supplicant
8393                         config
8394
8395         * src/nm-device-802-11-wireless.c
8396                 - (cull_scan_list): fix check to not prune currently associated AP
8397                 - (build_supplicant_config, real_act_stage2_config): call the functions
8398                         of the NMSupplicantConfig that parse settings objects rather than
8399                         doing it manually here
8400
8401 2007-09-12  Dan Williams  <dcbw@redhat.com>
8402
8403         * src/supplicant-manager/nm-supplicant-interface.c
8404           src/supplicant-manager/nm-supplicant-marshal.list
8405                 - (nm_supplicant_interface_class_init): fix stupid mistake, the
8406                         "connection-error" signal arguments should be STRING not CHAR
8407
8408 2007-09-12  Dan Williams  <dcbw@redhat.com>
8409
8410         * src/NetworkManagerUtils.c
8411           src/NetworkManagerUtils.h
8412                 - (nm_utils_hexstr2bin): new function
8413
8414 2007-09-11  Dan Williams  <dcbw@redhat.com>
8415
8416         * src/nm-manager.c
8417                 - (connection_get_settings_cb): emit connection-added signal
8418                 - (connection_removed_cb): uncomment bits for system settings service,
8419                         send connection-removed when appropriate
8420                 - (nm_manager_get_connection_secrets, get_secrets_cb): don't clobber
8421                         the stack by trying to g_object_set_data() on something that's
8422                         not a GObject; handle case where settings service returns
8423                         empty settings hash table
8424
8425 2007-09-11  Dan Williams  <dcbw@redhat.com>
8426
8427         * src/NetworkManagerPolicy.c
8428                 - (connection_added, connection_removed): trigger device change checks
8429                         on connection changes
8430
8431 2007-09-11  Dan Williams  <dcbw@redhat.com>
8432
8433         * src/nm-activation-request.c
8434                 - (connection_secrets_updated_cb): fix c&p error in signal emission
8435
8436 2007-09-11  Dan Williams  <dcbw@redhat.com>
8437
8438         * src/nm-device-802-11-wireless.c
8439                 - (real_connection_secrets_updated): fix erroneous check
8440
8441 2007-09-11  Dan Williams  <dcbw@redhat.com>
8442
8443         * introspection/nm-device.xml
8444           libnm-glib/nm-device.c
8445           libnm-glib/nm-device.c
8446                 - Fix Activate call argument borkage; Activate takes 3 arguments
8447
8448 2007-09-11  Dan Williams  <dcbw@redhat.com>
8449
8450         * libnm-glib/nm-access-point.c
8451           libnm-glib/nm-access-point.c
8452                 - (nm_access_point_get_frequency): now returns guint32 to match
8453                         property change on 2007-09-10
8454
8455 2007-09-11  Dan Williams  <dcbw@redhat.com>
8456
8457         * src/nm-device-802-11-wireless.c
8458                 - (nm_device_802_11_wireless_new): s/index/idx, stupid system header
8459                         somewhere defines 'index' and I missed this one when I fixed the
8460                         shadow declaration errors earlier
8461
8462 2007-09-11  Dan Williams  <dcbw@redhat.com>
8463
8464         * libnm-util/nm-connection.c
8465                 - (nm_connection_update_secrets, need_secrets_check): move
8466                         802-11-wireless-security need_secrets checks to the setting object
8467                         itself, where it belongs
8468
8469         * libnm-util/nm-setting.c
8470           libnm-util/nm-setting.h
8471                 - (nm_setting_need_secrets): new function
8472                 - (setting_wireless_security_verify,
8473                    nm_setting_wireless_security_new_from_hash): make 'key-mgmt' required
8474                 - (setting_wireless_security_need_secrets): mostly copy code over
8475                         from nm-connection.c
8476
8477 2007-09-11  Dan Williams  <dcbw@redhat.com>
8478
8479         * libnm-util/nm-setting.c
8480           libnm-util/nm-setting.h
8481                 - (nm_setting_update_secrets): new function; add a virtual function that
8482                         subclasses can implement to update their secrets
8483                 - (setting_wireless_security_update_secrets): implement that function
8484                         for the 802-11-wireless-security subclass
8485
8486         * libnm-util/nm-connection.c
8487           libnm-util/nm-connection.h
8488                 - (nm_connection_update_secrets): update secrets for a Setting and
8489                         emit a signal on success
8490
8491         * src/nm-manager.c
8492           src/nm-manager.h
8493           src/nm-marshal.list
8494                 - (connection_get_settings_cb): enable system settings bits
8495                 - (nm_manager_get_connection_secrets, get_secrets_cb): add function
8496                         to request secrets from the settings dbus service and to
8497                         push those secrets to the NMConnection itself
8498
8499         * src/nm-activation-request.c
8500           src/nm-activation-request.h
8501                 - Attach to the 'secrets-updated' signal of the NMConnection that's
8502                         currently being activated, and proxy that signal to other listeners.
8503                         Goes through the activation request because the activation request
8504                         is the thing that manages the lifetime of the NMConnection that's
8505                         being activated.
8506
8507         * src/nm-device-802-11-wireless.c
8508                 - (real_connection_secrets_updated): implement the connection secrets
8509                         updated notification and restart activation when secrets are
8510                         received
8511                 - (real_act_stage2_config): request secrets from the settings dbus
8512                         service if secrets are needed
8513
8514         * src/nm-device.c
8515           src/nm-device.h
8516                 - (clear_act_request, nm_device_activation_cancel,
8517                    nm_device_deactivate_quickly, nm_device_dispose): consolidate places
8518                         where the activation request is cleared
8519                 - (nm_device_activate, connection_secrets_updated_cb): attach to the
8520                         updated secrets signal of activation request and add a function
8521                         that subclasses can override to handle it easily
8522
8523 2007-09-11  Tambet Ingo  <tambet@gmail.com>
8524
8525         * src/backends/NetworkManagerSuSE.c: Fix a build issue caused by the
8526         removal of NetworkManagerAPList.
8527
8528 2007-09-10  Dan Williams  <dcbw@redhat.com>
8529
8530         * src/NetworkManagerAP.c
8531           src/NetworkManagerAP.h
8532           introspection/nm-access-point.xml
8533                 - Change 'freq' property to a guint32 instead of a double since we
8534                         weren't using the floating point bits anyway
8535
8536 2007-09-10  Dan Williams  <dcbw@redhat.com>
8537
8538         * NetworkManagerAP.c
8539           NetworkManagerAP.h
8540           NetworkManagerPolicy.c
8541           NetworkManagerSystem.c
8542           NetworkManagerUtils.c
8543           NetworkManagerUtils.h
8544           nm-device-802-11-wireless.c
8545           nm-device-802-3-ethernet.c
8546           nm-hal-manager.c
8547           nm-manager.c
8548           vpn-manager/nm-dbus-vpn.c
8549                 - Warning fixes; casts and removal of unused variables
8550
8551 2007-09-10  Dan Williams  <dcbw@redhat.com>
8552
8553         * include/NetworkManager.h
8554                 - Kill NMNetworkType; AP types don't matter any more
8555
8556         * src/NetworkManagerAPList.c
8557           src/NetworkManagerAPList.h
8558           src/Makefile.am
8559                 - Kill; NMAccessPointList has outlived it's usefulness
8560
8561         * src/NetworkManagerAP.c
8562           src/NetworkManagerAP.h
8563                 - (match_cipher, security_compatible, nm_ap_check_compatible): new
8564                         functions; check if an NMConnection object is compatible with the
8565                         settings of this AP
8566                 - (freq_to_channel, channel_to_freq): utility functions for
8567                         channel <-> frequency conversion
8568
8569         * src/nm-device.c
8570           src/nm-device.h
8571                 - (nm_device_get_best_connection): pass the specific object around
8572                          (which might be the object path of a specific AP to connect to).
8573                          The get_best_connection() call should populate this on return
8574                          if needed (wireless does).
8575
8576         * src/nm-device-802-3-ethernet.c
8577                 - (real_get_best_connection): handle specific_object argument
8578
8579         * src/NetworkManager.c
8580           src/NetworkManagerMain.h
8581                 - Remove unused includes
8582
8583         * src/nm-device-802-11-wireless.c
8584           src/nm-device-802-11-wireless.h
8585                 - Convert the ap_list into a GSList from an NMAccessPointList
8586                 - No need for caching the 'activation_ap' since this is now determined
8587                         from the specific_object of the activation request, which is
8588                         populated from the get_best_connection() call or from a user request
8589                 - (nm_device_802_11_wireless_update_bssid): fix warning
8590                 - (get_wireless_capabilities): fix error message format arguments
8591                 - (nm_device_802_11_wireless_copy_allowed_to_dev_list): remove, unused
8592                 - (find_best_connection, real_get_best_connection): implement
8593                 - (ap_list_get_ap_by_ssid, nm_device_802_11_wireless_ap_list_print):
8594                         move here from NetworkManagerAPList
8595                 - (ap_need_secrets): remove; moved to nm-connection.c where it belongs
8596                 - (real_act_stage1_prepare): just ensure an AP exists, connection is
8597                         already verified earlier
8598                 - (real_act_stage2_config): use nm_connection_need_secrets()
8599
8600         * src/NetworkManagerPolicy.c
8601                 - (nm_policy_auto_get_best_device): handle specific objects
8602                 - (create_connection): remove; automatic connection creation functionality
8603                         is handled by the Connection objects
8604                 - (nm_policy_device_change_check): handle specific_object
8605
8606         * libnm-util/nm-connection.c
8607                 - (wireless_sec_need_secrets, nm_connection_need_secrets): implement
8608
8609 2007-09-10  Dan Williams  <dcbw@redhat.com>
8610
8611         * src/nm-manager.c
8612                 - (query_connections): fix uninitialized variable problem that caused
8613                         segfault
8614                 - (nm_manager_add_device): take devices down on startup so that we can
8615                         be assured that nm_device_is_up() won't short-circuit the init
8616                         process.  Hack until the is_up check gets split into two pieces
8617                         that aren't behaviorally confusing.
8618
8619 2007-09-09  Dan Williams  <dcbw@redhat.com>
8620
8621         * introspection/nm-device.xml
8622                 - The 'Activate' method now takes 3 arguments, a service name for the
8623                 settings service (user or system), the object path of the connection
8624                 to activate, and the specific object to activate, if any
8625
8626         * src/nm-device-interface.c
8627                 - (nm_device_interface_error_quark, nm_device_interface_error_get_type):
8628                 Add error bits
8629                 - (impl_device_activate): adapt to new Activate arguments; validate
8630                 the service name and get the Connection object from the NMManager
8631                 before starting to activate the device with the specified connection
8632
8633         * src/nm-device-802-3-ethernet.c
8634                 - (real_get_best_connection): find the best connection, or create a
8635                 default one if no existing connections can be used
8636
8637         * src/NetworkManagerPolicy.c
8638                 - (nm_policy_auto_get_best_device): Get the device's best connection
8639                 and only pick the device if it has one
8640                 - (nm_policy_device_change_check): disable wireless bits for now until
8641                 wireless get_best_connection() can be implemented (replacing "best_ap");
8642                 don't create a default connection here as the device subclass will do
8643                 that if needed
8644
8645         * src/nm-manager.h
8646           src/nm-manager.c
8647                 - (nm_manager_get): make NMManager a singleton and expose the getter
8648                 internally
8649                 - Rework internal NMManager connection handling to use the same
8650                 routines for both the system and user settings services.  Most calls
8651                 take a new NMConnectionType argument specifying either system or user
8652                 connections
8653                 - (nm_manager_get_connection_by_object_path): new function; get a
8654                 connection keyed on its object path
8655
8656         * src/NetworkManager.c
8657                 - (main): use nm_manager_get()
8658
8659 2007-09-09  Dan Williams  <dcbw@redhat.com>
8660
8661         * src/nm-device.h
8662           src/nm-device.c
8663                 - (nm_device_get_best_connection): new function; get best connection
8664                         for the device at that time
8665
8666 2007-09-09  Dan Williams  <dcbw@redhat.com>
8667
8668         * src/nm-device-interface.h
8669                 - Add NMDeviceInterfaceError with an UnknownConnection error
8670
8671 2007-09-09  Dan Williams  <dcbw@redhat.com>
8672
8673         Stupid mistake on my part; object path and interface for settings service
8674         and connection objects can be the same, only the service name must be
8675         different for the system and user settings services.
8676
8677         * include/NetworkManager.h
8678           src/nm-manager.c
8679           introspection/nm-settings-connection.xml
8680           introspection/nm-settings.xml
8681           libnm-glib/nm-settings.c
8682                 - (nm_connection_settings_init, query_user_connections,
8683                    new_connection_cb): Unify NetworkManagerSettings and Connection
8684                    interface name and object path
8685
8686 2007-09-06  Dan Williams  <dcbw@redhat.com>
8687
8688         * libnm-glib/nm-object.c
8689                 - (nm_object_get_string_property, nm_object_get_object_path_property,
8690                    nm_object_get_int_property, nm_object_get_uint_property,
8691                    nm_object_get_boolean_property, nm_object_get_byte_property,
8692                    nm_object_get_double_property, nm_object_get_byte_array_property):
8693                         clear GValues after copying their contents, fixes memory leaks
8694                         after every property access because dbus-glib copies the values
8695                         from the DBusMessage into the GValue already.
8696
8697 2007-09-06  Dan Williams  <dcbw@redhat.com>
8698
8699         * introspection/nm-access-point.xml
8700                 - Fix WpaFlags and RsnFlags property names to be what dbus-glib expects
8701                         them to be.  There's some magic property name parsing going on in
8702                         dbus-glib that breaks up property names based on studly-caps and
8703                         puts - between words.
8704
8705         * libnm-glib/nm-access-point.c
8706                 - (nm_access_point_get_wpa_flags, nm_access_point_get_rsn_flags):
8707                         Fix property names
8708
8709 2007-09-06  Dan Williams  <dcbw@redhat.com>
8710
8711         * src/nm-manager.c
8712                 - (nm_manager_user_connections_destroy): clear the user connections hash
8713                         table, don't destroy it
8714                 - (finalize): only destroy the hash table on NMManager finalization
8715
8716 2007-09-02  Dan Williams  <dcbw@redhat.com>
8717
8718         * include/NetworkManager.h
8719           libnm-glib/nm-settings.c
8720                 - defines for the user settings daemon D-Bus bits
8721
8722         * src/NetworkManager.c
8723                 - Remove stuff that referred to the old NetworkManagerInfo service
8724
8725         * src/vpn-manager/nm-dbus-vpn.h
8726                 - Move old NMI defines to the only place they are used still
8727
8728         * libnm-util/nm-connection.c
8729           libnm-util/nm-connection.h
8730           src/nm-activation-request.c
8731                 - Make NMConnection a GObject subclass so we can do spiffy stuff with it
8732
8733         * src/nm-manager.c
8734           src/nm-manager.h
8735                 - Get connections and their settings from the user settings daemon
8736                         at the appropriate times
8737
8738 2007-09-02  Dan Williams  <dcbw@redhat.com>
8739
8740         * libnm-util/nm-setting.c
8741                 - (nm_settings_verify): correct setting name is 'connection', not 'info'
8742                 - (setting_wireless_hash): set the right value on the item
8743
8744 2007-09-02  Dan Williams  <dcbw@redhat.com>
8745
8746         * test/Makefile.am
8747           test/nminfotest.c
8748                 - Remove, no longer useful
8749
8750 2007-08-30  Dan Williams  <dcbw@redhat.com>
8751
8752         * src/Makefile.am
8753           src/NetworkManagerDbus.c
8754           src/NetworkManagerDbus.h
8755           src/vpn-manager/nm-dbus-vpn.c
8756                 - Remove, no longer necessary.  Move last bits to the only place its
8757                 used, in nm-dbus-vpn.c
8758
8759         * src/NetworkManagerAPList.c
8760           src/nm-device.c
8761           src/NetworkManager.c
8762           src/nm-device-802-11-wireless.c
8763           src/vpn-manager/nm-vpn-manager.c
8764           src/vpn-manager/nm-vpn-service.c
8765           src/NetworkManagerPolicy.c
8766           src/nm-manager.c
8767                 - Remove usage of NetworkManagerDbus.h, and kill the obfuscation
8768                 that was message_is_error()
8769
8770 2007-08-30  Dan Williams  <dcbw@redhat.com>
8771
8772         * libnm-util/sha1.c
8773                 - Include config.h to get defines for endiannes (gnome.org #420216)
8774
8775 2007-08-30  Dan Williams  <dcbw@redhat.com>
8776
8777         Patch from Philip Withnall <bugzilla@tecnocode.co.uk>
8778
8779         * src/ppp-manager/Makefile.am
8780                 - use -fPIC (gnome.org #471825)
8781
8782 2007-08-29  Dan Williams  <dcbw@redhat.com>
8783
8784         * include/NetworkManager.h
8785                 - Keep NMConnection object path in sync
8786
8787         * libnm-glib/nm-settings.c
8788           libnm-glib/nm-settings.h
8789                 - Break D-Bus object registration out of the init function, because
8790                 every object that's exported over D-Bus needs to use the _same_
8791                 DBusConnection.  Otherwise, each object would get a different object
8792                 path tree and wouldn't be callable.
8793
8794 2007-08-29  Dan Williams  <dcbw@redhat.com>
8795
8796         * libnm-util/nm-setting.h
8797           libnm-util/nm-setting.c
8798           libnm-util/nm-connection.c
8799           src/NetworkManagerPolicy.c
8800                 - 'info' settings object should be 'connection' says the spec
8801                 at NetworkManagerConfigurationSpecification
8802
8803 2007-08-29  Dan Williams  <dcbw@redhat.com>
8804
8805         * libnm-glib/nm-settings.c
8806           libnm-glib/nm-settings.h
8807                 - make the dbus path a property of the object, and autogenerate it.
8808                 It can't be composed of the 'id' field becuase that's not available
8809                 yet during the GObject creation in nm_connection_settings_init()
8810
8811 2007-08-29  Dan Williams  <dcbw@redhat.com>
8812
8813         * introspection/nm-settings-connection.xml
8814           introspection/nm-settings.xml
8815                 - Service name -> NetworkManagerUserSettings because two services
8816                 can't share part of the same path.  I'm not really sure how we'll use
8817                 the same code with the system-settings daemon...
8818
8819 2007-08-28  Dan Williams  <dcbw@redhat.com>
8820
8821         * src/nm-device-interface.c
8822           src/nm-device-interface.h
8823                 - Kill one more bit of NMData
8824
8825 2007-08-28  Dan Williams  <dcbw@redhat.com>
8826
8827         * src/NetworkManagerSystem.h
8828           src/nm-device.c
8829           src/nm-device.h
8830           src/nm-hal-manager.c
8831           src/NetworkManager.c
8832           src/nm-device-802-11-wireless.c
8833           src/nm-hal-manager.h
8834           src/nm-device-802-3-ethernet.c
8835           src/vpn-manager/nm-vpn-service.h
8836           src/vpn-manager/nm-vpn-manager.c
8837           src/vpn-manager/nm-vpn-manager.h
8838           src/vpn-manager/nm-vpn-service.c
8839           src/nm-device-802-11-wireless.h
8840           src/NetworkManagerMain.h
8841           src/nm-device-802-3-ethernet.h
8842           src/backends/NetworkManagerGentoo.c
8843           src/backends/NetworkManagerPaldo.c
8844           src/backends/NetworkManagerFrugalware.c
8845           src/backends/NetworkManagerRedHat.c
8846           src/backends/NetworkManagerSlackware.c
8847           src/backends/NetworkManagerGeneric.c
8848           src/backends/NetworkManagerArch.c
8849           src/backends/NetworkManagerSuSE.c
8850           src/backends/NetworkManagerGeneric.h
8851           src/backends/NetworkManagerDebian.c
8852                 - Kill NMData
8853
8854 2007-08-28  Dan Williams  <dcbw@redhat.com>
8855
8856         * src/NetworkManagerMain.h
8857           src/nm-device-802-11-wireless.c
8858           src/NetworkManager.c
8859                 - Remove invalid AP list from NMData; need to rework this somewhat, but
8860                 for now we should set the 'invalid' property on individual APs, and when
8861                 we need to invalidate a whole ESS, set the 'invalid' on every member of
8862                 that ESS
8863
8864 2007-08-28  Dan Williams  <dcbw@redhat.com>
8865
8866         * src/NetworkManagerAP.c
8867           src/NetworkManagerAP.h
8868                 - Remove 'fallback' tag, to be replaced by NMConnection/NMSettings
8869                         'autoconnect' property instead
8870
8871         * src/NetworkManager.c
8872           src/NetworkManagerMain.h
8873           src/NetworkManagerPolicy.c
8874           src/NetworkManagerPolicy.h
8875                 - Remove the 'allowed_ap_list', which should be replaced by 
8876                         NMConnection/NMSettings instead, since _those_ are the allowed
8877                         things that NM can connect to
8878
8879         * src/nm-device-802-11-wireless.c
8880                 - Remove both allowed_ap_list usage and 'fallback' checking
8881
8882 2007-08-28  Dan Williams  <dcbw@redhat.com>
8883
8884         * src/nm-device.c
8885           src/named-manager/nm-named-manager.c
8886           src/named-manager/nm-named-manager.h
8887           src/NetworkManager.c
8888           src/vpn-manager/nm-vpn-manager.c
8889           src/NetworkManagerMain.h
8890           src/NetworkManagerSystem.c
8891                 - Remove the named-manager object from NMData structure in preparation
8892                 for NMData's timely death.  Make the NMNamedManager the singleton that
8893                 it really is
8894
8895 2007-08-28  Dan Williams  <dcbw@redhat.com>
8896
8897         Remove NMAPSecurity objects, they are replaced with flags on the APs for
8898         each AP's capabilities, and by NMConnection/NMSettings objects for user
8899         defined connections.
8900
8901         * include/NetworkManager.h
8902                 - Redefine 802.11 security properties.  There are now device capabilities
8903                         and AP flags and AP security flags.  It was way to unclear before.
8904
8905         * src/Makefile.am
8906           src/nm-ap-security-leap.h
8907           src/nm-ap-security-leap.c
8908           src/nm-ap-security-wpa-eap.c
8909           src/nm-ap-security-wpa-eap.h
8910           src/nm-ap-security-private.h
8911           src/nm-ap-security-wpa-psk.c
8912           src/nm-ap-security-wpa-psk.h
8913           src/nm-ap-security-wep.c
8914           src/nm-ap-security-wep.h
8915           src/nm-ap-security.c
8916           src/nm-ap-security.h
8917                 - Removed, to be replaced with NMConnection/NMSettings objects
8918
8919         * src/nm-dbus-nmi.c
8920           src/nm-dbus-nmi.h
8921                 - Removed, to be replaced by code that talks to the new info daemon
8922                         interface and gets NMConnection/NMSettings objects
8923
8924         * src/backends/NetworkManagerSuSE.c
8925                 - Remove usage of NMAPSecurity; should be replaced by a system-level
8926                         info-daemon that does the same thing but talks the new info-daemon
8927                         D-Bus interface
8928
8929         * src/NetworkManagerAP.h
8930           src/NetworkManagerAP.c
8931           src/NetworkManagerAPList.c
8932           libnm-glib/libnm-glib-test.c
8933                 - Remove usage of NMAPSecurity objects and adjust to new flags for
8934                         WPA/RSN
8935
8936         * libnm-glib/nm-access-point.c
8937           libnm-glib/nm-access-point.h
8938           introspection/nm-access-point.xml
8939           test/nm-tool.c
8940                 - Adjust to new flags for AP security
8941
8942         * utils/nm-utils.c
8943           utils/nm-utils.h
8944           src/vpn-manager/nm-dbus-vpn.c
8945                 - Remove D-Bus pending call stuff from nm-utils and put it in the VPN
8946                         stuff which is the only place it's used
8947
8948         * src/nm-device-interface.c
8949           src/nm-device-interface.h
8950           introspection/nm-device.xml
8951           src/nm-activation-request.c
8952           src/nm-activation-request.h
8953           src/nm-device.c
8954                 - Add a new 'specific_object' argument that hints to NM what actual
8955                         AP or other device-specific thing the connection should apply to.
8956                         NMConnection objects can apply to more than one actual device/AP.
8957
8958         * libnm-util/nm-connection.c
8959         * libnm-util/nm-connection.h
8960                 - Add 'have_secrets" call stubs
8961
8962         * libnm-util/cipher.h
8963                 - Move NM_AUTH_TYPE_* defines here for now
8964
8965         * src/nm-device-802-11-wireless.c
8966                 - Remove usage of NMAPSecurity, to be replaced with NMConnection/
8967                         NMSettings objects
8968
8969         * src/NetworkManagerDbus.c
8970         * src/NetworkManagerPolicy.c
8971                 - Remove usage of update_allowed_networks, should be pushing data in
8972                         a different manner
8973
8974 2007-08-27  Tambet Ingo  <tambet@gmail.com>
8975
8976         * src/nm-manager.c (impl_manager_get_devices): Duplicate the device path, 
8977         dbus-glib frees it when the call is done.
8978
8979 2007-08-26  Dan Williams  <dcbw@redhat.com>
8980
8981         * introspection/nm-device.xml
8982                 - Add 'Index' property on NMDevice objects (forgot to do this earlier)
8983
8984 2007-08-26  Dan Williams  <dcbw@redhat.com>
8985
8986         * src/nm-device-802-3-ethernet.c
8987                 - (constructor): move connection of interface-connected/disconnected
8988                         signals here from real_bring_up().  Should be listening to netlink
8989                         for carrier events no matter what the initial state of the device
8990                         is.
8991
8992 2007-08-26  Dan Williams  <dcbw@redhat.com>
8993
8994         * src/nm-netlink-monitor.c
8995                 - (nm_netlink_monitor_class_init): fix marshalling types for
8996                         interface-connected/interface-disconnected
8997                 - (nm_netlink_monitor_event_handler): clean up carrier on/off
8998                         check
8999
9000 2007-08-26  Dan Williams  <dcbw@redhat.com>
9001
9002         Convert to using interface indexes as the primary method of identifying
9003         devices inside NetworkManager.  Indexes are (?) stable, but devices can
9004         be renamed at any time.  Device object paths now refer to the device
9005         index rather than the name, and you can map those two manually if you like
9006         by looking in the /sys/class/net/<name>/ifindex file.  Also moves most
9007         netlink-related code to nm-netlink.c, and cleans up nm-netlink-monitor.c
9008         to use interface indexes rather than names.
9009
9010 2007-08-26  Dan Williams  <dcbw@redhat.com>
9011
9012         * src/nm-netlink-monitor.h
9013                 - Remove one last bit of wireless-event signal
9014
9015 2007-08-26  Dan Williams  <dcbw@redhat.com>
9016
9017         * src/nm-netlink-monitor.c
9018                 - (nm_netlink_monitor_class_init, nm_netlink_monitor_event_handler):
9019                         don't need the 'wireless-event' signal anymore since that's all
9020                         handled by wpa_supplicant
9021
9022 2007-08-25  Dan Williams  <dcbw@redhat.com>
9023
9024         It's 2007. Remove support for drivers that don't support wireless scanning.
9025
9026         * test/nm-tool.c
9027           include/NetworkManager.h
9028           src/NetworkManagerUtils.c
9029           src/NetworkManagerPolicy.c
9030           src/nm-device-802-11-wireless.c
9031                 - Remove special handling for non-scanning devices and mark them
9032                         as unsupported/unhandled
9033
9034 2007-08-20  Dan Williams  <dcbw@redhat.com>
9035
9036         * src/nm-device-802-11-wireless.c
9037           src/nm-device-802-3-ethernet.c
9038                 - (real_is_up): move device-specific tests before generic IFF_UP test,
9039                         because when the card is pulled or the module removed, the device
9040                         is already !IFF_UP and then device-specific cleanup (removing
9041                         the supplicant interface, periodic checks, etc) never gets done
9042
9043 2007-08-20  Dan Williams  <dcbw@redhat.com>
9044
9045         * src/nm-manager.c
9046                 - (nm_manager_remove_device): bring device down before disconnecting
9047                         signal handlers, so that the 'state' signal will get broadcast when
9048                         the device enters the DOWN state
9049                 - (manager_device_state_changed): add NM_DEVICE_STATE_DOWN to the list
9050                         of states that cause the NMManager to recheck its state
9051
9052 2007-08-20  Dan Williams  <dcbw@redhat.com>
9053
9054         * src/supplicant-manager/nm-supplicant-interface.c
9055                 - (interface_disconnect_done): don't try to dispose of the net proxy
9056                         when it may already have been disposed of
9057
9058 2007-08-20  Dan Williams  <dcbw@redhat.com>
9059
9060         * src/nm-device-802-11-wireless.c
9061                 - (nm_device_802_11_wireless_get_ssid): don't traceback and die when
9062                         the SSID isn't available; this can happen when the card is pulled
9063                         or the module unloaded, during the post-removal deactivation
9064                         paths, when the ioctl returns ENODEV
9065
9066 2007-08-20  Dan Williams  <dcbw@redhat.com>
9067
9068         * src/nm-device-802-11-wireless.c
9069                 - (merge_scanned_ap): only merge the AP with another if the SSID, BSSID,
9070                         frequency, and mode match.  Applets are now responsible for grouping
9071                         access points
9072
9073 2007-08-20  Dan Williams  <dcbw@redhat.com>
9074
9075         * src/NetworkManagerAP.c
9076         * src/NetworkManagerAP.h
9077                 - (nm_ap_print_self): new function
9078
9079         * src/NetworkManagerAPList.c
9080                 - (nm_ap_list_print_members): call nm_ap_print_self() rather than trying
9081                         to do it all here
9082         
9083 2007-08-17  Dan Williams  <dcbw@redhat.com>
9084
9085         * src/nm-device-802-3-ethernet.c
9086                 - (real_bring_down): don't try to dispose of stuff that might not
9087                         exist
9088
9089 2007-08-17  Dan Williams  <dcbw@redhat.com>
9090
9091         * src/NetworkManagerAP.c
9092                 - (nm_ap_set_user_addresses): uppercase any BSSID passed in from the
9093                         applet.  This ensures that the case between the seen-bssids and
9094                         the bssids reported by the driver match.
9095
9096 2007-08-17  Dan Williams  <dcbw@redhat.com>
9097
9098         * src/nm-device-802-11-wireless.c
9099                 - (device_cleanup): disconnect the interface in wpa_supplicant before
9100                         we dispose of the interface proxy in NM
9101
9102 2007-08-16  Dan Williams  <dcbw@redhat.com>
9103
9104         * libnm-glib/nm-client.c
9105                 - (nm_client_init): create VPN connections hash table with key free
9106                         function
9107                 - (proxy_vpn_connection_added): VPN connections hash table key should
9108                         be a duplicated value, not the same memory address as the VPN
9109                         connection name.  This is because the VPN connection name could
9110                         potentially be freed and set to something else during the lifetime
9111                         of the NMVPNConnection object.
9112
9113 2007-08-16  Tambet Ingo  <tambet@gmail.com>
9114
9115         * src/ppp-manager/nm-ppp-manager.c (pppd_child_setup): Implement.
9116         (nm_ppp_manager_start): Use g_spawn_async() since we're not doing anything
9117         with the file descriptors. Send a child setup function to change the pppd
9118         progress group.
9119
9120 2007-08-15  Dan Williams  <dcbw@redhat.com>
9121
9122         * src/supplicant-manager/nm-supplicant-interface.c
9123                 - (try_remove_iface): new function, ask wpa_supplicant to remove
9124                         an interface
9125                 - (nm_supplicant_interface_dispose): call try_remove_iface() when
9126                         disposing of the NMSupplicantInterface.  Otherwise weird stuff
9127                         happens on hotplug if wpa_supplicant doesn't tear down and readd
9128                         the interface internally
9129
9130 2007-08-15  Dan Williams  <dcbw@redhat.com>
9131
9132         * src/nm-device-802-11-wireless.c
9133                 - (real_bring_down): move most of this function into device_cleanup()
9134                         so that it can be called from elsewhere
9135                 - (nm_device_802_11_wireless_dispose): clean up device periodic timers
9136                         and stuff on dispose.  These would normally get cleaned up when
9137                         the device is marked down and deactivated, but when the device is
9138                         hot-unplugged, it's already down and real_down() never gets run
9139
9140 2007-08-15  Dan Williams  <dcbw@redhat.com>
9141
9142         * src/nm-dbus-nmi.c
9143                 - (nm_dbus_get_user_key_for_network_cb): fix incorrect refcounting that
9144                         caused a reference leak on device for which NM requested a key
9145
9146 2007-08-15  Dan Williams  <dcbw@redhat.com>
9147
9148         * libnm-glib/nm-client.c
9149                 - (nm_client_get_best_vpn_state): fix leakage of the vpn connection list
9150
9151 2007-08-15  Tambet Ingo  <tambet@gmail.com>
9152
9153         * src/ppp-manager: Implement ppp-manager. It's sort of dead code for now since
9154         nothing is using it at the moment, but it'll be all useful and stuff later on.
9155
9156         * libnm-util/nm-setting.h: Define NMSettingPPP.
9157
9158         * libnm-util/nm-setting.c: Implement NMSettingPPP.
9159
9160         * libnm-util/nm-connection.c (register_default_creators): Register ppp setting.
9161
9162         * src/Makefile.am: Add ppp-manager to SUBDIRS.
9163
9164         * configure.in: Require ppp headers. Build Makefile for ppp-manager.
9165
9166         * introspection/Makefile.am: Add nm-manager-client.xml to EXTRA_DIST.
9167
9168 2007-08-14  Tambet Ingo  <tambet@gmail.com>
9169
9170         * libnm-glib/Makefile.am: Use nm-manager-client.xml to produce nm-client-bindings.
9171
9172         * introspection/nm-manager-client.xml: Add a horrible horrbile hack to work around
9173         an issue with dbus-glib bindings generator. The issue is, the generated C caller
9174         functions for dbus methods "Sleep(bool)" and "sleep()" both have the same function
9175         name and different arguments and it won't compile anymore. To fix this, we now have
9176         two copies of nm-manager.xml file. nm-manager.xml contains the actual interface,
9177         that is new API + compatibility API and used by the daemon. The other, 
9178         nm-manager-client.xml is only the new API without compatibility bits and is used
9179         by libnm-glib to make it compile.
9180
9181         * introspection/nm-manager.xml: Define compatibility methods (sleep, wake, state).
9182
9183         * src/nm-manager.c (impl_manager_legacy_sleep)
9184         (impl_manager_legacy_wake, impl_manager_legacy_state): Implement the compatibility
9185         interface functions for 0.6 branch.
9186
9187 2007-08-14  Dan Williams  <dcbw@redhat.com>
9188
9189         * src/NetworkManagerAP.c
9190                 - (nm_ap_new_from_properties): fix mistaken check of return value
9191                         from memcmp (should expect 0)
9192
9193 2007-08-14  Dan Williams  <dcbw@redhat.com>
9194
9195         (force-commit to fix wrong comment and partial commit of r2685; this
9196          commit actually applies to r2685)
9197
9198         * src/NetworkManagerUtils.c
9199                 - (nm_utils_same_ssid): add "ignore_trailing_null" parameter which
9200                         ignores trailing nulls in the SSID to work around mismatches in
9201                         expectations between WEXT and what the info-daemon passes back.  The
9202                         info-daemon would pass back the correct length, but due to the
9203                         ESSID length issues with WEXT 22 and greater and wpa_supplicant,
9204                         the device would always have an SSID + 1 depending on what versions
9205                         of wpa_supplicant, the kernel, and NM you have.  This was most often
9206                         visible by just quitting the applet and relaunching, which caused
9207                         NM to reassociated to the same network over again when reloading
9208                         the save networks.
9209
9210         * src/NetworkManagerPolicy.c
9211           src/NetworkManagerUtils.h
9212           src/nm-device-802-11-wireless.c
9213                 - Update for new parameter to nm_utils_same_ssid()
9214
9215 2007-08-14  Dan Williams  <dcbw@redhat.com>
9216
9217         * src/NetworkManagerAP.c
9218                 - (nm_ap_new_from_properties): ignore BSSs with invalid BSSIDs.  Today
9219                         I encountered a BSS that wasn't just hiding it's ESSID, it was
9220                         setting the BSSID to all 0s.  That confused the heck out of NM,
9221                         plus it's useless and probably out-of-spec.
9222
9223 2007-08-14  Dan Williams  <dcbw@redhat.com>
9224
9225         * callouts/Makefile.am
9226           src/dhcp-manager/nm-dhcp-manager.c
9227           src/dhcp-manager/nm-dhcp-manager.h
9228           src/dhcp-manager/Makefile.am
9229                 - Change install location of nm-dhcp-client.action to ${prefix}/libexec
9230
9231 2007-08-14  Dan Williams  <dcbw@redhat.com>
9232
9233         * src/dhcp-manager/nm-dhcp-manager.c
9234                 - (dhclient_run): don't pass -x to dhclient until we figure out if
9235                         it's really needed, get rid of unused xtra_args parameter
9236
9237 2007-08-14  Dan Williams  <dcbw@redhat.com>
9238
9239         * include/NetworkManagerVPN.h
9240           src/vpn-manager/nm-dbus-vpn.c
9241           src/vpn-manager/nm-dbus-vpn.h
9242           src/vpn-manager/nm-vpn-act-request.c
9243           src/vpn-manager/nm-vpn-act-request.h
9244           src/vpn-manager/nm-vpn-service.c
9245           src/vpn-manager/nm-vpn-service.h
9246           libnm-glib/nm-vpn-connection.c
9247           libnm-glib/nm-vpn-connection.h
9248           libnm-glib/nm-client.h
9249                 - Rename NM_VPN_STATE_* -> NM_VPN_SERVICE_STATE_* and NMVPNState -> 
9250                         NMVPNServiceState to clarify what they apply to
9251                 - Rename NM_VPN_ACT_STAGE_* -> NM_VPN_CONNECTION_STATE_* and
9252                         NMVPNActStage -> NMVPNConnectionState for the same reason
9253
9254         * libnm-glib/nm-client.c
9255                 - Constant + type renames from above
9256                 - Properly handle NameOwnerChanged/manager_running signals
9257                         for NM service; only emit when state really changes
9258                 - Use hash tables correctly so that the key (which was previously owned
9259                         by the D-Bus message) now has the same lifetime as the value, since
9260                         the key is now taken from the the NMVPNConnection itself.  This
9261                         really fixes the double-VPN names in the applet
9262
9263 2007-08-13  Dan Williams  <dcbw@redhat.com>
9264
9265         Patch from Michael Biebl <biebl@debian.org>
9266
9267         * po/POTFILES.in
9268           po/POTFILES.skip
9269                 - Update for vpn-properties move
9270
9271 2007-08-13  Dan Williams  <dcbw@redhat.com>
9272
9273         * libnm-glib/nm-client.c
9274                 - Convert internal VPN connection tracking from a list to a hash table
9275                         to easily avoid duplicates
9276                 - (nm_client_get_vpn_connections): now returns an allocated GSList that
9277                         must be freed by the caller, like nm_client_get_devices()
9278                 - (nm_client_remove_vpn_connection): don't let the removal signal
9279                         leak through for NMVPNConnection objects that aren't actually
9280                         tracked.
9281                 - (manager_running): throw away VPN connection list when NM goes away,
9282                         like with the device list
9283
9284 2007-08-13  Dan Williams  <dcbw@redhat.com>
9285
9286         * src/dhcp-manager/nm-dhcp-manager.c
9287                 - Stop any dhclient instance that might be already running for a
9288                         particular interface before starting an NM spawned dhclient.  Fixes
9289                         dhclient processes left over if NM crashes, stuff like that.
9290
9291 2007-08-13  Dan Williams  <dcbw@redhat.com>
9292
9293         * src/NetworkManagerAP.c
9294                 - (finalize): don't try to g_array_free (NULL, ...), which happened
9295                         when the AP wasn't broadcasting it's SSID
9296
9297 2007-08-13  Rodrigo Moya <rodrigo@gnome-db.org>
9298
9299         * include/NetworkManager.h: added DBus path for connection settings.
9300
9301         * libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
9302         nm_connection_settings_signal_updated,
9303         nm_connection_settings_signal_removed): new functions to wrap the
9304         objects' signals.
9305         (nm_connection_settings_init): register GObject with DBus.
9306         (nm_connection_settings_get_dbus_object_path): new function.
9307
9308         * libnm-glib/Makefile.am: added libnmutil to link flags.
9309
9310 2007-08-13  Tambet Ingo  <tambet@gmail.com>
9311
9312         * configure.in: Remove checks for dhcdbd as it's killed! killed! killed!
9313
9314         * gnome/*: Remove. The nm-vpn-properties directory is now part of nm-applet,
9315         libnm_glib directory got merged with libnm-glib/.
9316
9317         * libnm-glib/libnm-glib.pc.in: Rename to libnm_glib.pc.in.
9318
9319         * libnm-glib/Makefile.am: Add legacy libnm_glib.[ch] to the build.
9320         Rename the library from libnm-glib to libnm_glib to maintain the library API
9321         compatibility with 0.6 branch.
9322
9323         * Makefile.am: Remove gnome/ SUBDIR.
9324
9325         * gnome/libnm_glib/libnm_glib.[ch]: Move to libnm-glib/.
9326
9327         * src/Makefile.am: Remove the WPA_SUPPLICANT_BIN define.
9328
9329         * dispatcher-daemon/Makefile.am: Link the binary with libnm_glib.
9330
9331         * configure.in: Remove GNOME checks, NetworkManager does not need any of these
9332         anymore.
9333         Remove checks for wpa_supplicant binary, it's used over dbus.
9334         Remove gnome/ directory files form AC_OUTPUT, that directory is getting moved.
9335
9336         * test/Makefile.am: Remove define WPA_SUPPLICANT_BIN.
9337         Link the binaries with libnm_glib.la.
9338
9339 2007-08-12  Dan Williams  <dcbw@redhat.com>
9340
9341         * src/NetworkManagerPolicy.c
9342                 - (nm_policy_device_change_check): fix policy to deactivate old device
9343                         before activating new one, at least until the multiple active
9344                         device support lands
9345
9346 2007-08-12  Dan Williams  <dcbw@redhat.com>
9347
9348         * src/NetworkManagerPolicy.c
9349                 - (nm_policy_new): hook up to connection-added / connection-removed
9350                         signals instead of connections-changed
9351
9352 2007-08-12  Dan Williams  <dcbw@redhat.com>
9353
9354         Kill dhcdbd until it's dead, dead, dead.  Based on a patch from
9355         Robert Frank <rfrank@redhat.com>
9356
9357         * src/dhcp-manager/nm-dhcp-manager.c
9358           src/dhcp-manager/nm-dhcp-manager.c
9359           src/nm-device.c
9360                 - Spawn and communicate with dhclient directly, through means of a
9361                 custom dhclient callout script.  Process callout D-Bus signals
9362                 with dbus-glib instead of hand-rolled dbus.  DHCP timeouts are now
9363                 sent via gobject signals rather than being driven by the dhcp manager
9364                 directly.
9365
9366 2007-08-12  Dan Williams  <dcbw@redhat.com>
9367
9368         * callouts/nm-dhcp-client-action.c
9369                 - (build_message): ignore non-DHCP-related environment variables
9370
9371 2007-08-12  Dan Williams  <dcbw@redhat.com>
9372
9373         * Makefile.am
9374           configure.in
9375           callouts/Makefile.am
9376           callouts/nm-dhcp-client-action.c
9377           callouts/nm-dhcp-client.conf
9378                 - Add dhclient-executed callout that takes the place of dhclient-script
9379                 and dhcdbd, pushing DHCP options out to the system bus as a signal that
9380                 NM then listens for
9381
9382 2007-08-09  Tambet Ingo  <tambet@gmail.com>
9383
9384         [Based on patch by Helmut Schaa <hschaa@suse.de>]
9385
9386         * libnm-glib/nm-client.h:
9387         * libnm-glib/nm-object.h:
9388         * libnm-glib/nm-vpn-connection.h:
9389         * libnm-glib/nm-settings.h:
9390         * libnm-glib/nm-device.h:
9391         * libnm-glib/nm-ip4-config.h:
9392         * libnm-glib/nm-access-point.h:
9393         * libnm-glib/nm-device-802-3-ethernet.h:
9394         * libnm-util/nm-setting.h: 
9395         * libnm-util/nm-connection.h: Add G_BEGIN_DECLS / G_END_DECLS to support C++.
9396
9397         * libnm-glib/nm-object.c (nm_object_get_byte_property): Implement.
9398
9399         * libnm-glib/nm-access-point.c: Strength has type char.
9400
9401         * gnome/vpn-properties/Makefile.am: Remove GNOME_DISABLE_DEPRECTATED for now
9402         to fix build. GnomeDruid is deprecated in recent libgnomeui.
9403
9404         * introspection/nm-access-point.xml: Strength property is char, not int.
9405
9406         * src/NetworkManagerAP.c (set_property): Set strength from char.
9407         (get_property): Handle hidden APs (with empty SSID).
9408         Get strength value from char.
9409         (nm_ap_class_init): Strength property has char type.
9410
9411 2007-08-03  Rodrigo Moya <rodrigo@gnome-db.org>
9412
9413         * introspection/Makefile.am:
9414         * introspection/nm-settings.xml:
9415         * introspection/nm-settings-connection.xml: added Settings interfaces.
9416
9417         * libnm-glib/nm-settings.[ch]:
9418         * libnm-glib/Makefile.am: added abstract class for Settings interfaces
9419         containing the DBus implementation.
9420
9421 2007-07-26  Dan Williams  <dcbw@redhat.com>
9422
9423         Patch from Bernhard Miklautz <bernhard.miklautz@shacknet.at>
9424
9425         * src/NetworkManagerSystem.c
9426                 - (nm_system_device_set_ip4_route): don't add the route if it's on the
9427                         same subnet (#437396)
9428
9429 2007-07-26  Dan Williams  <dcbw@redhat.com>
9430
9431         Patch from Kelemen Gábor <kelemeng@gnome.hu>
9432
9433         * gnome/vpn-properties/nm-vpn-properties.c
9434                 - Fix translatable strings (#445865)
9435
9436 2007-07-26  Dan Williams  <dcbw@redhat.com>
9437
9438         Patch from Andreas Hanke <andreas.hanke@gmx-topmail.de>
9439
9440         * configure.in
9441                 - Remove useless junk (#412530)
9442
9443 2007-07-10  Christopher Aillon  <caillon@redhat.com>
9444
9445         Patch from Robert Buchholz <rbu@gentoo.org>:
9446
9447         * configure.in:
9448         * Makefile.am:
9449         * introspection/Makefile.am:
9450         Make make distcheck work again.
9451
9452 2007-06-27  Dan Williams  <dcbw@redhat.com>
9453
9454         * Make SSIDs GByteArrays everywhere
9455         * Rename "essid" -> "ssid" everywhere that's appropriate
9456         * Refcount activation_ap member of the 802.11 wireless device class
9457
9458 2007-06-27  Tambet Ingo  <tambet@ximian.com>
9459
9460         * libnm-glib/nm-object.[ch]: Add these to the SVN, oops.
9461
9462 2007-06-22  Tambet Ingo  <tambet@ximian.com>
9463
9464         * src/nm-device-802-11-wireless.c (merge_scanned_ap): Don't advertise constantly
9465         that we got a new AP when we just update existing AP properties.
9466
9467 2007-06-21  Tambet Ingo  <tambet@ximian.com>
9468
9469         * libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].
9470
9471         * nm-utils.[ch]: Remove.
9472
9473         * libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
9474         objects for easy property access and dbus connection handling.
9475
9476         * libnm-glib/nm-client.c: Derive from NMObject.
9477
9478         * libnm-glib/nm-device.c: Ditto.
9479
9480         * libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.
9481
9482         * libnm-glib/nm-device-802-11-wireless.c: Ditto.
9483
9484         * libnm-glib/nm-ip4-config.c: Ditto.
9485
9486         * libnm-glib/nm-access-point.c: Ditto.
9487
9488         * libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
9489         comparision. Currently used by the device activation code to determine if the new
9490         activation is the same as the old one.
9491
9492         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
9493         wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
9494         able to ask password for the AP.
9495
9496         * src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
9497         up if the device is already connected, tear down it's connection (if it isn't the
9498         same as new one) and start the activation.
9499
9500         * src/nm-manager.c: Add the beginnings of NMConnection storage and signals.
9501
9502         * src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
9503         the issue where all APs are always listed as encrypted.
9504
9505         * src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
9506         their own registered paths.
9507
9508         * test/nm-tool.c (detail_device): Don't try to get active network from wireless
9509         device if it's not connected - dbus-glib will happily crash trying to marshal NULL.
9510
9511 2007-06-13  Tambet Ingo  <tambet@ximian.com>
9512
9513         * src/NetworkManagerAP.c (foreach_property_cb): Set WEP capabilities too!
9514         (0 & 0 == 0, doh)
9515
9516         * src/nm-device.c (nm_device_state_changed): Emit the signal before handling it
9517         because the handling code will cause the next state change and signal listeners
9518         get the signals in wrong order.
9519
9520         * src/NetworkManagerPolicy.c (nm_policy_device_change_check): Get the "old_dev"
9521         correctly in case of pending activation.
9522
9523         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9524         Convert the essid byte array to string correctly, including the terminating NULL.
9525
9526         * src/NetworkManagerPolicy.c (create_connection): Create wireless ssid and
9527         mode with correct types.
9528
9529         * src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Fix a typo, pass the
9530         constructed info to dbus call instead of the activation request.
9531
9532 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9533
9534         Patch from Christian Persch <chpe@gnome.org>
9535
9536         * libnm-glib/Makefile.am:
9537         * dispatcher-daemon/Makefile.am:
9538         Use the correct variables, the correct paths, and correct ordering. (446315)
9539
9540 2007-06-11  Tambet Ingo  <tambet@ximian.com>
9541
9542         * src/nm-device.c: Make the activation stage virtual functions take NMDevice
9543         argument. The activation request is easy to retrieve.
9544
9545         * src/nm-activation-request.c: Convert to GObject. Do not include half of NM headers
9546         just to be a convenient location for devices to store random stuff.
9547
9548 2007-06-11  Christopher Aillon  <caillon@redhat.com>
9549
9550         Patch from Alex Smith <alex@alex-smith.me.uk>
9551
9552         * src/backends/NetworkManagerFrugalware.c:
9553         Update the FrugalWare backend to fix a few segfaults. (#392642)
9554
9555 2007-06-08  Tambet Ingo  <tambet@ximian.com>
9556
9557         * libnm-util/nm-setting.c: Implement NMSettingWirelessSecurity.
9558
9559         * libnm-util/nm-connection.c (register_default_creators): Register wireless security
9560         setting.
9561         (gvalue_to_string): Recognize G_TYPE_UCHAR and GSList.
9562
9563 2007-06-06  Tambet Ingo  <tambet@ximian.com>
9564
9565         * libnm-util/nm-setting.c: Get rid of dump virtual functions, that can happen
9566         automagically.
9567         Implement NMSettingIP4Config.
9568         Finish NMSettingWired by adding all known members.
9569         (setting_wired_verify): Implement.
9570         Finish NMSettingWireless by adding all known members.
9571         (setting_wireless_verify): Implement.
9572
9573         * libnm-util/nm-connection.c: Register "ipv4" setting.
9574         (nm_connection_dump): Implement. Instead of requiring every NMSetting to implement
9575         dump function, we can introspect the GHashTable which is used for sending connections
9576         over dbus.
9577
9578         * src/nm-device-802-11-wireless.c (nm_device_802_11_wireless_set_activation_ap):
9579         Take GByteArray for essid, it's really not a string.
9580
9581         * src/nm-device.c (real_act_stage3_ip_config_start): Get information from NMSettings.
9582         Start DHCP request if setting is not passed or if it states that DHCP should be used.
9583         (real_act_stage4_get_ip4_config): If settings are provided, use them, even if it
9584         means overriding the values we got from DHCP.
9585         (real_activation_cancel_handler): Cancel DHCP transaction only if it has started, doh.
9586         (nm_device_deactivate_quickly): Ditto.
9587
9588         * src/nm-device-interface.c (impl_device_activate): Dump the connection structure
9589         for debugging.
9590
9591 2007-05-07  Tambet Ingo  <tambet@ximian.com>
9592
9593         * libnm-glib/Makefile.am: Link with libnm-util to gain access to
9594         NMConnection.
9595
9596         * libnm-glib/nm-device-802-11-wireless.c:
9597         (nm_device_802_3_ethernet_activate): Remove.
9598
9599         * libnm-glib/nm-device-802-3-ethernet.c
9600         (nm_device_802_3_ethernet_activate): Remove.
9601
9602         * libnm-glib/nm-device.c (nm_device_activate): Implement.
9603
9604         * src/nm-device-802-3-ethernet.c: Implement the new activation using
9605         NMConnection.
9606
9607         * src/nm-device-802-11-wireless.c: Store an activation AP once the
9608         activation has started.
9609         Implement the new activation using NMConnection.
9610
9611         * src/nm-activation-request.c: Store a generic connection object instead
9612         of a wireless-specific AP.
9613
9614         * src/NetworkManagerPolicy.c (create_connection): Implement. Depending
9615         on device type, create a device specific connection object suitable for
9616         device activation.
9617
9618         * src/nm-device.c (nm_device_activate): Re-implement. Call the device
9619         specific check to validate the connection and on success start the
9620         activation.
9621
9622         * src/nm-device-interface.h: Add a activate virtual function to the
9623         interface definition.
9624
9625         * src/nm-device-interface.c (nm_device_interface_activate): Implement.
9626         (impl_device_activate): Implement.
9627
9628         * introspection/nm-device.xml: Add a generic device activation interface
9629         that accepts an abstract NMConnection structure that has device-specific
9630         information in it.
9631
9632         * introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
9633         activation interface.
9634
9635         * introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
9636         activation interface.
9637
9638         * libnm-util/nm-connection.c: 
9639         * libnm-util/nm-connection.h: 
9640         * libnm-util/nm-setting.c:
9641         * libnm-util/nm-setting.h: Add.
9642
9643         * libnm-util/Makefile.am: Build the added files.
9644
9645         * src/nm-dbus-manager.c
9646         (proxy_name_owner_changed, nm_dbus_manager_class_init): Remove the
9647         DbusConnection argument from 'name-owner-changed' signal. The manager
9648         is already passed as a first argument to the signal and the connection
9649         is easy enough to get from it.
9650
9651         * src/vpn-manager/nm-vpn-service.c (nm_vpn_service_name_owner_changed):
9652         Update the signature of the function.
9653
9654         * src/vpn-manager/nm-vpn-manager.c (nm_name_owner_changed_handler):
9655         Ditto.
9656
9657         * src/NetworkManager.c: Ditto.
9658
9659         * src/named-manager/nm-named-manager.c
9660         (nm_named_manager_name_owner_changed): Ditto.
9661
9662         * src/supplicant-manager/nm-supplicant-manager.c
9663         (nm_supplicant_manager_name_owner_changed): Ditto.
9664
9665         * src/nm-hal-manager.c (name_owner_changed): Ditto.
9666
9667         * src/dhcp-manager/nm-dhcp-manager.c
9668         (nm_dhcp_manager_name_owner_changed): Ditto.
9669
9670         * src/nm-hal-manager.c: Add a list of device detectors and creators
9671         to make it easier to add new devices. Each device type has it's own
9672         entry in the table so adding new device types is only a matter of
9673         implementing a couple of functions, one for device detection and the
9674         other for device creation.
9675
9676 2007-04-25  Dan Williams  <dcbw@redhat.com>
9677
9678         * initscript/RedHat/NetworkManager.in: remove trailing backslash
9679                 (gnome.org #432401)
9680
9681 2007-03-30  Dan Williams  <dcbw@redhat.com>
9682
9683         * src/NetworkManagerSystem.c
9684                 - (nm_system_device_set_ip4_route): clean up and fix argument
9685                         to nm_dev_sock_open()
9686
9687 2007-03-28  Tambet Ingo  <tambet@ximian.com>
9688
9689         * src/supplicant-manager/nm-supplicant-config.c (get_hash_cb): Marshal the
9690         data to correct types instead of always using string.
9691
9692         * src/NetworkManagerAP.c (get_property): AP is encrypted if capabilities does
9693         _not_ have NM_802_11_CAP_PROTO_NONE.
9694         (foreach_property_cb): Set AP capabilities if it's not set or if the protocol
9695         is not set.
9696
9697 2007-03-27  Tambet Ingo  <tambet@ximian.com>
9698
9699         * libnm-glib/Makefile.am: Fix the build issue.
9700
9701 2007-03-26  Tambet Ingo  <tambet@ximian.com>
9702
9703         * libnm-glib/nm-vpn-connection.h: 
9704         * libnm-glib/nm-vpn-connection.c: Implement.
9705
9706         * libnm-glib/nm-client.c: Add VPN support.
9707
9708         * src/vpn-manager/nm-dbus-vpn.c (dbus_message_handler): Implement DBUS message
9709         handler for VPN.
9710
9711         * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_new): Register VPN interface
9712         on DBUS again.
9713
9714 2007-03-26  Dan Williams  <dcbw@redhat.com>
9715
9716         * src/NetworkManagerAPList.c
9717         * src/nm-device-802-11-wireless.c
9718         * src/NetworkManagerAP.c:
9719                 - Store last seen as glong instead of GTimeVal.
9720                 - Fix the upper bound of capabilities, it's a bitfield.
9721
9722 2007-03-16  Tambet Ingo  <tambet@ximian.com>
9723
9724         * libnm-glib/nm-device.c (nm_device_get_description): Implement.
9725
9726         * libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
9727         "manager-running" signal that notifies the appearance/disappearance of NM.
9728         (nm_client_sleep): Implement.
9729
9730         * libnm-glib/nm-device.c:
9731         * libnm-glib/nm-device-802-11-wireless.c: 
9732         * libnm-glib/nm-device-802-3-ethernet.c: 
9733
9734         Don't inherit from DBusGProxy, add a proxy to private
9735         data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
9736         for anything but their own dbus interface. DBusGProxy objects support only one
9737         interfaces and to work around this, NMDevice has spearate proxy for each dbus
9738         interface. The nice side effect of this change is that we do not create a new
9739         DBusGProxy object for each property access.
9740
9741 2007-03-15  Tambet Ingo  <tambet@ximian.com>
9742
9743         * src/nm-device-802-11-wireless.c (constructor): Initialize the iw_ext structures
9744         with zeroes before passing them to functions - the functions never do that and
9745         reading the values back may produce wrong values.
9746         (real_bring_up): Store the signal handler id ...
9747         (real_bring_down): ... So that it can be removed here.
9748         Disconnect the supplicant interface here as well.
9749         (nm_device_802_11_wireless_ap_list_get_ap_by_obj_path): Use the dbus object path
9750         from the access point instead of old $device/Networks/$essid.
9751
9752         * src/nm-manager.c (nm_manager_get_state): Return NM_STATE_CONNECTED when the
9753         device state is connected (instead of just having link/carrier).
9754
9755         * src/nm-activation-request.c: Don't store NMData in activation request, it's
9756         already easily accessible through the device.
9757
9758         * src/NetworkManagerAP.c (nm_ap_init): Construct the dbus object path here and
9759         store it within the object.
9760         (nm_ap_get_dbus_path): Export it to public as well.
9761
9762         * src/dhcp-manager/nm-dhcp-manager.c (nm_dhcp_manager_get): Keep the ownership
9763         of the singleton.
9764
9765 2007-03-12  Dan Williams  <dcbw@redhat.com>
9766
9767         Get rid of 2 second poll of sysfs 'carrier' file for wired devices.  Useless
9768         for non-carrier-detect capable devices, and useless for carrier-detect
9769         devices since we get notifications from netlink about carrier status anyway.
9770
9771         * src/nm-device-802-3-ethernet.c
9772                 - remove 'link_source_id' member from private data
9773                 - (probe_link): remove and collapse into real_update_link()
9774                 - (nm_device_802_3_periodic_update): remove
9775                 - (real_is_up): check for sup_iface rather than link_source_id
9776                 - (real_bring_up): return gboolean for success/fail; require that
9777                         sup_iface be valid for device bringup to succeed
9778                 - (real_bring_down): zero out link signal ids
9779
9780         * src/nm-device.c
9781                 - (nm_device_activate_stage2_device_config): fail activation if device
9782                         bringup fails
9783                 - (real_act_stage4_get_ip4_config): fail activation if device bringup
9784                         fails
9785                 - (nm_device_bring_up): return success/fail
9786
9787         * src/nm-device.h
9788                 - bring_up now returns success/fail
9789
9790         * src/nm-device-802-11-wireless.c
9791                 - (real_bring_up): return success from bringup
9792
9793 2007-03-07  Dan Williams  <dcbw@redhat.com>
9794
9795         Patch from Simon Geard <delgarde@ihug.co.nz>  (Gnome.org #394956)
9796         * src/nm-ap-security-wpa-psk.c
9797                 - (real_write_supplicant_config): work with PSKs that may contain
9798                         zeros in the binary format rather than treating it as a string
9799
9800 2007-03-02  Tambet Ingo  <tambet@ximian.com>
9801
9802         * libnm-glib/nm-device-802-11-wireless.c
9803         (nm_device_802_11_wireless_get_capabilities): Implement.
9804
9805         * libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.
9806
9807         * src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.
9808
9809         * src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
9810         reply only if it's not NULL. Not sure why this started happening right now.
9811
9812         * src/nm-manager.c (device_stop_and_free): Remove. No need to have different
9813         code paths for when devices get removed on shutdown or when a device is just
9814         removed.
9815         (finalize): Don't use a g_slist_foreach() when removing devices, the list data
9816         gets freed so any signal from a device (disconnected for instance) would invoke
9817         NMState update which would crash.
9818         (nm_manager_remove_device): Bring the device down when it gets removed.
9819
9820         * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
9821         the unused dev_type.
9822
9823         * src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
9824         reference to the added device, NMManager will own it (if it wants).
9825
9826         * test/nm-tool.c: Rewrite using libnm-glib.
9827
9828         * libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
9829         We get signalled when it changes.
9830
9831         * libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
9832         when it changes.
9833
9834         * libnm-glib/nm-device.c: Cache the device state property.
9835
9836         * libnm-glib/nm-access-point.c: Cache the strength property.
9837
9838         * src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
9839         The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
9840         and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
9841         until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
9842         the device is down, activating, or activated (in case of A/B/G cards).
9843         Remove some old dead ifdef'ed out code that used to configure wireless devices,
9844         it's all done through supplicant now.
9845
9846         * src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
9847         counting issues with pending calls which caused leaks and crashes when
9848         interface was removed (now that the interface actually gets removed).
9849
9850         * src/nm-call-store.c: Make a copy of data before running a foreach
9851         with user callback on it - The most common usage pattern is to cancel
9852         (and thus remove) all pending calls with foreach which would modify
9853         the hash table we're iterating over.
9854
9855         * src/nm-manager.c: When a device is added, make sure it is "up". When
9856         it's removed or disabled due to disabling wireless or networking, bring
9857         it down.
9858
9859         * include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.
9860
9861         * src/nm-device-802-11-wireless.c: 
9862         * src/nm-device-802-3-ethernet.c: 
9863         * src/nm-device.c:
9864                 - Remove "init" virtual function, all gobjects have a place for that
9865                   already (constructor).
9866                 - Replace "start" virtual function with "bring_up", devices can be
9867                   brought up and down more than just on startup now.
9868                 - Add "is_up" virtual function.
9869                 - Implement one way to bring a device down instead of previous 4 different
9870                   ways, each of witch did something different.
9871
9872         * src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
9873         all it needs is the device interface.
9874
9875         Get rid of NMData.dev_list (3 members to go).
9876         Get rif of NMData in a lot of places.
9877
9878         * gnome/libnm_glib/libnm_glib.c: Make it compile again.
9879
9880 2007-02-23  Dan Williams  <dcbw@redhat.com>
9881
9882         Patch from Andy Whitcroft <apw@shadowen.org> (Gnome.org #410426)
9883
9884         * src/NetworkManagerAP.c
9885                 - (add_capabilities_from_cipher): fix addition of WEP capabilities by
9886                         OR-ing rather than AND-ing
9887
9888 2007-02-20  Tambet Ingo  <tambet@ximian.com>
9889
9890         * libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
9891         "network-removed" signals.
9892
9893         * libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.
9894
9895         * libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
9896         when receiving the signal from dbus.
9897
9898         * src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
9899         property.
9900
9901         * src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
9902         deactivation of the previously activated device working again.
9903
9904         * src/nm-activation-request.c: Remove NMActStage property and it's getter
9905         and setter.
9906
9907         * src/nm-device.c (nm_device_is_activated): Remove.
9908         state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.
9909
9910         * include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
9911         NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
9912         NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
9913         NM_DBUS_SIGNAL_STATE_CHANGE signal.
9914         Remove NMNetworkStatus and NMActStage enums.
9915
9916 2007-02-19  Tambet Ingo  <tambet@ximian.com>
9917
9918         * src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
9919         Handle device state changes and disconnect VPN if it's device deactivates.
9920
9921         * src/nm-dbus-nm.c: 
9922         * src/nm-dbus-nm.h: 
9923         * src/nm-dbus-device.c: 
9924         * src/nm-dbus-device.c: 
9925         * src/nm-dbus-net.c: 
9926         * src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.
9927
9928         * src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.
9929
9930         * src/nm-device.c (nm_device_get_by_udi):
9931         (nm_device_get_by_iface): Remove. This doesn't belong here and is already
9932         implemented in the correct location (NMManager).
9933         Rip out all the test_device stuff.
9934
9935         * src/NetworkManagerPolicy.c: Remove the leftover activation success and
9936         failure handlers, it's all done by NMDevice already.
9937
9938         * src/NetworkManager.c: Move the signal handling here from nm-logging.c
9939         Remove the iochannel hack to route the unix signals to the main thread since
9940         we're not threaded anymore.
9941
9942         * src/NetworkManagerAP.c: Implement HWAddress property.
9943
9944         * src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
9945         automatically with dbus-glib.
9946
9947         * src/nm-netlink-monitor.c: 
9948         * src/nm-netlink-monitor.h:
9949                 - Move it low in the class hierarchy, don't reference any NM types.
9950                 - Remove private data from the header.
9951                 - Use type safe checks in public API methods.
9952                 - Make it a singleton so we don't have to pass the single reference around.
9953
9954 2007-02-16  Tambet Ingo  <tambet@ximian.com>
9955
9956         * introspection/nm-ip4-config.xml: Implement.
9957
9958         * libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.
9959
9960         * libnm-glib/nm-ip4-config.c:
9961         * libnm-glib/nm-ip4-config.c: Implement.
9962
9963         * src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
9964         securities. APs reference security.
9965
9966         * src/nm-device-802-11-wireless.c: Implement missing properties that need to
9967         be exported over DBUS.
9968
9969         * src/nm-device-802-3-ethernet.c: Ditto.
9970
9971         * src/NetworkManagerAP.c:
9972         * src/NetworkManagerAP.h:
9973                 - Convert to GObject, export over DBUS.
9974
9975         * src/nm-ip4-config.h:
9976         * src/nm-ip4-config.h:
9977                 - Convert to GObject, export over DBUS.
9978
9979 2007-02-12  Dan Williams  <dcbw@redhat.com>
9980
9981         Patch from Helmut Schaa <hschaa@suse.de>
9982
9983         * vpn-daemons/pptp/configure.in
9984           vpn-daemons/pptp/Makefile.am
9985           vpn-daemons/openvpn/configure.in
9986           vpn-daemons/openvpn/Makefile.am
9987           vpn-daemons/vpnc/configure.in
9988           vpn-daemons/vpnc/Makefile.am
9989                 - Add --without-gnome switch which disables building gnome bits
9990
9991 2007-02-12  Tambet Ingo  <tambet@ximian.com>
9992
9993         * libnm-glib/nm-device.c (nm_device_get_use_dhcp): Remove.
9994
9995         * libnm-glib/nm-access-point.c (nm_access_point_is_broadcast): Remove.
9996
9997         * introspection/nm-device-802-3-ethernet.xml: Rename 'Address' property to
9998         'HwAddress'.
9999
10000         * introspection/nm-device.xml: Remove 'UseDhcp' property.
10001
10002         * introspection/nm-access-point.xml: Remove 'Broadcast' property.
10003
10004         Totally break NetworkManager. Please use 0.6 branch until futher notice.
10005
10006         * src/:
10007                 - Remove old low-level dbus interface implementations and replace them
10008                   with dbus-glib one.
10009
10010         * configure.in:
10011                 - Require dbus-glib >= 0.72.
10012                 - Plug in new sources to build.
10013
10014         * libnm-glib/:
10015                 - Implement GObject wrappers on top of DBUS glib auto-generated bindings
10016                   to make it more convenient to use from GObject based programs.
10017
10018         * introspection/:
10019                 - Implement DBUS XML introspection files, used by both NM and libnm-glib.
10020
10021 2007-02-09  Tambet Ingo  <tambet@ximian.com>
10022
10023         * src/nm-device-802-11-wireless.c:
10024                 - Add "network-added" and "network-removed" signals.
10025                 - Use gobject boilerplate macros to define the GObject.
10026                 - Implement wireless device activation.
10027                 - Remove activation_failure_handler and activation_success_handler
10028                   and instead listen on state-changed signals and run the same code
10029                   from there.
10030
10031         * src/nm-device.c:
10032                 - Implment NMDeviceInterface::deactivate.
10033                 - Remove activation_failure_handler and activation_success_handler
10034                   virtual methods. Each device which is interested in these events
10035                   can just listen on it's state changed signals.
10036
10037         * src/NetworkManagerPolicy.c:
10038                 - Move a bit more NMData usage to NMManager.
10039                 - Remove activation scheduling bits.
10040                 - Add listeners for wireless device's "network-added" and
10041                   "network-removed" signals.
10042                 - Listen device changed signals and deactivate currently activated
10043                   device when another device start activating (for now).
10044                 - Remove (nm_policy_schedule_device_change_check): There's never a need
10045                   for calling this, the policy code knows exactly when this should happen,
10046                   by listening on events from NMManager and NMDevices.
10047
10048         * src/nm-device-802-3-ethernet.c (nm_device_802_3_ethernet_activate):
10049         Implement.
10050
10051         * src/nm-dbus-nm.c (nm_dbus_nm_set_active_device): Call the activation
10052         method on the specific device instead of going to through policy code
10053         and determining the device type by passed in AP's existance.
10054
10055         * src/nm-device-interface.c (nm_device_interface_deactivate): Implement the
10056         abstract NMDevice deactivation.
10057
10058 2007-02-08  Tambet Ingo  <tambet@ximian.com>
10059
10060         * src/NetworkManager.c:
10061                 - Set up all the shiny new managers.
10062
10063         * src/NetworkManagerPolicy.c:
10064                 - Add the beginnings of new NMPolicy code. Instead of requireing all
10065                   classes to call into policy code, make the policy code kind of like
10066                   a supervisor that monitors what's going on and drives the whole NM.
10067
10068         * src/nm-hal-manager.c: 
10069         * src/nm-hal-manager.h:
10070                 - Collect all libhal code scattered around NM to this one class.
10071                 - Listen libhal and NMManager events and add/remove devices to
10072                   NMManager.
10073
10074         * src/nm-manager.c:
10075         * src/nm-manager.h:
10076                 - Implment a replacement for NMData. NMData is now officially
10077                 deprecated.
10078
10079 2007-02-05  Tambet Ingo  <tambet@ximian.com>
10080
10081         * src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
10082         * src/supplicant-manager/nm-supplicant-interface.h
10083         * src/supplicant-manager/nm-supplicant-interface.c
10084         (nm_supplicant_interface_class_init): Change the "scan-result" signal's
10085         argument to boolean from enum.
10086
10087         Make NMDevice abstract class, remove almost all references to it's
10088         subclasses (the last place gets removed with new policy manager). Add
10089         NMDeviceInterface (which NMDevice implements) so that when we have
10090         NMDevice exported over DBUS, there's a common NMDevice interface which
10091         all instances have, plus there's a device specific interface for each
10092         specific type.
10093         Remove functions (nm_device_is_802_3_ethernet) and
10094         (nm_device_is_802_11_wireless). There are already standard GObject macros
10095         for type safe checks.
10096         Use the updated supplican manager API.
10097
10098         * src/nm-device-interface.h: 
10099         * src/nm-device-interface.c: 
10100         * src/nm-call-store.h: 
10101         * src/nm-call-store.c: Implement.
10102
10103         * src/supplicant-manager/nm-supplicant-interface.c:
10104         * src/supplicant-manager/nm-supplicant-interface.h:
10105         * src/supplicant-manager/nm-supplicant-manager.c:
10106         * src/supplicant-manager/nm-supplicant-manager.h:
10107                 - Remove all private data type references from public header files.
10108                 - Remove all references to other NM classes, this class is just a
10109                   proxy between wpa_supplicant and NM so it doesn't have to know
10110                   any internals.
10111                 - Convert to dbus-glib bindings.
10112                 - Type safe checks for public methods' arguments.
10113                 - Store pending DBUS call ids to NMCallStore.
10114
10115         * src/supplicant-manager/nm-supplicant-config.c:
10116                 - Store config values in a GHashTable instead of GSList.
10117
10118         * src/NetworkManagerMain.h: Remove all references to DHCP manager.
10119
10120         * src/NetworkManager.c: Don't initialize the DHCP manager, it's a
10121         singleton now.
10122
10123         * src/nm-device.c: Use the new DHCP manager API.
10124
10125         * src/nm-activation-request.c:
10126         * src/nm-activation-request.h:
10127                 - Remove all dhcp related properties and methods.
10128
10129         * src/dhcp-manager/nm-dhcp-marshal-main.c: Add.
10130
10131         * src/dhcp-manager/nm-dhcp-marshal.list: Add.
10132
10133         * src/dhcp-manager/nm-dhcp-manager.c:
10134         * src/dhcp-manager/nm-dhcp-manager.h:
10135                 - Convert it to GObject since we need to signal state changes.
10136                 - Remove all references to other NM classes, this class is one
10137                   of the lowest classes in our hierarchy.
10138                 - One less class to use NMActRequest.
10139                 - Make it singleton, one less user of NMData.
10140                 - Remove a couple of sleep() calls.
10141                 - Convert a bunch of low-level dbus API calls to dbus-glib calls.
10142                   One less class to use the NM's custom tailored signal handlig.
10143
10144         * Makefile.am: Generate marshallers, add them to build.
10145
10146 2007-02-02  Dan Williams  <dcbw@redhat.com>
10147
10148         * configure.in
10149           gnome/Makefile.am
10150           nm-applet.desktop
10151           Makefile.am
10152                 - Remove last bits referencing gnome applet
10153
10154 2007-02-02  Dan Williams  <dcbw@redhat.com>
10155
10156         * src/vpn-manager/nm-vpn-service.c
10157                 - (nm_vpn_service_stage4_ip4_config_get): use uint32 arrays for DNS
10158                         and NBNS server addresses
10159
10160 2007-02-02  Tambet Ingo  <tambet@ximian.com>
10161
10162         * src/nm-dbus-manager.c:
10163         * src/nm-dbus-manager.h:
10164                 - Convert all internal DBUS code to use dbus-glib bindings.
10165                 - Remove GObject properties, we don't need them here.
10166                 - Don't explicitly set things to NULL after freeing, glib is
10167                   happy to do it if asked nicely (G_DEBUG=gc-friendly).
10168                 - Make public API argument checks type safe.
10169                 - Remove unnecessary (and wrong) cast to GObject for the first
10170                   argument to g_signal_* calls - The first argument is a gpointer.
10171                 - Export DBusGConnection to other cool classes that (are going to)
10172                   use dbus-glib.
10173
10174 2007-01-26  Dan Williams  <dcbw@redhat.com>
10175
10176         * libnm-util/dbus-dict-helpers.c
10177           libnm-util/dbus-dict-helpers.h
10178                 - Coordinate style with wpa_supplicant version to minimize diff
10179                 - Add uint32 array support
10180                 - (nmu_dbus_dict_append_uint32_array): new function
10181                 - (nmu_dbus_dict_begin_string_array, nmu_dbus_dict_string_array_add_element,
10182                    nmu_dbus_dict_end_string_array): bring over from wpa_supplicant
10183                         version; allow adding string array elements individually
10184
10185         * test/libnm-util/test-dbus-dict-helpers.c
10186                 - Test uint32 arrays
10187
10188 2007-01-27  Jürg Billeter  <j@bitron.ch>
10189
10190         * src/backends/NetworkManagerPaldo.c
10191                 - (nm_system_update_dns): clear nscd hosts cache
10192
10193 2007-01-04  Dan Williams  <dcbw@redhat.com>
10194
10195         Threading removal related cleanups:
10196
10197         - Use the glib default main context.  Remove the device main context
10198                 member from NMDevice, and the main_context member from NMData.  Change
10199                 all the idle and timeout scheduler functions to use plain
10200                 g_idle_add() and g_timeout_add().
10201
10202         - As a side-effect of the first change, nm_dbus_manager_get() no longer
10203                 takes an argument; fix that up too.
10204
10205         - Remove all locking, which is useless since we no longer use threads.  For
10206                 example, nm_get_device_by_iface_locked() has been removed.  The global
10207                 device list lock, the AP List lock, and all static locks in
10208                 NetworkManagerPolicy.c have been removed.  The locking utility functions
10209                 in NetworkManagerUtils.c have also been removed.
10210
10211         - Other cleanups in spacing and code style
10212
10213 2007-01-01  Dan Williams  <dcbw@redhat.com>
10214
10215         Found by Bill Moss:
10216
10217         * src/supplicant-manager/nm-supplicant-interface.c
10218                 - (nm_supplicant_interface_disconnect): fix cleanup logic when
10219                         the supplicant interface wasn't already disconnected.  Always
10220                         call removeNetwork and disconnect unless the supplicant interface
10221                         is in the DISCONNECTED or INACTIVE state.
10222
10223 2006-12-28  Dan Williams  <dcbw@redhat.com>
10224
10225         Use a single thread for everything.  With the move to wpa_supplicant
10226         and communication over D-Bus, there's no reason for multiple threads.
10227         Almost all of the blocking code has been removed, with one exception in
10228         the DHCP manager and a few in the VPN manager.  This commit removes the
10229         per-device worker thread and fixes activation cancellation in the absence
10230         of threads.  Further removal of thread-related code would be removing
10231         any locking code (like the device list lock) and simplification of logic
10232         around areas of code or data structures that are currently locked.
10233
10234         * autoip.c
10235           dhcp-manager/nm-dhcp-manager.c 
10236           nm-device-802-11-wireless.c
10237           nm-device-802-3-ethernet.c
10238           nm-device.c
10239           nm-device.h
10240                 - Remove usage of multiple threads
10241
10242 2006-12-19  Dan Williams  <dcbw@redhat.com>
10243
10244         Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
10245         plus a few other patches from wpa_supplicant bugzilla.
10246
10247         * src/Makefile.am
10248           src/NetworkManagerPolicy.c
10249           src/NetworkManagerUtils.c
10250           src/NetworkManagerUtils.h
10251           src/nm-ap-security-leap.c
10252           src/nm-ap-security-wep.c
10253           src/nm-ap-security-wpa-eap.c
10254           src/nm-ap-security-wpa-psk.c
10255           src/nm-ap-security.c
10256           src/nm-ap-security.h
10257           src/nm-device-802-11-wireless.c
10258           src/nm-device-802-11-wireless.h
10259           src/supplicant-manager/nm-supplicant-config.c
10260           src/supplicant-manager/nm-supplicant-config.h
10261           src/supplicant-manager/nm-supplicant-interface.c
10262           src/supplicant-manager/nm-supplicant-interface.h
10263           src/supplicant-manager/nm-supplicant-marshal.list
10264           src/supplicant-manager/nm-supplicant-settings-verify.c
10265           src/supplicant-manager/nm-supplicant-settings-verify.h
10266                 - Move all connection management and association handling to
10267                         wpa_supplicant over dbus, rather than spawning a private copy
10268
10269 2006-12-19  Dan Williams  <dcbw@redhat.com>
10270
10271         * src/NetworkManagerPolicy.c
10272                 - (nm_policy_device_change_check, nm_policy_schedule_device_change_check):
10273                         better locking of the device change check handler ID.  Incorrect
10274                         locking was causing lost device change requests
10275
10276 2006-12-18  Dan Williams  <dcbw@redhat.com>
10277
10278         * libnm-util/dbus-dict-helpers.c
10279                 - (_nmu_dbus_dict_entry_get_array, _nmu_dbus_dict_entry_get_string_array,
10280                    _nmu_dbus_dict_entry_get_byte_array): replace usage of
10281                    dbus_message_iter_get_array_len()  (Gnome.org #382898)
10282
10283 2006-12-18  Dan Williams  <dcbw@redhat.com>
10284
10285         * gnome/libnm_glib/libnm_glib.c
10286                 - Change dbus_connection_close() -> dbus_connection_unref()
10287
10288 2006-12-11  Dan Williams  <dcbw@redhat.com>
10289
10290         * src/supplicant-manager/nm-supplicant-interface.c
10291                 - (iface_state_cb, wpas_iface_get_state): new functions; query initial
10292                         wpa_supplicant interface state
10293                 - (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
10294                         state before transitioning to READY state
10295
10296 2006-12-04  Dan Williams  <dcbw@redhat.com>
10297
10298         * src/nm-device-802-11-wireless.c
10299                 - (supplicant_iface_scanned_ap_cb): fix parsing of hidden APs due to
10300                         odd length of ESSID returned from ieee80211 stack-based drivers
10301
10302 2006-12-04  Dan Williams  <dcbw@redhat.com>
10303
10304         * src/nm-device-802-11-wireless.c
10305                 - (supplicant_iface_scanned_ap_cb): remove erroneous & from WPA & RSN
10306                         IE handling blocks that cause mis-parsing of the IE
10307
10308 2006-12-04  Dan Williams  <dcbw@redhat.com>
10309
10310         * src/nm-device-802-11-wireless.c
10311                 - (init_supplicant_interface): new function; pull supplicant interface
10312                         setup code out into standalone function since it must be called from
10313                         two different places
10314                 - (real_init): sup_mgr is now in private object data; get and track
10315                         the supplicant manager object over the NMDevice subclass' lifetime
10316                         and register a signal handler for its state signals; only try to
10317                         initialize the supplicant interface if the supplicant manager is in
10318                         the IDLE state (and therefore is ready for requests)
10319                 - (request_wireless_scan): reschedule the scan request if (a) there is
10320                         no supplicant interface yet (meaning wpa_supplicant isn't running
10321                         or isn't ready yet), or (b) if the supplicant interface isn't ready
10322                         for requests yet
10323                 - (supplicant_iface_connection_state_cb): new function; stub for
10324                         handling supplicant interface connection state signals
10325                 - (supplicant_mgr_state_cb): do the right thing when wpa_supplicant
10326                         comes and goes
10327                 - (nm_device_802_11_wireless_dispose): clean up spacing; release the
10328                         supplicant manager object that's being tracked starting with this
10329                         commit
10330
10331 2006-12-04  Dan Williams  <dcbw@redhat.com>
10332
10333         * src/supplicant-manager/nm-supplicant-interface.c
10334                 - (nm_supplicant_interface_set_property): track signal handler ID
10335                 - (nm_supplicant_interface_dispose): remove signal handler on dispose
10336
10337 2006-12-04  Dan Williams  <dcbw@redhat.com>
10338
10339         * src/supplicant-manager/nm-supplicant-interface.[ch]
10340                 - (nm_supplicant_interface_get_state): new function
10341
10342 2006-12-04  Dan Williams  <dcbw@redhat.com>
10343
10344         * src/supplicant-manager/nm-supplicant-interface.c
10345                 - (bssid_properties_cb): don't treat DBus errors as valid
10346                         scanned AP messages
10347
10348 2006-12-04  Dan Williams  <dcbw@redhat.com>
10349
10350         * src/supplicant-manager/nm-supplicant-interface.[ch]
10351                 - (nm_supplicant_interface_get_connection_state): new function
10352                 - define new supplicant connection states
10353                 - send a signal when the supplicant connection state changes
10354
10355 2006-12-03  Dan Williams  <dcbw@redhat.com>
10356
10357         * src/supplicant-manager/Makefile.am
10358           src/supplicant-manager/nm-supplicant-connection.h
10359           src/supplicant-manager/nm-supplicant-connection.c
10360           src/supplicant-manager/nm-supplicant-config.h
10361           src/supplicant-manager/nm-supplicant-config.c
10362           src/supplicant-manager/nm-supplicant-types.h
10363           src/supplicant-manager/nm-supplicant-interface.h
10364           src/supplicant-manager/nm-supplicant-interface.c
10365                 - Rename NMSupplicantConnection -> NMSupplicantConfig
10366
10367 2006-12-03  Dan Williams  <dcbw@redhat.com>
10368
10369         Patch from Gabor Kelemen <kelemeng@gnome.hu>  (Gnome.org #381890)
10370
10371         * po/POTFILES.in
10372           po/POTFILES.skip
10373                 - Move VPN-related translatables to .skip
10374
10375         * vpn-daemons/pptp/po/POTFILES.in
10376                 - Update with new translatables
10377
10378 2006-12-02  Dan Williams  <dcbw@redhat.com>
10379
10380         Patch from Christian Persch <chpe@gnome.org>
10381
10382         * gnome/applet/Makefile.am
10383           gnome/applet/applet-dbus-devices.c
10384           gnome/applet/applet-notifications.c
10385           gnome/applet/applet.c
10386           gnome/applet/applet.h
10387           gnome/applet/main.c
10388                 - Be a GtkStatusIcon on GTK+ >= 2.10
10389
10390 2006-12-02  Dan Williams  <dcbw@redhat.com>
10391
10392         * gnome/applet/applet.c
10393                 - (nma_update_info): fix two unecessary allocations
10394
10395 2006-12-02  Dan Williams  <dcbw@redhat.com>
10396
10397         Patch from Michael Biebl <biebl@teco.edu>
10398         * configure.in
10399           man/NetworkManager.1.in
10400           man/NetworkManagerDispatcher.1.in
10401           man/NetworkManager.8.in
10402           man/NetworkManagerDispatcher.8.in
10403                 - Add .SH NAME stanzas
10404                 - Move NM & NM Dispatcher manpages to section 8 (admin)
10405
10406 2006-12-02  Dan Williams  <dcbw@redhat.com>
10407
10408         Patch from Christian Persch <chpe@gnome.org>
10409
10410         * configure.in
10411                 - Check for GTK+ 2.10 in preparation for GtkStatusIcon patch
10412
10413 2006-11-29  Tambet Ingo  <tambet@ximian.com>
10414
10415         Patch by Timo Hoenig <thoenig@suse.de>:
10416         * src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
10417         DBUS-1.0.
10418
10419         * src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
10420         we can't use the one from the main source directory.
10421
10422 2006-11-27  Dan Williams  <dcbw@redhat.com>
10423
10424         Patch from Christian Persch <chpe@gnome.org>
10425
10426         * gnome/applet/applet-dbus-devices.c
10427                 - (hal_info_product_cb): fix memleak; free duped string.
10428                         Gnome.org #379908
10429
10430 2006-11-27  Dan Williams  <dcbw@redhat.com>
10431
10432         Patch from Christian Persch <chpe@gnome.org>
10433
10434         * gnome/applet/menu-items.c
10435                 - (network_menu_item_update): use gtk_progress_bar_set_fraction()
10436                         as gtk_progress_set_percentage is deprecated.  Should
10437                         work as far back as GTK+ 2.4.  Gnome.org #379780
10438
10439 2006-11-26  Dan Williams  <dcbw@redhat.com>
10440
10441         Scan using wpa_supplicant over DBus.
10442
10443         * src/nm-device-802-11-wireless.c
10444                 - remove wireless extensions netlink event handler bits
10445                         (wireless_event_helper, nm_device_802_11_wireless_event)
10446                 - remove wireless extensions scan event handler bits
10447                         (process_scan_results, add_new_ap_to_device_list, hexstr2bin,
10448                         hex2byte, hex2num, request_and_convert_scan_results,
10449                         free_process_scan_cb_data, scan_results_timeout,
10450                         schedule_scan_results_timeout, cancel_scan_results_timeout)
10451                 - Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
10452                         and request scans from the supplicant interface rather than directly
10453                 - Move functionality of convert_scan_results() to cull_scan_list() and
10454                         supplicant_iface_scanned_ap_cb()
10455                 - (supplicant_iface_scan_result_cb): new function; schedule a new scan
10456                         at the scan interval when the current scan has finished
10457                 - (supplicant_iface_state_cb): start scanning when the supplicant
10458                         interface enters the READY state, and stop scanning when it
10459                         enters the DOWN state
10460                 - (cull_scan_list): weed out old access points from the scan list
10461                 - (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
10462                         point into an NMAccessPoint and merge it into the device's scan list
10463
10464         * src/supplicant-manager/nm-supplicant-interface.c
10465           src/supplicant-manager/nm-supplicant-interface.h
10466                 - Add a new signal "scan-result" which is issued when the supplicant
10467                         notifies NM that a scan has completed
10468                 - Add a new signal "scanned-ap" that notifies listeners of a new access
10469                         point found in the scan.  Called once for each access point that
10470                         the supplicant interface object receives from the supplicant as a
10471                         result of the "scanResults" method call
10472                 - (wpas_iface_query_scan_results): don't wait 4s before querying
10473                         for the initial scan results
10474                 - (scan_request_cb): new function; send listeners the result
10475                         (success, error) of a wireless scan request
10476                 - (nm_supplicant_interface_request_scan): new function; ask the
10477                         supplicant to perform an immediate wireless scan
10478
10479 2006-11-25  Dan Williams  <dcbw@redhat.com>
10480
10481         * src/supplicant-manager/Makefile.am
10482                 - Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
10483                         add HAL cflags/includes and named-manager includes directory
10484
10485         * src/supplicant-manager/nm-supplicant-interface.h
10486                 - New state STARTING to handle transition from INIT to READY where
10487                         the addInterface pending call is still outstanding
10488
10489         * src/supplicant-manager/nm-supplicant-interface.c
10490                 - track pending calls differently since we may have more than one
10491                         going on at any given time
10492                 - request scan results from wpa_supplicant; but don't do it more often
10493                         than every 4 seconds.  Drivers that do background scanning
10494                         (like the 'ipw' drivers) send a continuous stream of scan completion
10495                         notifications, so we don't want to hammer the supplicant or dbus
10496                         with requests for all scan results every time we get a completion
10497                         notification.
10498
10499 2006-11-25  Dan Williams  <dcbw@redhat.com>
10500
10501         * src/supplicant-manager/nm-supplicant-types.h
10502                 - new file; move all supplicant manager object typedefs here for
10503                         #include sanity
10504
10505         * src/supplicant-manager/nm-supplicant-interface.c
10506           src/supplicant-manager/nm-supplicant-interface.h
10507                 - new file; an object that interfaces an NMDevice object to the
10508                         supplicant and handles signals from the supplicant.  This object
10509                         does all necessary DBus communication with wpa_supplicant.
10510
10511         * src/supplicant-manager/nm-supplicant-manager.c
10512           src/supplicant-manager/nm-supplicant-manager.h
10513                 - Actually do something.  Track the state of the wpa_supplicant service
10514                         and deal with its comings & goings.  Handle life events of
10515                         supplicant interfaces too.
10516                 - Move NMSupplicantManager typedef to nm-supplicant-types.h
10517
10518         * src/supplicant-manager/nm-supplicant-connection.h
10519                 - Move NMSupplicantConnection typedef to nm-supplicant-types.h
10520
10521         * src/supplicant-manager/Makefile.am
10522                 - Add new files to build, and add libnm-util to includes
10523
10524         * src/nm-marshal.list
10525                 - New marshaler type: VOID:UINT,UINT
10526
10527         * src/nm-device-802-3-ethernet.c
10528                 - (real_init): grab a supplicant interface
10529                 - (nm_device_802_3_ethernet_dispose): release the supplicant interface
10530                 - (supplicant_iface_state_cb): new function, stub for handling
10531                         supplicant interface state changes
10532
10533         * src/nm-device-802-11-wireless.c
10534                 - (real_init): grab a supplicant interface
10535                 - (nm_device_802_11_wireless_dispose): release the supplicant interface
10536                 - (supplicant_iface_state_cb): new function, stub for handling
10537                         supplicant interface state changes
10538
10539         * src/NetworkManager.c
10540                 - (main): create and keep the supplicant manager around for the lifetime
10541                         of NetworkManager
10542
10543         * src/Makefile.am
10544                 - Link to the supplicant manager sub-library and use the supplicant
10545                         manager includes
10546
10547 2006-11-25  Dan Williams  <dcbw@redhat.com>
10548
10549         Rework DBus manager signal handling to be more flexible.  Previously,
10550         only one signal handler could be registered for a particular interface.
10551         The DBus manager now reference counts DBus bus matches and allows multiple
10552         clients to register signal handlers for the same interface and sender.
10553
10554         * src/NetworkManager.c
10555                 - (main): track NMI signal handler ID and remove it when we quit
10556
10557         * src/NetworkManagerMain.h
10558                 - Keep track of NMI signal handler ID
10559
10560         * src/nm-dbus-manager.c
10561           src/nm-dbus-manager.h
10562                 - rework signal handling; each signal handler references one signal
10563                         match, but a signal match may be referenced by one or more
10564                         signal handlers.  Matches are refcounted and are destroyed when the
10565                         last signal handler that references the match is removed.  This is
10566                         necessary because two signal handlers may end up requiring the same
10567                         dbus bus match, so the match must live until the last signal handler
10568                         is destroyed (for example, with the wpa_supplicant network interface
10569                         dbus interface).
10570
10571         * src/dhcp-manager/nm-dhcp-manager.c
10572                 - (nm_dhcp_manager_new): track DHCP signal handler id
10573                 - (nm_dhcp_manager_dispose): remove DHCP signal handler
10574
10575         * src/vpn-manager/nm-vpn-service.c
10576                 - (nm_vpn_service_add_watch): track VPN service signal handler id
10577                 - (nm_vpn_service_remove_watch): remove VPN service signal handler
10578
10579 2006-11-25  Dan Williams  <dcbw@redhat.com>
10580
10581         Suggested by Helmut Schaa <hschaa@suse.de>
10582
10583         * src/vpn-daemons/nm-vpn-service.c
10584                 - (supplicant_child_setup): new function
10585                 - (supplicant_exec): make child process use a new process group id
10586
10587         * src/nm-device-802-11-wireless.c
10588                 - (nm_vpn_service_child_setup): new function
10589                 - (nm_vpn_service_stage1_daemon_exec): make child process use a new
10590                         process group id
10591
10592 2006-11-19  Dan Williams  <dcbw@redhat.com>
10593
10594         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377262
10595         * gnome/vpn-properties/nm-vpn-properties.c
10596                 - clean up after renamed VPN connection
10597
10598 2006-11-19  Dan Williams  <dcbw@redhat.com>
10599
10600         Patch from Dan Berrange <dan@berrange.com>  Gnome.org #377205
10601         * gnome/applet/applet-dbus-vpn.c
10602                 - (nma_dbus_vpn_properties_cb): sort VPN connections
10603
10604         * gnome/vpn-properties/nm-vpn-properties.c
10605                 - (init_app): sort VPN connections
10606
10607 2006-11-09  Dan Williams  <dcbw@redhat.com>
10608
10609         * src/NetworkManagerAPList.c
10610                 - (nm_ap_list_copy_one_essid_by_address): fix bug due to previous
10611                 code cleanup in revision 1.56; the split of the !nm_ap_get_essid()
10612                 from the nm_ap_list_get_ap_by_address() call was incorrect and
10613                 broke hidden SSID matching.  Found by Bill Moss.
10614
10615 2006-10-25  Dan Williams  <dcbw@redhat.com>
10616
10617         * src/nm-dbus-nm.c
10618                 - (nm_dbus_nm_set_active_device): return an empty success message on
10619                         success, rather than falling through to the error case.
10620
10621 2006-10-25  Dan Williams  <dcbw@redhat.com>
10622
10623         * src/NetworkManagerUtils.c
10624                 - (nm_utils_supplicant_request_with_check): suppress messages for the
10625                         "SCAN" command
10626
10627 2006-10-24  Dan Williams  <dcbw@redhat.com>
10628
10629         Reduce the number of times the Gnome applet wakes up, especially when
10630         it's doing absolutely nothing and is hidden.  Initial patch by
10631         Chris Aillon.
10632
10633         * gnome/applet/applet-dbus.c
10634                 - (nma_dbus_filter): when NM isn't around, or when it goes away,
10635                         kill the redraw timeout.  When NM starts up, start the redraw
10636                         timeout.  Also, if we get kicked off the bus for some reason,
10637                         start the reconnection timeout if one's not already running.
10638                 - (nma_dbus_init): better handling of error conditions, don't leak
10639                         a half-initialized dbus connection
10640                 - (nma_dbus_connection_watcher): consolidate places we reinitialize
10641                         the applet's data, just call nm_dbus_init_helper()
10642                 - (nma_start_dbus_connection_watch): new function, starts a periodic
10643                         timeout that calls nma_dbus_connection_watcher()
10644                 - (nma_dbus_init_helper): if we get a successful connection, kill the
10645                         reconnection timeout, and don't start the reconnection timeout
10646                         unconditionally anymore
10647
10648         * gnome/applet/applet-dbus.h
10649                 - Expose nma_start_dbus_connection_watch()
10650
10651         * gnome/applet/applet.c
10652                 - (nma_update_state): no longer static, called from applet-dbus.c for
10653                         immediate UI updates on certain events
10654                 - (nma_set_running): new function; take over setting applet->running,
10655                         when not running (ie, NM is not active), don't activate the redraw
10656                         timeout because we're not showing the applet anyway.  When we are
10657                         running (ie, NM is active), and only when we're running, start the
10658                         redraw timeout.
10659                 - (nma_destroy): kill the redraw timeout by setting 'not running', and
10660                         kill any reconnection timeout
10661                 - (nma_get_instance): move one-off dbus initialization code here since
10662                         nm_dbus_init_helper() gets called more than once, possibly by the
10663                         reconnection timeout function too.  And, when we start up, if we
10664                         can't get a connection to the bus, start the reconnection timeout.
10665                         But don't start the redraw timeout yet, only do that when we get
10666                         NM's state and find out if it's running or not.
10667
10668         * gnome/applet/applet.h
10669                 - Add the reconnection GSource ID
10670                 - Add prototypes for nma_set_running() and the no-longer-static
10671                         nma_update_state()
10672
10673 2006-10-24  Dan Williams  <dcbw@redhat.com>
10674
10675         * src/vpn-daemons/nm-dbus-vpnc.c
10676                 - (nm_dbus_vpn_update_one_connection_cb): unregister pending call in
10677                         pending call tracker
10678                 - (nm_dbus_vpn_connections_update_cb): unregister pending call in
10679                         pending call tracker; register one-vpn-connection update pending
10680                         call in pending call tracker
10681                 - (nm_dbus_vpn_update_one_vpn_connection): register one-vpn-connection
10682                         update pending call in pending call tracker
10683                 - (nm_dbus_vpn_connections_update_from_nmi): register vpn-connections
10684                         update pending call in pending call tracker; don't block waiting
10685                         for call to return
10686
10687 2006-10-19  Robert Love  <rml@novell.com>
10688
10689         * src/backends/NetworkManagerSuSE.c: Don't ever restart nscd; just
10690           refresh the cache.
10691
10692 2006-10-14  Dan Williams  <dcbw@redhat.com>
10693
10694         * src/dhcp-manager/nm-dhcp-manager.c
10695                 - (get_ip4_string, get_ip4_uint32s): have the caller pass
10696                 the dbus connection and the device object path rather than
10697                 constructing it inside both functions.  Saves a bit of memory
10698                 and clarifies a failure path.
10699                 - (nm_dhcp_manager_get_ip4_config): grab the dbus connection
10700                 and allocate device path here rather than each of the two
10701                 functions above.
10702
10703 2006-10-13  Dan Williams  <dcbw@redhat.com>
10704
10705         * src/NetworkManager.c
10706                 - (nm_name_owner_changed_handler): handle NMI coming and going,
10707                 this somehow droppout in the refactor
10708
10709 2006-10-13  Dan Williams  <dcbw@redhat.com>
10710
10711         * Huge DBus refactor:
10712                 - Create a "DBus Manager" object which manages the connection and
10713                 sends signals on NameOwnerChanged and connection/disconnection events,
10714                 handles reconnection to the bus if NM gets kicked off, and abstracts
10715                 signal handling
10716                 - Remove DBusConnection members from places where they are no
10717                 longer needed due to the refactor, like the dbus-connection
10718                 property of the named manager, and from NMData
10719                 - Reformats a bunch of the code to gnome style
10720                 (8-space tabs, braces on same line as statement, 80-col width).
10721                 Consider it open season to reformat any bits to gnome style.
10722                 style that aren't already.
10723
10724 2006-10-13  Dan Williams  <dcbw@redhat.com>
10725
10726         * src/supplicant-manager/Makefile.am
10727                 - Add new files
10728
10729         * src/supplicant-manager/nm-supplicant-manager.[ch]:
10730                 - Make it a minimal GObject
10731
10732         * src/supplicant-manager/nm-supplicant-settings-verify.[ch]:    
10733                 - Verify settings destined for wpa_supplicant
10734
10735         * src/supplicant-manager/nm-supplicant-connection.[ch]: 
10736                 - Minimal GObject to track wpa_supplicant controlled device
10737                 connections
10738
10739 2006-10-13  Wouter Bolsterlee  <wbolster@gnome.org>
10740
10741         * gnome/applet/applet.c: (nma_update_info),
10742         (nma_act_stage_to_pixbuf), (nma_update_state):
10743         Mark missing strings for translation. Fixes bug #343306.
10744
10745 2006-10-01  Dan Williams  <dcbw@redhat.com>
10746
10747         * src/vpn-manager/nm-vpn-manager.c
10748                 - (nm_vpn_manager_load_services): split and clean up
10749                 for readability and correctness.  Restrict VPN service
10750                 files to ending in ".name", as was meant from the
10751                 beginning (but not coded in).  Better error reporting.
10752
10753 2006-10-01  Dan Williams  <dcbw@redhat.com>
10754
10755         * utils/nm-utils.h
10756                 - Clean up formatting of debug/info/warning log messages
10757
10758 2006-09-27  Robert Love  <rml@novell.com>
10759
10760         Patch by Tambet Ingo <tambet@ximian.com>:
10761         * gnome/vpn-properties/nm-vpn-properties.c: Make Renaming a VPN entry
10762           actually work.
10763
10764 2006-09-07  Dan Williams <dcbw@redhat.com>
10765
10766         * test/Makefile.am
10767           test/libnm-util/Makefile.am
10768           test/nm-supplicant-test.c
10769                 - Add test program emulating the way NM drives wpa_supplicant
10770                 to help debug supplicant issues
10771
10772 2006-08-24  Dan Williams <dcbw@redhat.com>
10773
10774         * configure.in
10775           src/Makefile.am
10776           src/supplicant-manager/Makefile.am
10777           src/supplicant-manager/nm-supplicant-manager.c
10778           src/supplicant-manager/nm-supplicant-manager.h
10779                 - Add skeleton bits of the wpa_supplicant manager
10780
10781 2006-08-24  Dan Williams <dcbw@redhat.com>
10782
10783         Patch from Ed Catmur:
10784         * src/NetworkManagerUtils.c
10785                 - (nm_utils_ip4_netmask_to_prefix): don't infinitely loop
10786                 if netmask is 0 (Gnome #352634)
10787
10788 2006-08-17  Robert Love  <rml@novell.com>
10789
10790         * src/backends/NetworkManagerSuSE.c: Do not restart ypbind; our ypbind
10791           package is now DBUS-enabled and listens for the NM signals.
10792
10793 2006-08-14  Dan Williams  <dcbw@redhat.com>
10794
10795         * Patch from Christian Persch <chpe gnome org>
10796         * configure.in
10797           po/LINGUAS
10798           vpn-daemons/openvpn/po/LINGUAS
10799           vpn-daemons/openvpn/configure.in
10800           vpn-daemons/pptp/po/LINGUAS
10801           vpn-daemons/pptp/configure.in
10802           vpn-daemons/vpnc/po/LINGUAS
10803           vpn-daemons/vpnc/configure.in
10804                 - Convert to LINGUAS method so translators don't have to modify
10805                 configure.in, just stuff in po/.  Gnome #343132, requires intltool
10806                 0.35 or higher
10807
10808 2006-08-14  Dan Williams  <dcbw@redhat.com>
10809
10810         Patch from Alex Smith <alex.extreme2@gmail.com>
10811         * configure.in
10812           src/backends/Makefile.am
10813           src/backends/NetworkManagerFrugalware.c
10814                 - Add support for Frugalware
10815
10816 2006-08-13  Dan Williams  <dcbw@redhat.com>
10817
10818         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10819         * src/nm-device-802-11-wireless.c
10820                 - (supplicant_exec): spawn wpa_supplicant without debug spew
10821                 Gnome #346875
10822
10823 2006-08-13  Dan Williams  <dcbw@redhat.com>
10824
10825         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10826         * src/nm-ap-security.c
10827           src/nm-ap-security.h
10828                 - Add authentication_required bits for subclasses to specify whether
10829                 or not real authentication is required for connections, i.e. whether
10830                 the AP rejects us when an encryption key is wrong or not.
10831
10832         * src/nm-ap-security-wep.c
10833           src/nm-ap-security-wpa-eap.c
10834           src/nm-ap-security-wpa-psk.c
10835           src/nm-ap-security-leap.c
10836                 - Implement authentication_required appropriately for each method
10837
10838         * src/nm-device-802-11-wireless.c
10839                 - Be smarter about when to request a key; for example, using a wrong key
10840                 in WEP shared key mode previously just timed out and did not request
10841                 a new key
10842
10843 2006-08-13  Dan Williams  <dcbw@redhat.com>
10844
10845         * gnome/libnm_glib/libnm_glib.c
10846                 - dbus_connection_disconnect() -> dbus_connection_close() for
10847                 dbus >= 0.90
10848
10849 2006-08-07  Dan Williams  <dcbw@redhat.com>
10850
10851         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10852         * src/NetworkManagerSystem.c
10853                 - Respect specified MTU.  Gnome #344967
10854
10855 2006-08-07  Dan Williams  <dcbw@redhat.com>
10856
10857         * src/vpn-manager/nm-vpn-service.c
10858                 - Simplify print_vpn_config() arguments
10859
10860         Patch from Antony J Mee <A.J.Mee@ncl.ac.uk>
10861         * src/vpn-manager/Makefile.am
10862           src/vpn-manager/nm-vpn-service.c
10863                 - Add new API for passing VPN config options as a dict. Gnome #344967
10864
10865 2006-08-06  Dan Williams  <dcbw@redhat.com>
10866
10867         * gnome/applet/applet-dbus-devices.c
10868           gnome/applet/applet-dbus-vpn.c
10869           gnome/applet/applet-dbus.c
10870           gnome/applet/applet-dbus.h
10871           src/nm-dbus-nmi.c
10872           utils/nm-utils.c
10873           utils/nm-utils.h
10874                 - Make pending call tracking code generic,
10875                 so we can use it in NM as well as the applet
10876
10877 2006-08-06  Dan Williams  <dcbw@redhat.com>
10878
10879         * src/nm-activation-request.c
10880                 - Refcount pending call objects
10881
10882 2006-08-06  Dan Williams  <dcbw@redhat.com>
10883
10884         Patch from Christan Chiesa <christanc@gmail.com>
10885         * configure.in
10886                 - Tell sha1.c to use bigendian mode on PPC
10887
10888 2006-08-04  Robert Love  <rml@novell.com>
10889
10890         Glib Memory Slices!
10891         * configure.in: Require glib 2.10 or later.
10892         * src/NetworkManager.c, src/NetworkManagerAP.c, src/nm-ip4-config.c,
10893           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
10894           src/NetworkManagerDbusUtils.c, src/nm-dbus-nmi.c, src/wpa.c,
10895           src/nm-device-802-11-wireless.c: Convert applicable g_malloc and
10896           g_new calls to g_slice_new.  Likewise for g_free to g_slice_free.
10897           Memory Slices are the greatest thing since bread slices.
10898         * src/NetworkManagerAP.c: Also, fix memory leak.
10899
10900 2006-08-01  Robert Love  <rml@novell.com>
10901
10902         * gnome/applet/main.c: Shutdown all VPN connections on logout.
10903
10904 2006-07-31  Robert Love  <rml@novell.com>
10905
10906         * src/backends/interface_parser.c: Declarations must begin the block.
10907
10908 2006-07-24  Dan Williams  <dcbw@redhat.com>
10909
10910         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
10911         * src/backends/Makefile.am
10912           src/backends/NetworkManagerArch.c
10913           src/backends/NetworkManagerDebian.c
10914           src/backends/NetworkManagerGeneric.c
10915           src/backends/NetworkManagerGeneric.h
10916           src/backends/NetworkManagerGentoo.c
10917           src/backends/NetworkManagerPaldo.c
10918           src/backends/NetworkManagerRedHat.c
10919           src/backends/NetworkManagerSlackware.c
10920           src/backends/NetworkManagerSuSE.c
10921                 - Genericize common backend functions
10922
10923 2006-07-18  Robert Love  <rml@novell.com>
10924
10925         * configure.in: Add "--with-notify" option to allow disabling of
10926           libnotify support.
10927
10928 2006-07-13  Dan Williams  <dcbw@redhat.com>
10929
10930         Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
10931         * gnome/applet/applet.glade
10932           gnome/applet/Makefile.am
10933           gnome/applet/nm-gconf-wso.c
10934           gnome/applet/nm-gconf-wso-leap.c
10935           gnome/applet/nm-gconf-wso-leap.h
10936           gnome/applet/wireless-security-manager.c
10937           gnome/applet/wso-leap.c
10938           gnome/applet/wso-leap.h
10939           include/NetworkManager.h
10940           libnm-util/dbus-helpers.c
10941           libnm-util/dbus-helpers.h
10942           src/Makefile.am
10943           src/NetworkManagerAP.c
10944           src/nm-ap-security.c
10945           src/nm-ap-security-leap.c
10946           src/nm-ap-security-leap.h
10947                 - Add LEAP authentication support
10948
10949 2006-07-13  Dan Williams  <dcbw@redhat.com>
10950
10951         Patch from Timothée Lecomte <timothee.lecomte@ens.fr>
10952         * configure.in
10953           src/backends/NetworkManagerArch.c
10954           src/backends/NetworkManagerDebian.c
10955           src/backends/NetworkManagerGentoo.c
10956           src/backends/NetworkManagerPaldo.c
10957           src/backends/NetworkManagerRedHat.c
10958           src/backends/NetworkManagerSlackware.c
10959           src/backends/NetworkManagerSuSE.c
10960                 - Convert hardcoding of 'ip' path to configure-time
10961                         detected one
10962
10963 2006-07-12  Leonid Kanter <leon@asplinux.ru>
10964
10965         * configure.in: added ru to ALL_LINGUAS
10966
10967 2006-07-10  Dan Williams  <dcbw@redhat.com>
10968
10969         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10970         * src/nm-device.c
10971                 - (real_act_stage3_ip_config_start): don't infinite loop when
10972                         dhcdbd isn't running (Gnome #346845)
10973
10974 2006-07-09  Dan Williams  <dcbw@redhat.com>
10975
10976         * gnome/applet/applet.c
10977                 - (nma_destroy): don't pass NULL to notify_notification_close
10978                         (RH #197917)
10979
10980 2006-07-09  Dan Williams  <dcbw@redhat.com>
10981
10982         * gnome/applet/applet.c
10983                 - (nma_about_cb): remove empty documenters tab (Gnome #341324)
10984
10985 2006-07-04  Tor Krill  <tor@krill.nu>
10986
10987         Patch from Valentine Sinitsyn <e_val@inbox.ru>
10988         * src/backends/NetworkManagerArch.c: (nm_system_update_dns),
10989         (nm_system_restart_mdns_responder), (ArchReadConfig),
10990         (nm_system_device_get_system_config):
10991                 - Explicitly check for DHCP configuration
10992                 - Check if daemons are running before starting them
10993
10994 2006-06-25  Dan Williams  <dcbw@redhat.com>
10995
10996         * libnm-util/dbus-dict-helpers.[ch]
10997           test/libnm-util/test-dbus-dict-helpers.c
10998                 - Add string array support
10999
11000 2006-06-24  Dan Williams  <dcbw@redhat.com>
11001
11002         * src/dhcp-manager/nm-dhcp-manager.c
11003                 - (nm_dhcp_manager_process_signal): clean up spacing
11004
11005 2006-06-21  Dan Williams  <dcbw@redhat.com>
11006
11007         * src/nm-dbus-device.c
11008                 - (nm_dbus_device_get_driver): don't try to stuff a NULL
11009                         through dbus
11010
11011 2006-06-21  Raivis Dejus  <orvils@gmail.com>
11012
11013         * configure.in: Added 'lv' to ALL_LINGUAS
11014
11015 2006-06-19  Dan Williams  <dcbw@redhat.com>
11016
11017         * src/NetworkManagerAP.c
11018                 - Clarify usage of user_created
11019
11020         * src/nm-ap-security-wep.c
11021           src/nm-ap-security-wpa-eap.c
11022           src/nm-ap-security-wpa-psk.c
11023           src/nm-ap-security.c
11024           src/nm-ap-security.h
11025                 - s/user_created/adhoc, because we really do mean adhoc
11026
11027         Patch from Bernard Blackham <bernard@blackham.com.au>
11028         * src/nm-device-802-11-wireless.c         
11029                 - (supplicant_send_network_config): instead of user_created,
11030                         use adhoc, and do AP_SCAN 2 for adhoc networks
11031
11032 2006-06-18  Robert Love  <rml@novell.com>
11033
11034         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the Gconf keys unless
11035           we have a value to set.  Gconf generates a warning if `val' is NULL.
11036         * src/nm-ap-security-wpa-eap.c: Don't set the key for an Enterprise AP
11037           unless we actually received a valid private key file passphrase or
11038           password.  Otherwise, we don't know to later ask the applet to pull
11039           the key from the keyring.
11040
11041 2006-06-17  Dan Williams  <dcbw@redhat.com>
11042
11043         * libnm-util/dbus-dict-helpers.[ch]
11044           test/libnm-util/test-dbus-dict-helpers.c
11045                 - Fixes for zero-length byte arrays
11046                 - Replace return values of 0 with FALSE for clarity
11047                 - Test zero-length byte arrays
11048
11049 2006-06-17  Dan Williams  <dcbw@redhat.com>
11050
11051         * libnm-util/dbus-dict-helpers.[ch]
11052           test/libnm-util/test-dbus-dict-helpers.c
11053                 - Add helpers for byte arrays
11054                 - Rework bits of the testcase
11055
11056 2006-06-16  Dan Williams  <dcbw@redhat.com>
11057
11058         * libnm-util/Makefile.am
11059         * libnm-util/dbus-dict-helpers.[ch]
11060                 - Add some helpers to take the pain out of using dict types in
11061                         dbus.
11062
11063         * test/libnm-util/Makefile.am
11064         * test/libnm-util/test-dbus-dict-helpers.c
11065                 - Test cases for the dict helper functions
11066
11067 2006-06-15  Robert Love  <rml@novell.com>
11068
11069         * gnome/applet/nm-gconf-wso-wpa-eap.c: Don't set the key unless there
11070           is a non-empty key to set.  Elsewhere, pass an empty string via DBUS
11071           if there is no key to pass.
11072         * libnm-util/dbus-helpers.c: Given the above, we can trust always
11073           receiving a non-NULL key.
11074
11075 2006-06-14  Robert Love  <rml@novell.com>
11076
11077         * src/nm-ap-security-wpa-eap.c: In real_copy_constructor(), actually
11078           copy the strings.
11079
11080
11081 2006-06-14  Dan Williams  <dcbw@redhat.com>
11082
11083         Patch from Lorenzo Colitti <lorenzo@colitti.com>  gnome.org #344825
11084         * src/nm-device-802-11-wireless.c
11085                 - (nm_device_802_11_wireless_set_essid): only wait for orinoco cards
11086                         or ones where the driver is unknown
11087                 - (supplicant_exec): don't wait for supplicant startup here
11088                 - (supplicant_interface_init): finer grained polling for supplicant
11089                         startup
11090
11091 2006-06-13  Robert Love  <rml@novell.com>
11092
11093         * gnome/applet/applet-dbus-info.c: Don't set the fallback bit to FALSE
11094           if it is currently set to TRUE.  Otherwise, we will reset the value
11095           when we connect normally.
11096         * src/nm-device-802-11-wireless.c: For the roaming code, make sure that
11097           the old BSSID is valid, too.  The recently added ESSID check may not be
11098           sufficient (we can remove it?).  What we really want to catch is the
11099           case of going from all-zeros to the BSSID of some other network, which
11100           happens on failure.
11101
11102 2006-06-09  Dan Williams  <dcbw@redhat.com>
11103
11104         * src/NetworkManagerSystem.[ch]
11105                 - (nm_system_device_set_up_down_with_iface): remove 'dev' argument,
11106                         it was unused and pointless
11107                 - (nm_system_vpn_device_set_from_iface, nm_system_device_set_up_down):
11108                         fix for set_up_down_with_iface change
11109
11110         * src/vpn-manager/nm-vpn-connection.c
11111                 - (nm_vpn_connection_deactivate): fix for set_up_down_with_iface change
11112
11113         * src/backends/NetworkManagerPaldo.c
11114           src/backends/NetworkManagerRedHat.c
11115           src/backends/NetworkManagerSuSE.c
11116           src/backends/NetworkManagerArch.c
11117           src/backends/NetworkManagerDebian.c
11118           src/backends/NetworkManagerGentoo.c
11119                 - (nm_system_enable_loopback): use set_up_down_with_iface where
11120                         appropriate
11121                 - (nm_system_flush_loopback_routes): use flush_routes_with_iface
11122                         where appropriate
11123
11124 2006-06-09  Dan Williams  <dcbw@redhat.com>
11125
11126         Patch from Peter Jones:
11127         * src/nm-device-802-11-wireless.c
11128                 - (nm_device_802_11_wireless_update_bssid): make sure that the
11129                         SSID hasn't changed from what we expect before automatically
11130                         updating the saved BSSID from a new AP
11131
11132 2006-06-08  Robert Love  <rml@novell.com>
11133
11134         Add 'fallback' support.  NetworkManager will attempt to brute-force
11135         connect to networks marked as fallback if there are no better wireless
11136         connections available.  This is useful as a method of last resort, to
11137         work around driver problems, and for use with hidden networks.
11138         * gnome/applet/applet-dbus-devices.c,
11139           gnome/applet/applet-dbus-devices.h: Add fallback parameter.
11140         * gnome/applet/applet-dbus-info.c: Retrieve fallback bit from Gconf and
11141           pass it on via DBUS.
11142         * gnome/applet/applet.c: No fallback by default.
11143         * gnome/applet/applet.glade, gnome/applet/other-network-dialog.c:
11144           Update other-network-dialog to add UI checkbox toggling fallback.
11145         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Remove "trusted"
11146           propery from AP object.  Add "fallback" property to AP object.
11147         * src/nm-dbus-nm.c: Grab the fallback parameter via DBUS.
11148         * src/nm-dbus-nmi.c: Grab the fallback parameter via DBUS.
11149         * src/nm-device-802-11-wireless.c: Break out blacklist logic into
11150           separate function.  Add get_best_fallback_ap() for returning an AP
11151           on which to attempt fallback.
11152         * src/backends/NetworkManagerSuSE.c: Set stored network as fallback.
11153         * test/nm-set-fallback: New file.  Sets a given network as fallback.
11154
11155 2006-06-07  Robert Love  <rml@novell.com>
11156
11157         * gnome/applet/gconf-helpers.c: Bug fix: nm_gconf_helper_get_bool()
11158           checked that the return type was GCONF_VALUE_STRING, not the correct
11159           GCONF_VALUE_BOOL, and thus it never worked.
11160         * src/NetworkManagerAPList.c: Before concluding that two networks are
11161           identical based on their BSSID, make sure that the BSSID in question
11162           is actually valid.  Specifically, an empty or all zero BSSID does not
11163           cut it.
11164         * gnome/applet/applet-dbus-info.c, gnome/applet/other-network-dialog.c,
11165           src/nm-dbus-nmi.c, src/nm-device-802-11-wireless.c: White space and
11166           similar invariant clean up.
11167
11168 2006-06-02  Robert Love  <rml@novell.com>
11169
11170         * gnome/applet/applet.c: Update copyright years.  Add Novell.
11171
11172 2006-05-28  Dan Williams  <dcbw@redhat.com>
11173
11174         * gnome/applet/applet.glade
11175           gnome/vpn-properties/nm-vpn-properties.glade
11176                 - Set window icons on dialogs  (Gnome.org #333420)
11177
11178 2006-05-28  Christian Persch  <chpe@cvs.gnome.org>
11179
11180         * gnome/vpn-properties/nm-vpn-properties.glade:
11181         * vpn-daemons/openvpn/properties/nm-openvpn-dialog.glade:
11182         * vpn-daemons/pptp/properties/nm-pptp-dialog.glade:
11183         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
11184                 - Make the VPN properties pages prettier and more HIG
11185                   compliant. Gnome Bug #336913.
11186
11187 2006-05-28  Dan Williams  <dcbw@redhat.com>
11188
11189         Patch from Christian Persch <chpe@gnome.org>
11190         * gnome/vpn-properties/nm-vpn-properties.c
11191         * gnome/vpn-properties/nm-vpn-properties.glade
11192                 - HIG-ification love  (Gnome.org #336846)
11193
11194 2006-05-28  Dan Williams  <dcbw@redhat.com>
11195
11196         Patch from Christian Persch <chpe@gnome.org>
11197         * configure.in
11198           gnome/vpn-properties/nm-vpn-properties.c
11199                 - (main): Fix option parsing.  Gnome.org #336847
11200
11201 2006-05-28  Dan Williams  <dcbw@redhat.com>
11202
11203         * gnome/vpn-properties/nm-vpn-properties.c
11204                 - (find_vpn_ui_by_service_name): protect against NULL service names
11205                 - (update_edit_del_sensitivity): protect against NULL service names
11206                         Gnome.org #341306
11207
11208 2006-05-28  Dan Williams  <dcbw@redhat.com>
11209
11210         Patch from Chris Fuller <crf@grandecom.net>:
11211         * src/nm-device-802-11-wireless.c
11212                 - (nm_device_802_11_wireless_dispose): add a is_initialized member and
11213                         don't dispose of wireless-specific stuff unless it is actually
11214                         initialized.  Gnome.org #341263
11215
11216 2006-05-28  Dan Williams  <dcbw@redhat.com>
11217
11218         * src/NetworkManagerPolicy.c
11219                 - (nm_policy_device_change_check): don't switch devices if the "best"
11220                         AP is essentially the same as the current activation request, but
11221                         the current activation request isn't done activating yet.  Fixes
11222                         multiple requests for keyring password on startup for Gnome applet.
11223                         Gnome.org #341297
11224
11225 2006-05-26  Nicolas Trangez  <eikke@eikke.com>
11226
11227         * src/NetworkManager.c: use GOptions instead of getopt
11228         * configure.in: bump glib required version to >= 2.6 for GOption
11229           support
11230
11231 2006-05-25  Robert Love  <rml@novell.com>
11232
11233         * src/nm-device.h: Introduce nm_ioctl_info(), which defines to
11234           nm_info() if IOCTL_DEBUG is set and a no-op if not.  We can use this
11235           instead of dumping ifdef's throughout the code.
11236         * src/NetworkManagerSystem.c, src/nm-device-802-11-wireless.c,
11237           src/nm-device-802-3-ethernet.c, src/nm-device.c: Remove ifdef's and
11238           use nm_ioctl_info() in lieu.
11239
11240 2006-05-25  Robert Love  <rml@novell.com>
11241
11242         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342400:
11243         * libnm-util/Makefile.am: Only build gnome-keyring-md5.{c,h} if we are
11244           not using gcrypt.  Otherwise, we get a linker error.
11245
11246 2006-05-25  Robert Love  <rml@novell.com>
11247
11248         Patch Valentine Sinitsyn <e_val@inbox.ru> to fix GNOME bug #342398:
11249         * configure.in, gnome/Makefile.am, Makefile.am: Add "--without-gnome"
11250           configure flag to disable building of the GNOME-based applet.
11251
11252 2006-05-25  Robert Love  <rml@novell.com>
11253
11254         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Rename function
11255           parameter from link, because it shadows a global variable with some
11256           older versions of glibc.  Yes, glibc is now fixed and, yes, glibc
11257           should never have exported to the entire system a common four letter
11258           word.  But we here at NetworkManager are team players.  Fixes
11259           GNOME bug #336532.
11260
11261 2006-05-25  Arangel Angov <ufo@linux.net.mk>
11262
11263         * configure.in: Added mk.po, Macedonian translation.
11264
11265 2006-05-24  Robert Love  <rml@novell.com>
11266
11267         * examples/python/systray/eggtrayicon.c, gnome/applet/eggtrayicon.c,
11268           gnome/applet/passphrase-dialog.c, gnome/applet/vpn-password-dialog.c,
11269           src/NetworkManager.c: Include <glib/gi18n.h> and not <libintl.h>.
11270
11271 2006-05-24  Robert Love  <rml@novell.com>
11272
11273         * gnome/applet/Makefile.am, gnome/vpn-properties/Makefile.am,
11274           libnm-util/Makefile.am, src/Makefile.am,
11275           vpn-daemons/openvpn/auth-dialog/Makefile.am,
11276           vpn-daemons/openvpn/properties/Makefile.am,
11277           vpn-daemons/pptp/auth-dialog/Makefile.am,
11278           vpn-daemons/pptp/properties/Makefile.am,
11279           vpn-daemons/vpnc/auth-dialog/Makefile.am,
11280           vpn-daemons/vpnc/properties/Makefile.am: Do not override what the
11281           user passed for --datadir, if anything, when setting the GNOME locale
11282           directory.  It should be a function of the specified datadir and not
11283           the prefix.
11284
11285 2006-05-24  Robert Love  <rml@novell.com>
11286
11287         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c,
11288           src/NetworkManager.c: Take care to call bindtextdomain with the
11289           location of msgid files.
11290         * src/Makefile.am: Set GNOMELOCALEDIR to the location of GNOME mo
11291           files.
11292
11293 2006-05-22  Robert Love  <rml@novell.com>
11294
11295         * src/nm-device-802-11-wireless.c: Don't chain up to the parent's
11296           stage4_timeout on failure unless the wireless network is Ad-Hoc.
11297           99% of the time there is a real problem with wireless, and a
11298           seemingly successful connection via Zeroconf just confuses the user.
11299           And that 1% of the time the network is probably Ad-Hoc, anyhow.
11300
11301 2006-05-22  Robert Love  <rml@novell.com>
11302
11303         * src/backends/NetworkManagerSuSE.c: Reload, do not restart, ypbind and
11304           autofs on interface up if NIS is configured.  On interface down, do
11305           nothing.
11306
11307 2006-05-22  Robert Love  <rml@novell.com>
11308
11309         * gnome/applet/applet.c: Zero out the icon pointers before we set them,
11310           to avoid calling g_object_unref() on stale pointers on error in
11311           nma_icons_free().  This happens because we short-circuit loaded the
11312           icons on the first failure but then free all icons.  Normally we have
11313           no issue because the icons were zero'ed out malloc, but we have stale
11314           pointer data after nma_icon_theme_changed().
11315         * gnome/applet/main.c: Return error code if nma_new() failed.
11316
11317 2060-05-21  Dan Williams  <dcbw@redhat.com>
11318
11319         * initscript/NetworkManager.in
11320                 - Ensure both dhcdbd and named are started before NM
11321
11322 2006-05-21  Dan Williams  <dcbw@redhat.com>
11323
11324         * configure.in
11325                 - Bump version to 0.7 to signify we are in 0.7 development
11326
11327 2006-05-21  Dan Williams  <dcbw@redhat.com>
11328
11329         Patch from Adam Schreiber <sadam@clemson.edu>
11330         * gnome/vpn-properties/nm-vpn-properties.c
11331                 - (main): correct Gnome program name  (gnome.org #342498)
11332
11333 2006-05-21  Dan Williams  <dcbw@redhat.com>
11334
11335         Fix gnome.org #330832 based on patch from Crispin Flowerday <crispin@gnome.org>
11336
11337         * src/NetworkManagerDbus.[ch]
11338                 - nm_dbus_get_device_from_object_path -> nm_dbus_get_device_from_escaped_object_path:
11339                         clarify that function's argument should be an escaped dbus object
11340                         path, and look for path segment end before returning a match
11341         * src/nm-dbus-nm.c:
11342                 - Fix up users of nm_dbus_get_device_from_escaped_object_path()
11343
11344 2006-05-17  Robert Love  <rml@novell.com>
11345
11346         Functionality to differentiate Ad-Hoc networks from infrastructure
11347         networks in the applet, by displaying a special icon:
11348         * gnome/applet/applet-dbus-devices.c: Set the mode for new networks.
11349         * gnome/applet/applet.c: Pass 'applet' to network_menu_item_update().
11350         * gnome/applet/menu-items.c: Set a special icon in the scan list for
11351           ad-hoc networks.  TODO: Add a third icon representing "encrypted and
11352           Ad-Hoc".  Right now, we display the same icon for all Ad-Hoc wireless
11353           networks, encrypted or not.
11354         * gnome/applet/wireless-network.c, gnome/applet/wireless-network.h: New
11355           accessor functions to get and set the mode of a given network,
11356           wireless_network_get_mode() and wireless_network_set_mode().
11357
11358 2006-05-17  Robert Love  <rml@novell.com>
11359
11360         Functionality to automatically add BSSIDs to the allowed-MAC list as
11361         one roams from access point to access point on a given network:
11362         * src/NetworkManagerUtils.c: Add nm_ethernet_addresses_are_equal(),
11363           helper function to compare two ether_addr structures and return TRUE
11364           if they contain the same MAC address.
11365         * src/NetworkManagerUtils.h: Add nm_ethernet_addresses_are_equal()
11366           prototype.
11367         * src/nm-device-802-11-wireless.c: New function to update the BSSID
11368           stored with the current AP.  If the BSSID has indeed changed, we
11369           send it out to the applet, allowing the allowed-MAC list to grow
11370           automatically in response to roaming.
11371
11372 2006-05-16  Robert Love  <rml@novell.com>
11373
11374         * src/backends/NetworkManagerSuSE.c: Don't touch ypbind or autofs
11375           unless dhcp:DHCLIENT_MODIFY_NIS_CONF is set to "yes".
11376
11377 2006-05-13  Dan Williams  <dcbw@redhat.com>
11378
11379         * src/nm-device-802-3-ethernet.c
11380                 - (real_get_generic_capabilities): Don't ignore devices that can't do
11381                         carrier detect (Debian bug #366373)
11382
11383 2006-05-11  Dan Williams  <dcbw@redhat.com>
11384
11385         Patch from Michael Biebl <biebl@teco.edu>
11386         * src/backends/NetworkManagerDebian.c
11387                 - Debian backend fixups
11388
11389 2006-05-10  Robert Love  <rml@novell.com>
11390
11391         * src/backends/NetworkManagerSuSE.c: Fix double free (Novell #173442).
11392
11393 2006-05-09  Robert Love  <rml@novell.com>
11394
11395         * gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXME: Save the WPA EAP
11396           private certificate passphrase, if any, in the GNOME Keyring.
11397         * libnm-utils/dbus-helpers.c: Update.
11398
11399 2006-05-05  Dan Williams  <dcbw@redhat.com>
11400
11401         * src/nm-device-802-11-wireless.c
11402                 - (nm_device_802_11_wireless_set_wep_enc_key): convert to
11403                         nm_device_802_11_wireless_disable_encryption() since that's all
11404                         we use it for anymore; we don't ever set WEP keys ourselves.
11405                 - (real_deactivate_quickly): reset SSID and encryption keys
11406                 - (real_deactivate): move SSID and encryption key reset to
11407                         real_deactivate_quickly(), which gets run before us anyway
11408
11409 2006-05-05  Robert Love  <rml@novell.com>
11410
11411         * src/NetworkManager.c: Set the umask to 0022 when daemonizing, in case
11412           root has a wacky default of its own (or, more common, a user has a
11413           bad umask and uses su/sudo to restart NetworkManager).  Anything
11414           other than 0022 does not do what we want with, for example,
11415           resolv.conf.  This problem is amplified by our judicious use of
11416           fopen(), which uses mode 0666 -- implying that the only way to get
11417           the permissions we want is with a umask of 0022.
11418
11419 2006-05-05  Dan Williams  <dcbw@redhat.com>
11420
11421         * gnome/libnm_glib/libnm_glib.c
11422                 - Don't suck CPU when dbus isn't around by scheduling idle handlers
11423                         to reconnect; instead wait a bit more with each reconnect attempt
11424                         up to a max of one minute.
11425
11426 2006-05-04  Ryan Lortie  <desrt@desrt.ca>
11427
11428         * gnome/applet/passphrase-dialog.c (update_button_cb): Get the SSID of
11429           the WirelessNetwork structure using the proper function instead of
11430           just casting it directly to (const char *) (gnome.org #336991)
11431
11432 2006-05-03  Robert Love  <rml@novell.com>
11433
11434         * src/backends/NetworkManagerSuSE.c: Respect the variable
11435           dhcp:DHCLIENT_MODIFY_RESOLV_CONF, not
11436           config:MODIFY_RESOLV_CONF_DYNAMICALLY, when deciding whether or not
11437           to dynamically update /etc/resolv.conf.
11438
11439 2006-05-02  Peter Jones  <pjones@redhat.com>
11440
11441         * vpn-daemons/vpnc/src/nm-vpnc-service.c: Allow rekeying.
11442
11443 2006-05-02  Robert Love  <rml@novell.com>
11444
11445         Patch by Timo Hoenig;
11446         * tests/nm-online.c: Print pretty status indicator as timeout winds
11447           down.  Also fix possible race between DBUS startup and failure
11448           return.
11449
11450 2006-05-01  Robert Love  <rml@novell.com>
11451
11452         * gnome/applet/applet-compat.c: Warn if the returned escaped ESSID is
11453           empty, too.
11454
11455 2006-04-27  Jeremy Katz  <katzj@redhat.com>
11456
11457         * src/nm-device.c (discover_device_type): Actually use the hal
11458         device type instead of ioctl poking
11459
11460 2006-04-26  Robert Love  <rml@novell.com>
11461
11462         * tests/nm-online.c: New file.  Simple utility that returns exit status
11463           noting whether the connection is offline or online.  If offline on
11464           start, it waits 30 seconds (or a command-line given value) for an
11465           online signal.  If it times out, it again returns offline.  This is
11466           useful for scripts that want to wait for network connections.
11467
11468 2006-04-25  Robert Love  <rml@novell.com>
11469
11470         * src/nm-ap-security-wep.c: Bug fix: We stopped setting the
11471           key mode (the authentication algorithm), e.g. open or shared, when we
11472           moved to using wpa_supplicant.  wpa_supplicant defaults to open, so
11473           only shared was broken.  If the user specified a shared key, set it
11474           explicitly, otherwise let wpa_supplicant go with the default.
11475
11476 2006-04-24  Dan Williams  <dcbw@redhat.com>
11477
11478         * src/nm-device-802-11-wireless.c
11479                 - (nm_device_802_11_wireless_set_essid): fix setting of "any" essid
11480
11481 2006-04-24  Dan Williams  <dcbw@redhat.com>
11482
11483         Commit the async scanning patch
11484
11485         * src/nm-device-802-11-wireless.c
11486                 - get rid of scan_mutex
11487                 - (wireless_event_helper): act on wireless scan events
11488                 - (real_start): schedule a pending scan
11489                 - (link_to_specific_ap): fake the link to the AP during a scan
11490                 - (nm_device_802_11_wireless_update_signal_strength): ignore signal
11491                         strength during scans
11492                 - (nm_device_get_frequency, nm_device_set_frequency, nm_device_get_bitrate,
11493                         nm_device_set_bitrate): unused with new scanning code, disable
11494                 - (nm_device_wireless_schedule_scan): removed
11495                 - (nm_device_wireless_process_scan_results): renamed to convert_scan_results()
11496                 - (request_and_convert_scan_results): new function; retrieve scan
11497                         results from the driver and schedule the processing function
11498                 - (scan_results_timeout): timeout triggered when card doesn't send
11499                         a scan results wireless event during a certain interval
11500                 - (schedule_scan_results_timeout): new function; schedule the scan
11501                         results timeout
11502                 - (cancel_scan_results_timeout): new function; cancel the scan
11503                         results timeout
11504                 - (nm_device_802_11_wireless_scan): if wpa_supplicant is running, ask it
11505                         to do the scanning.  Otherwise, just request a scan but don't
11506                         grab results here; instead schedule a timeout for scan results and
11507                         let netlink notify us of scan completion events
11508                 - (nm_device_wireless_schedule_scan): new function; schedule a wireless scan
11509                 - (cancel_pending_scan): new function; cancel a pending wireless scan
11510                 - (supplicant_status_cb): ignore disconnect events while scanning
11511                 - (supplicant_exec): wait a bit longer for the supplicant to start up
11512                 - (nm_device_802_11_wireless_dispose): cancel pending scans and results
11513                         timeouts
11514                 - (get_scan_results): removed; folded into request_and_convert_scan_results()
11515
11516 2006-04-24  Dan Williams  <dcbw@redhat.com>
11517
11518         * gnome/applet/applet-dbus.c
11519                 - Disable the pending call debug stuff, seems under control now
11520
11521 2006-04-20  Robert Love  <rml@novell.com>
11522
11523         Fix bug where hidden ESSID's would not show up in the applet, even
11524         if NMI provided a BSSID -> ESSID mapping from Gconf.  This occurred
11525         because nm_policy_device_list_update_from_allowed_list() would merge
11526         the data, putting a name to the hidden networks, but never notify NMI
11527         of the changes.  Simple fix is to invoke the function
11528         nm_dbus_signal_wireless_network_change() if we make a mapping.
11529         * src/NetworkManagerAPList.c: Call the function
11530           nm_dbus_signal_wireless_network_change() if we made a successful
11531           BSSID to ESSID mapping, notifying the applet of the "new" network.
11532         * src/NetworkManagerAPList.h: Update the prototypes for both
11533           nm_ap_list_copy_essids_by_address() and
11534           nm_ap_list_copy_one_essid_by_address().
11535
11536 2006-04-20  Robert Love  <rml@novell.com>
11537
11538         * gnome/applet/applet-dbus-info.c: Don't bail out if the timestamp is
11539           not set.  Just return zero.
11540
11541 2006-04-20  Robert Love  <rml@novell.com>
11542
11543         * gnome/vpn-properties/nm-vpn-properties.c: Satisfy TODO: Ensure that
11544           only one copy of nm-vpn-properties is running at a time via the 'ol
11545           X selection trick.  This prevents the user from opening two "VPN
11546           Connections" windows from within the applet, which leads to mass
11547           hysteria.
11548         * clipboard.c: New file, implementing simple X selection logic.
11549         * clipboard.h: New file.
11550         * gnome/vpn-properties/Makefile.am: Add clipboard.{c,h}
11551
11552 2006-04-18  Nicolas Trangez  <eikke@eikke.com>
11553
11554         * backends/NetworkManagerGentoo.c: Small cleanups and enhancements
11555         * configure.in
11556           initscript/Gentoo/Makefile.am
11557           initscript/Gentoo/NetworkManagerDispatcher.in
11558                 - New script
11559         * initscript/Gentoo/NetworkManager.in: small dependency fixup from
11560           Gentopia
11561
11562 2006-04-16  Dan Williams  <dcbw@redhat.com>
11563
11564         Patch from Paul Blazejowski <paulb@blazebox.homeip.net>
11565         * configure.in
11566           initscript/Slackware/Makefile.am
11567           initscript/Slackware/rc.networkmanager-dispatcher.in
11568           initscript/Slackware/rc.networkmanager.in
11569                 - Update slackware initscripts
11570
11571 2006-04-10  Robert Love  <rml@novell.com>
11572
11573         * gnome/vpn-properties/nm-vpn-properties.c: Intercept and short-circuit
11574           the "delete_event" signal on the druid's parent window and handle it
11575           our way, lest using the WM to close the druid results in a series of
11576           bloody and ultimately lethal errors.
11577
11578 2006-04-10  Robert Love  <rml@novell.com>
11579
11580         * gnome/vpn-properties/nm-vpn-properties.c: Validate VPN settings on
11581           'Back' too or else the 'Forward' option is initially disabled despite
11582           valid input.
11583
11584 2006-04-06  Robert Love  <rml@novell.com>
11585
11586         Fix bad but simple bug where an active modem connection did not update
11587         NM's connection state, breaking any app that did online/offline:
11588         * src/NetworkManagerMain.h: Add 'modem_active' member to NMData,
11589           represented whether a dial up connection is active, or not.
11590         * src/nm-dbus-nm.c: Set and unset 'modem_active' in response
11591           to modem activation and deactivation.
11592         * src/NetworkManagerDbus.c: When asked our state, do not return
11593           disconnected if the modem is active.
11594
11595 2006-04-04  Robert Love  <rml@novell.com>
11596
11597         * gnome/applet/applet.c: Remove the 'Remove' option that I added to the
11598           applet.  It just confuses the crap out of people and does not make a
11599           lot of sense, as the daemon still runs.
11600
11601 2006-04-02  Tor Krill  <tor@krill.nu>
11602
11603         * initscript/Arch/networkmanager.in: Added checks for HAL and dhcdbd
11604           in start of service.
11605         * src/backends/NetworkManagerArch.c: (nm_system_get_mtu): Added to
11606           get Archlinux backend up to date.
11607
11608 2006-03-29  Robert Love  <rml@novell.com>
11609
11610         Patch by Vinay R <rvinay@novell.com> and Robert Love <rml@novell.com>,
11611         to add support for per-route MSS and improve support for per-interface
11612         MTU:
11613         * src/NetworkManagerSystem.c: Modify nm_system_device_set_ip4_route to
11614           optionally take an MSS parameter and set it for the given route.
11615           Remove nm_system_device_set_ip4_route_with_iface.  Pass in the
11616           NMIP4Config's stored MSS, if any.
11617         * src/nm-ip4-config.c: Add 'mtu' and 'mss' to NMIP4Config, representing
11618           the interface's MTU and the route's MSS, respectively.  Add functions
11619           nm_ip4_config_get_mtu, nm_ip4_config_set_mtu, nm_ip4_config_get_mss,
11620           and nm_ip4_config_set_mss for retrieving and setting the MTU and the
11621           MSS.
11622         * src/nm-ip4-config.h: Add prototypes for nm_ip4_config_get_mtu,
11623           nm_ip4_config_set_mtu, nm_ip4_config_get_mss, and
11624           nm_ip4_config_set_mss.
11625         * src/vpn-manager/nm-vpn-service.c: Modify to receive the MSS from the
11626           VPN daemon.
11627         * src/backends/NetworkManager{Arch,Debian,Gentoo,RedHat,Slackware,SUSE}.c:
11628           Change the retval of nm_system_get_mtu to guint32.
11629         * src/dhcp-manager/nm-dhcp-manager.c: Set the MTU on the new DHCP-given
11630           NMIP4Config to the MTU provided by the system, if any.  TODO: If DHCP
11631           servers can specify MTU's, we should set it here if the MTU was not
11632           provided.
11633
11634 2006-03-27  Jürg Billeter  <j@bitron.ch>
11635
11636         * configure.in:
11637         * initscript/Makefile.am:
11638         * initscript/paldo/Makefile.am:
11639         * initscript/paldo/NetworkManager.in:
11640         * initscript/paldo/NetworkManagerDispatcher.in:
11641         * src/backends/Makefile.am:
11642         * src/backends/NetworkManagerPaldo.c:
11643                 - Add paldo support
11644
11645 2006-03-27  Dan Williams  <dcbw@redhat.com>
11646
11647         Patch from Christian Persch <chpe@gnome.org>
11648         * gnome/applet/applet.glade
11649                 - HIG fixes; mostly for spacing and borders (gnome.org #336220)
11650
11651 2006-03-27  Dan Williams  <dcbw@redhat.com>
11652
11653         Patch from Diffe <diffie@blazebox.homeip.net>
11654         * src/backends/NetworkManagerSlackware.c
11655                 - Don't restart howl, since it's been replaced by Avahi
11656                         in most distributions
11657
11658 2006-03-27  Dan Williams  <dcbw@redhat.com>
11659
11660         Patch from Tor Krill <bugzilla@krill.nu>
11661         * configure.in
11662           initscript/Makefile.am
11663           src/backends/Makefile.am
11664           src/backends/NetworkManagerArch.c
11665           initscript/Arch/Makefile.am
11666           initscript/Arch/networkmanager-dispatcher.in
11667           initscript/Arch/networkmanager.in
11668                 - Add Arch Linux support, fixes gnome.org #335147
11669
11670 2006-03-27  Dan Williams  <dcbw@redhat.com>
11671
11672         Patch from Diffe <diffie@blazebox.homeip.net>
11673      * initscript/Slackware/rc.networkmanager
11674         - update, fixed gnome.org #333368
11675
11676 2006-03-27  Robert Love  <rml@novell.com>
11677
11678         * gnome/applet/other-network-dialog.c: Do not allow the user to try to
11679           create WPA-EAP Ad-Hoc networks because such an action makes no sense.
11680
11681 2006-03-27  Robert Love  <rml@novell.com>
11682
11683         Patch by Jürg Billeter <j@bitron.ch>:
11684         * src/nm-logging.c: Add printf modifier to fix warning on 64-bit
11685           systems.
11686         * src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
11687           as we prefer glibc over kernel headers, if possible.
11688
11689 2006-03-27  Robert Love  <rml@novell.com>
11690
11691         Patch by Jon Escombe <list@dresco.co.uk>:
11692         * gnome/applet/nm-gconf-wso.c: Add missing NM_AUTH_TYPE_WPA_EAP case.
11693         * gnome/applet/nm-gconf-wso-wpa-eap.c: If retrieving the gconf values
11694           fail, don't bail out.  We don't expect all of the various WPA-EAP
11695           values to be present.
11696         * src/nm-ap-security.c: We need to match all capabilities for each
11697           encryption type, not any one of them.
11698
11699 2006-03-27  Robert Love  <rml@novell.com>
11700
11701         * src/backends/NetworkManagerSuSE.c: Revert 2006-03-17 commit and again
11702           restart, not reload, ypbind.  Unfortunately there is no superior
11703           solution.
11704
11705 2006-03-24  Christopher Aillon  <caillon@redhat.com>
11706
11707         * gnome/applet/applet-notifications.c:
11708         When displaying a notification, make sure to get rid of the
11709         previous notification so as to not have competing bubbles,
11710         and stop leaking the old one.
11711
11712         * gnome/applet/applet.c:
11713         * gnome/applet/applet.h:
11714         Add a new 'notification' member to the applet, and zero it out
11715         and free it appropriately.
11716
11717 2006-03-23  Robert Love  <rml@novell.com>
11718
11719         Patch by j <j@bootlab.org>:
11720         * gnome/applet/applet.glade: Don't set the invisible_char property,
11721           which simply overrides the GTK default.  By and by, this behavior
11722           ought to be fixed in Glade.
11723
11724 2006-03-22  Robert Love  <rml@novell.com>
11725
11726         * src/dhcp-manager/nm-dhcp-manager.c: Bump timeout to 45 seconds.
11727
11728 2006-03-22  Robert Love  <rml@novell.com>
11729
11730         Bug fix by Timo Hoenig <thoenig@suse.de>:
11731         * gnome/applet/applet-dbus.c: Let the applet reconnect to DBUS on
11732           disconnect.  Otherwise, we have the daemon surviving DBUS restarts
11733           and the applet going AWOL.
11734
11735 2006-03-22  Robert Love  <rml@novell.com>
11736
11737         * src/dhcp-manager/nm-dhcp-manager.c: Create NM_DHCP_TIMEOUT
11738           preprocessor define and use it instead of open-coded the DHCP
11739           timeout, which is currently 25 seconds, everywhere.
11740
11741 2006-03-22  Robert Love  <rml@novell.com>
11742
11743         Implement "Dynamic WEP", which is basically WPA authentication and WEP
11744         key exchange via WPA, ostensibly providing good security without
11745         requiring hardware that supports full WPA.  Also, add UI elements to
11746         allow the user to select the pairwise & group cipher for WPA Enterprise
11747         networks, too:
11748         * gnome/applet/applet.glade: Update glade file.
11749         * gnome/applet/nm-gconf-wso-wpa-eap.c: Serialize and deserialize the
11750           key type, too, to and from gconf.
11751         * gnome/applet/wireless-security-option.c: Add "wpa_eap" parameter to
11752           wso_wpa_create_key_type_model(), noting whether we are handling PSK
11753           or EAP configuration, and in the latter case add in "Dynamic WEP" if
11754           the capabilities match.
11755         * gnome/applet/wso-private.h: Update wso_wpa_create_key_type_model()'s
11756           prototype.
11757         * gnome/applet/wso-wpa-eap.c: Manage UI elements for the key type and
11758           serialize from UI to DBUS.
11759         * gnome/applet/wso-wpa-psk.c: Cannot fail and always returns at least
11760           one element.
11761         * libnm-util/dbus-helpers.c: Update nmu_security_serialize_wpa_eap(),
11762           nmu_security_serialize_wpa_eap_with_cipher(), and
11763           nmu_security_deserialize_wpa_eap() to take a "key_type" parameter and
11764           serialize/deserialize the key type via DBUS as the new third DBUS
11765           parameter.
11766         * libnm-util/dbus-helpers.h: Update prototypes.
11767         * src/nm-ap-security-wpa-eap.c: Deserialize the key type from DBUS,
11768           too.  If the key type is WEP104, do Dynamic WEP, which means
11769           "IEEE8021X" for "key_mgmt".  Also add support for user-specified
11770           pairwise and group ciphers (fixes a FIXME).
11771
11772 2006-03-21  Robert Love  <rml@novell.com>
11773
11774         * src/NetworkManagerSystem.c, src/NetworkManagerSystem.h: Add
11775           nm_system_get_mtu(), which returns a user-provided or system-mandated
11776           MTU value for a given device, if any, or zero if no such value
11777           exists.  Add nm_system_set_mtu() to set the MTU for a given device
11778           if we have a provided value.
11779         * src/nm-device.c: Set the MTU of devices.
11780         * src/backends/NetworkManagerSuSE.c: Read MTU, if any, from sysconfig.
11781         * src/backends/NetworkManagerDebian.c,
11782           src/backends/NetworkManagerGentoo.c,
11783           src/backends/NetworkManagerRedHat.c,
11784           src/backends/NetworkManagerSlackware.c: Implement stub functions.
11785
11786 2006-03-21  Robert Love  <rml@novell.com>
11787
11788         * src/backends/NetworkManagerSuSE.c: Strip hypens from hex key in
11789           configuration file.
11790
11791 2006-03-17  Robert Love  <rml@novell.com>
11792
11793         * src/backends/NetworkManagerSuSE.c: Do "rcypbind reload" to send the
11794           signal SIGHUP to ypbind, not "rcypbind restart" to physically restart
11795           it, in case it is not running in the first place.  We just want its
11796           configuration reloaded.  Also, do not "rcypbind stop" on device down.
11797
11798 2006-03-15  Robert Love  <rml@novell.com>
11799
11800         * gnome/applet/applet.glade, gnome/applet/wso-wep-ascii.c,
11801           gnome/applet/wso-wep-hex.c, gnome/applet/wso-wep-passphrase.c: The
11802           label "WEP 40/128-bit" is inconsistent because the physical key size
11803           is 40 or 104-bits, to which a 24-bit initialisation vector is
11804           appended, forming a 64 or 128-bit traffic key.  Thus, the label ought
11805           to read "40/104" or "64/128".  I do not care much which, but most
11806           users think of "silver" and "gold" encryption as 64 and 128-bits, so
11807           let's stick with that.  Thus, s/"40/128"/"64/128"/g.  Also, since our
11808           WEP passphrase support only handles 128-bit keys, and any future
11809           64-bit passphrase support will require a new option (no way to auto-
11810           detect the target key size), explicitly label our passphrase support
11811           "WEP 128-bit Passphrase".
11812
11813 2006-03-15  Robert Love  <rml@novell.com>
11814
11815         * src/dhcp-manager/nm-dhcp-manager.c: Do not start dhcdbd, but rely on
11816           the system init scripts (or some other mechanism) starting it (or a
11817           compatible DBUS service) before NetworkManager runs.  This means that
11818           distributions might need to update their init scripts.  This fixes
11819           possible races and is quite a bit cleaner.
11820         * initscript/SUSE/networkmanager.in: Update to start dhcdbd before
11821           starting the NetworkManager daemon.
11822
11823
11824 2006-03-14  Robert Love  <rml@novell.com>
11825
11826         * src/backends/NetworkManagerSuSE.c: Check that we have a valid AP
11827           before adding anything.
11828
11829 2006-03-13  Robert Love  <rml@novell.com>
11830
11831         * gnome/vpn-properties/nm-vpn-properties.c: Hide the next page's
11832           widgets, too, if they exist, in case the user hit the back button.
11833           Fixes a bug where the details page contains the widgets of multiple
11834           VPN modules (Novell bug #157048).
11835
11836 2006-03-13  Robert Love  <rml@novell.com>
11837
11838         Patch by Timo Hoenig <thoenig@suse.de>:
11839         * dispatcher-daemon/NetworkManagerDispatcher.c: Let the dispatcher
11840           daemon survive DBUS restarts, too.
11841
11842 2006-03-10  Robert Love  <rml@novell.com>
11843
11844         * gnome/applet/applet.glade: Add toggles to show/obfuscate the
11845           passphrase or key.
11846         * gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
11847           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-eap.c,
11848           gnome/applet/wso-wpa-psk.c: Show and obfuscate passphrases and keys
11849           in response to "toggled" signal on new toggle.
11850
11851 2006-03-10  Robert Love  <rml@novell.com>
11852
11853         * src/nm-ap-security-wpa-eap.c: Pass fake empty strings for
11854           serialization if strings are NULL, lest DBUS get angry.
11855
11856 2006-03-10  Robert Love  <rml@novell.com>
11857
11858         * src/nm-ap-security-wpa-eap.c: Don't log the password.
11859
11860 2006-03-09  Robert Love  <rml@novell.com>
11861
11862         * src/backends/NetworkManagerSuSE.c: Read in WEP and WPA static
11863           configurations.
11864
11865 2006-03-09  Dan Williams  <dcbw@redhat.com>
11866
11867         Track pending call requests in the applet, and report how many are
11868         outstanding, and how long each completed one takes.
11869         
11870         * gnome/applet/applet-dbus-devices.c
11871           gnome/applet/applet-dbus-vpn.c
11872                 - Track pending calls
11873
11874         * gnome/applet/applet-dbus.[ch]
11875                 - Remove some unused enums
11876                 - (nma_dbus_send_with_callback, nma_dbus_send_with_callback_replied):
11877                         new functions to track dbus pending calls and spit out some
11878                         statistics about them
11879
11880 2006-03-09  Robert Love  <rml@novell.com>
11881
11882         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Have the function
11883           nm_ap_set_timestamp() take the second and micro-second parameters as
11884           direct arguments, which avoids both a dynamic memory allocation and a
11885           structure-to-structure copy!  Add a new interface, the aptly named
11886           nm_ap_set_timestamp_via_timestamp(), to set the timestamp from an
11887           existing GTimeVal, as nm_ap_set_timestamp() once did, for use with
11888           the return from nm_ap_get_timestamp().  New users should use the new
11889           nm_ap_set_timestamp(), not nm_ap_set_timestamp_via_timestamp(), for
11890           the extreme benefit to performance.
11891         * src/NetworkManagerAPList.c, src/nm-dbus-nmi.c,
11892           src/backends/NetworkManagerSuSE.c: Use the new functions as needed.
11893
11894 2006-03-08  Robert Love  <rml@novell.com>
11895
11896         * gnome/applet/applet.glade: Hide the password entry text with
11897           asterisks.
11898
11899 2006-03-08  Robert Love  <rml@novell.com>
11900
11901         * src/NetworkManagerSystem.h, src/nm-device.c, NetworkManagerDebian.c,
11902           NetworkManagerRedHat.c, NetworkManagerGentoo.c,
11903           NetworkManagerSlackware.c: Pass nm_system_device_get_system_config()
11904           a second argument, NMData.
11905         * src/nm-ap-security.h, src/nm-ap-security.c: Export nm_ap_security_new.
11906         * src/backends/NetworkManagerSuSE.c: Add wireless networks from ifcfg-*
11907           config files as trusted.
11908
11909 2006-03-06  Robert Love  <rml@novell.com>
11910
11911         * gnome/applet/Makefile.am: Define AUTOSTARTDIR.
11912         * gnome/applet/applet.c: Add 'Remove' option to the right click menu,
11913           to exit the applet.  As a sweet side-effect, idea courtesy of Chris
11914           Rivera, detect if the applet was auto-started.  If so, ask the user
11915           if he or she would like to stop automatically running the applet on
11916           login.  If so, disable autostart.
11917
11918 2006-03-06  Robert Love  <rml@novell.com>
11919
11920         * NetworkManager.pc.in:  Provide an -I to the NetworkManager include
11921           directory in CFLAGS so developers can actually use NetworkManager.h.
11922
11923 2006-03-06  Robert Love  <rml@novell.com>
11924
11925         * src/dhcp-manager/nm-dhcp-manager.c: Use preprocessor defines and not
11926           open-coded integer constants.  Add state_to_string() to map a given
11927           state to a textual description, and provide that when notifying of
11928           state change.
11929         * src/dhcp-manager/nm-dhcp-manager.h: Provide defines for the dhcdbd
11930           states, copied and cleaned up from dhcdbd.d.  Ideally, we would use
11931           this header directly, but it is currently not installed on most
11932           systems.
11933
11934 2006-03-05  Dan Williams  <dcbw@redhat.com>
11935
11936         Process netlink messages in device subclasses rather than in
11937         NetworkManager.c.  Also add support for recognizing Wireless Events.
11938         
11939         * configure.in
11940                 - Find GLIB_GENMARSHAL
11941
11942         * src/Makefile.am
11943                 - Since we're marshalling custom types for wireless event signals,
11944                         we get to create our own marshallers using GLIB_GENMARSHAL
11945
11946         * src/NetworkManager.c
11947                 - (nm_monitor_wired_link_state): renamed to nm_monitor_setup
11948                 - (nm_monitor_setup): renamed from nm_monitor_wired_link_state, and
11949                         cut down somewhat.  We no longer process signals here.
11950                 - (nm_data_new): create the netlink monitor here, and remove a
11951                         useless call to nm_policy_schedule_device_change_check()
11952                 - (nm_data_free): get rid of the netlink monitor here
11953                 - (nm_device_link_activated, nm_device_link_deactivated): removed
11954                 - (main): don't create the netlink monitor here, let nm_data_new
11955                         do that.  Call nm_policy_schedule_device_change_check() right
11956                         before we jump to the mainloop to figure out which device
11957                         to use first
11958
11959         * src/NetworkManagerSystem.[ch]
11960                 - (nm_system_get_rtnl_index_from_iface, nm_system_get_iface_from_rtnl_index):
11961                         convert back and forth from interface names to interface
11962                         indexes
11963
11964         * src/nm-device-802-11-wireless.c
11965                 - (real_init): connect to wireless-event signals from the netlink
11966                         monitor object
11967                 - (nm_device_802_11_wireless_event): new function, schedule handler
11968                         for wireless event signals from the netlink monitor object.  We
11969                         want the handler to run in the device's context
11970                 - (wireless_event_helper): handle wireless-event signals from netlink
11971                 - (nm_device_802_11_wireless_dispose): disconnect wireless-event
11972                         signal handler
11973
11974         * src/nm-device-802-11-wireless.h
11975                 - remove unused prototype for nm_device_802_11_wireless_new
11976
11977         * src/nm-device-802-3-ethernet.c
11978                 - (real_init): new function; set up signal handlers for link events
11979                 - (nm_device_802_3_ethernet_link_activated): new function, schedule
11980                         handler for netlink link activated events on device's main loop
11981                 - (link_activated_helper): when we get a link activated event, set
11982                         the device's link to be active
11983                 - (nm_device_802_3_ethernet_link_deactivated): new function; schedule
11984                         handler for netlink link deactivated events on device's main loop
11985                 - (link_deactivated_helper): when we get a link deactivated event, set
11986                         the device's link to be inactive
11987                 - (nm_device_802_3_ethernet_dispose): disconnect signal handler on
11988                         dispose
11989
11990         * src/nm-device-802-3-ethernet.h
11991                 - remove unused prototype for nm_device_802_3_ethernet_new
11992
11993         * src/nm-device.[ch]
11994                 - (nm_get_device_by_iface_locked): variant of nm_get_device_by_iface
11995                         but locks the device list
11996                 - (nm_device_set_active_link): a little bit of cleanup and de-indenting
11997
11998         * src/nm-netlink-monitor.[ch]
11999                 - (nm_netlink_monitor_class_install_signals): New signal
12000                         "wireless-event"
12001                 - (nm_netlink_monitor_new): keep reference to NMData so we can get
12002                         at the device list
12003                 - (nm_netlink_monitor_event_handler): expand for wireless events too
12004
12005         * src/nm-marshal-main.c
12006                 - Include generated nm-marshal.c and nm-marshal.h
12007
12008         * src/nm-marshal.list
12009                 - List of custom marshal functions
12010
12011 2006-03-05  Dan Williams  <dcbw@redhat.com>
12012
12013         * gnome/applet/applet-notifications.h
12014                 - Protect prototype of nma_send_event_notification() because it
12015                         includes libnotify-specific types
12016                 - Include libnotify/libnotify.h too, since we technically need it
12017
12018         * gnome/applet/applet.c
12019                 - (nma_show_vpn_failure_dialog): fix usage of g_return_if_fail
12020                 - (nma_show_vpn_login_banner_dialog): add some error checking
12021
12022 2006-03-04  Dan Williams  <dcbw@redhat.com>
12023
12024         Clean up activation cancellation.  Should be a lot faster now.  Observed
12025         an issue with wireless devices between stage 2 and 3 of activation, where
12026         activation would be cancelled, but the device thread wouldn't notice until
12027         the supplicant association timed out.  Reorganize activation such that
12028         a cancellation handler gets immediately scheduled in the device's thread,
12029         and devices have a chance to perform any custom cleanup too.
12030
12031         * src/nm-device.[ch]
12032                 - (activation_cancel_handler): new device-type-specific function
12033                         for cleaning up device-type-specific stuff on cancellation
12034                 - (cancel_activation): removed
12035                 - (nm_device_activation_cancel): subsume functionality of
12036                         real_cancel_activation, but instead of doing anything, punt
12037                         operation to a handler that's run in device-thread context
12038                 - (nm_device_schedule_activation_handle_cancel): fix spelling of
12039                         a warning message
12040                 - (activation_handle_cancel_helper): cancellation handler run in
12041                         device-thread context, calls device-type-specific cancelation,
12042                         then tears down the activation request
12043                 - (real_activation_cancel_handler): generic cancellation handler,
12044                         deals with cancelling any in-process DHCP request
12045                 - (nm_device_activate_stage1_device_prepare,
12046                    nm_device_activate_stage2_device_config,
12047                    nm_device_activate_stage3_ip_config_start,
12048                    nm_device_activate_stage4_ip_config_get,
12049                    nm_device_activate_stage4_ip_config_timeout,
12050                    nm_device_activate_stage5_ip_commit): don't call
12051                         nm_device_schedule_activation_handle_cancel() any more, since
12052                         cancellation will have been already scheduled for us by
12053                         nm_device_activation_cancel().  Just exit the function and
12054                         assume that the cancel handler will be called next.
12055
12056         * src/nm-device-802-3-ethernet.c
12057                 - (real_act_stage2_config): remove; didn't do anything anyway
12058
12059         * src/nm-device-802-11-wireless.c
12060                 - (supplicant_status_cb): ensure we don't do anything if the activation
12061                         got cancelled
12062                 - (real_activation_cancel_handler): implement; cancel user key request
12063                         on activation cancellation
12064
12065 2006-03-04  Dan Williams  <dcbw@redhat.com>
12066
12067         * src/nm-device-802-11-wireless.c
12068                 - (supplicant_send_network_config): assume that drivers that don't
12069                         support WPA pretty much suck, and can't handle NM scanning
12070                         along with wpa_supplicant.
12071
12072 2006-03-03  Robert Love  <rml@novell.com>
12073
12074         * configure.in: Bump version to 0.6.0.
12075         * NEWS: Update.
12076
12077 2006-03-03  Robert Love  <rml@novell.com>
12078
12079         * configure.in: Require DBUS 0.60 or later.
12080
12081 2006-03-03  Dan Williams  <dcbw@redhat.com>
12082
12083         Fix a crash if an "Other wireless network" was chosen, failed, then
12084         chosen again from the applet's menu.  If the other network wasn't
12085         noticed in a scan, it wouldn't have any capabilities, but would still
12086         be listed because the user forced the network.  To fix this, we set
12087         sensible capabilities on the forced network, which will get overwritten
12088         with the correct ones if the network shows up later in a scan.
12089         
12090         * src/nm-ap-security.h
12091                 - Add a new "get_default_capabilities_func" member to the
12092                         NMAPSecurity class
12093
12094         * src/nm-ap-security.c
12095                 - (nm_ap_security_get_default_capabilities): new function
12096
12097         * src/nm-ap-security.c
12098           src/nm-ap-security-wep.c
12099           src/nm-ap-security-wpa-psk.c
12100           src/nm-ap-security-wpa-eap.c
12101                 - Implement get_default_capabilities_func() for all, which
12102                         uses the information contained in a specific NMAPSecurity
12103                         object to determine default AP capabilites necessary
12104                         to support that object
12105
12106         As a secondary measure, we now prune artificial access points that fail
12107         to be activated right away.  The thing failed, and we have no scan data for
12108         it, so it's pretty much useless since security information is only saved
12109         in the applets when a connection is successful.
12110
12111         * src/NetworkManagerAPList.c
12112                 - (nm_ap_list_merge_scanned_ap): mark any ap noticed in a scan
12113                         not artificial.  If we see it, it's no longer a figment of the
12114                         user's imagination :)
12115
12116         * src/NetworkManagerPolicy.c
12117                 - (nm_policy_activation_failed): send along the failed AP if we
12118                         have it
12119
12120         * src/nm-device-802-11-wireless.c
12121                 - (real_activation_failure_handler): remove artificial APs from
12122                         the device list, because activation failed
12123
12124 2006-03-02  Robert Love  <rml@novell.com>
12125
12126         Add support for retrieving both the per-device speed and the
12127         per-network maximum supported rate.  Then change the getProperties
12128         DBUS API for both networks and devices to report this informaiton.
12129         Finally, display the information via both nm-applet and nm-tool:
12130         * gnome/applet/applet-dbus-devices.c: Grab the speed from getProperties
12131           and set it.
12132         * gnome/applet/applet.c: Display the device's speed in the 'Connection
12133           Information' dialog.
12134         * gnome/applet/applet.glade: Update the UI to show per-device speed.
12135         * gnome/applet/nm-device.c, gnome/applet/nm-device.h: Add interfaces
12136           network_device_get_speed() and network_device_set_speed() for
12137           retrieving and setting, respectively, a network device's current
12138           speed.
12139         * src/nm-dbus-device.c: Send the device's speed on getProperties.
12140         * src/nm-device-802-11-wireless.c: Return the rate in Mb/s, not Kb/s,
12141           in the function nm_device_802_11_wireless_get_bitrate() -- it does
12142           not matter (yet) what the units are, because we only feed it its own
12143           output.  Implement SIOCGIRATE and set the per-network maximum
12144           supported rate during scanning.
12145         * src/nm-device-802-11-wireless.h: Export the function
12146           nm_device_802_11_wireless_get_bitrate().
12147         * src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h: Add
12148           function nm_device_802_3_ethernet_get_speed() for returning an
12149           802.3's current speed, in Mb/s.
12150         * test/nm-tool.c: Display the per-device current speed, if available,
12151           and the per-network maximum rate.
12152
12153 2006-03-02  Dan Williams  <dcbw@redhat.com>
12154
12155         * src/nm-device-802-11-wireless.c
12156                 - (nm_device_802_11_wireless_set_scan_interval): don't scan-spam the
12157                         card when it gets initialized.  Since devices don't get added to
12158                         the scan list until they are initialized, this function wasn't
12159                         setting the intitial scan interval correctly, and was leaving
12160                         it at 0.  This caused cards to get many scan requests in a short
12161                         amount of time when they were initialized
12162
12163 2006-03-02  Robert Love  <rml@novell.com>
12164
12165         * gnome/applet/applet.c: Do not set the pixbuf if we don't have an
12166           active device.  But do not do what we used to do and override the
12167           state, which caused the dreaded icon race of '05.
12168
12169 2006-03-02  Robert Love  <rml@novell.com>
12170
12171         Commit Dan's update of my previous commit:
12172         * src/nm-device-802-11-wireless.c: Always set the mode, because the
12173           set_mode() function itself does the check.  But do only set the
12174           frequency if in Ad-Hoc mode.
12175
12176 2006-03-02  Robert Love  <rml@novell.com>
12177
12178         Patch by Brian Magnuson <magnuson@rcn.com>:
12179         * src/nm-device-802-11-wireless.c: During scanning, only set the
12180           wireless mode to infrastructure if it is not currently in
12181           infrastructure mode.  For some driver, setting the mode is a costly
12182           operation, apparently.
12183
12184 2006-03-01  Rodrigo Moya <rodrigo@novell.com>
12185
12186         * Makefile.am: use the correct dir for autostart mechanism.
12187
12188 2006-02-28  Dan Williams  <dcbw@redhat.com>
12189
12190         Patch from Brian Magnuson <magnuson@rcn.com>
12191         * gnome/applet/applet.c
12192                 - (nma_show_vpn_failure_dialog): fix errors left over from
12193                         libnotify support changes
12194
12195 2006-02-28  Dan Williams  <dcbw@redhat.com>
12196
12197         * src/vpn-manager/nm-vpn-act-request.[ch]
12198                 - (nm_vpn_act_request_is_activated): don't use a switch/case for
12199                         just one value
12200                 - (nm_vpn_act_request_is_failed): new function; return whether or
12201                         not the vpn activation request has failed
12202
12203         * src/vpn-manager/nm-vpn-manager.c 
12204                 - (nm_vpn_manager_deactivate_vpn_connection): tell the vpn service
12205                         daemon to kill the connection when the activation request fails.
12206                         Fixes issue where NM would get confused if the VPN activation
12207                         request timed out, and would not allow further VPN connections
12208                         on that service.
12209
12210 2006-02-28  Dan Williams  <dcbw@redhat.com>
12211
12212         * gnome/applet/applet.c
12213                 - (nma_menu_add_vpn_menu): until the NM VPN manager can deal with
12214                         overlapping connection requests, disable all VPN menu items
12215                         but the active VPN connection
12216
12217 2006-02-28  Dan Williams  <dcbw@redhat.com>
12218
12219         * src/vpn-manager/nm-vpn-connection.c
12220                 - (nm_vpn_connection_set_parent_device): fix C&P error which
12221                         called g_object_unref() on the connection's parent device
12222                         when it should have been ref-ed instead.  Fixes crash with
12223                         repeated vpn connect requests
12224
12225 2006-02-28  Christopher Aillon  <caillon@redhat.com>
12226
12227         * gnome/applet/applet.glade:
12228         Mark a few strings non-translatable, since they shouldn't be.
12229
12230 2006-02-28  Dan Williams  <dcbw@redhat.com>
12231
12232         * src/vpn-manager/nm-vpn-service.c
12233                 - (nm_vpn_service_start_connection): if the vpn service daemon is
12234                         already running, don't blindly ask it to connect, but wait until
12235                         it's in the STOPPED state first.  Fixes an assertion when user
12236                         starts a second vpn connection without stopping the first.
12237                 - (nm_vpn_service_stage2_daemon_wait): ensure the vpn service's
12238                         dbus service exists before continuing with the connection
12239                         process, and reduce latency while waiting for it to become
12240                         available
12241                 - (nm_vpn_service_schedule_stage2_daemon_wait): reduce latency
12242                         waiting for the vpn service daemon to become available
12243                 - General log message cleanups; show progress via "Stage x of 4"
12244                         rather than not telling anyone how many stages there are
12245
12246 2006-02-28  Robert Love  <rml@novell.com>
12247
12248         * src/NetworkManagerSystem.h: Add nm_system_should_modify_resolv_conf.
12249         * src/backends/NetworkManagerSuSE.c: Implement the interface
12250           nm_system_should_modify_resolv_conf() for SUSE.
12251         * src/backends/NetworkManagerDebian.c,
12252           src/backends/NetworkManagerGentoo.c,
12253           src/backends/NetworkManagerRedHat.c,
12254           src/backends/NetworkManagerSlackware.c: Add stub.
12255         * src/named-manager/Makefile.am: Grab includes from src.
12256         * src/named-manager/nm-named-manager.c: Allow backends to disable the
12257           automatic updating of resolv.conf.  This is useful for testing,
12258           broken static configurations, and administrator lock-down.
12259
12260 2006-02-28  Dan Williams  <dcbw@redhat.com>
12261
12262         * src/nm-device-802-11-wireless.c
12263                 - Move all the wpa_supplicant-related management stuff into its
12264                         own struct, just for oranization's sake
12265                 - (supplicant_exec): when exec-ing wpa_supplicant, connect its stdout
12266                         to a GIOChannel/GSource
12267                 - (supplicant_log_stdout): new function; grab output from the
12268                         wpa_supplicant stdout pipe and write it to our logs.
12269
12270 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12271
12272         * src/nm-device-802-11-wireless.c:
12273         Err, fix thinko in my previous commit.
12274
12275 2006-02-28  Robert Love  <rml@novell.com>
12276
12277         * gnome/applet/wso-wpa-eap.c: Fix misc. FIXME statements.
12278
12279 2006-02-28  Robert Love  <rml@novell.com>
12280
12281         * libnm-util/dbus-helpers.c, src/nm-ap-security-wpa-eap.c,
12282           src/nm-ap-security-wpa-psk.c, gnome/applet/nm-gconf-wso-wpa-eap.c,
12283           gnome/applet/nm-gconf-wso-wpa-eap.c: Fix FIXMEs: Callers of the DBUS
12284           deserializers are responsible for freeing the returned DBUS strings.
12285
12286 2006-02-27  Christopher Aillon  <caillon@redhat.com>
12287
12288         * src/nm-device-802-11-wireless.c:
12289         The scan list is being pruned prematurely.  We should prune after
12290         the device has gone MIA for three scans, not one.  Split out the
12291         interval to realtime seconds function to better serve this.
12292
12293 2006-02-27  Robert Love  <rml@novell.com>
12294
12295         * dispatcher-daemon/NetworkManagerDispatcher.c, src/NetworkManager.c:
12296           Open the pid file O_TRUNC, so if it already exists we truncate it to
12297           zero length.  Also, be more verbose about warnings generated during
12298           writing out the pid file.  Finally, always write out the pid file if
12299           in daemon mode.  Use "--pid-file" to override the default.
12300
12301 2006-02-27  Robert Love  <rml@novell.com>
12302
12303         Patch by R. Vinay <rvinay@novell.com>:
12304         * gnome/vpn-properties/nm-vpn-properties.c: Remove the gconf key
12305           'last_attempt_success' when removing a VPN connection, too.  (Fixes
12306           Novell bug #153628).
12307           
12308 2006-02-27  Robert Love  <rml@novell.com>
12309
12310         * gnome/applet/applet.glade: Set "activates_default" on passphrase
12311           entry so user can hit <ENTER> after entering passphrase (Novell bug
12312           #153738).
12313
12314 2006-02-27  Dan Williams  <dcbw@redhat.com>
12315
12316         * gnome/applet/*
12317                 - Mass search/replace of:
12318                         nmwa -> nma
12319                         NMWirelessApplet -> NMApplet
12320                         NM_*_WIRELESS_APPLET -> NM_*_APPLET
12321                    (it ain't just for wireless anymore, ma!)
12322                 - Fix duplicate function name printing when using nm_warning
12323                 - wireless-applet.glade -> applet.glade
12324
12325 2006-02-27  Dan Williams  <dcbw@redhat.com>
12326
12327         * dispatcher-daemon/NetworkManagerDispatcher.c
12328                 - Accept --pid-file with a path to a pidfile, write it out on
12329                         startup, and delete it on shutdown
12330
12331         * src/NetworkManager.c
12332                 - Accept --pid-file with a path to a pidfile, write it out on
12333                         startup, and delete it on shutdown
12334                 - Move nm_print_usage() lower
12335
12336         * initscripts/RedHat/NetworkManager.in
12337                 - Use new --pid-file option
12338                 - Fix service stopping to wait a bit for NM to quit
12339
12340         * initscripts/RedHat/NetworkManagerDispatcher.in
12341                 - Use new --pid-file option
12342
12343 2006-02-26  Dan Williams  <dcbw@redhat.com>
12344
12345         * src/Makefile.am
12346                 - make and install nm-crash-logger
12347
12348         * src/nm-logging.[ch]
12349                 - New files; consolidate logging and crash handling
12350
12351         * src/nm-crash-logger.c
12352           src/gdb-cmd
12353                 - Standalong crashlogger for NM, grab a backtrace
12354                         using GDB
12355
12356         * src/NetworkManager.[ch]
12357                 - Remove signal handling and put it into nm-logging.c
12358
12359 2006-02-26  Dan Williams  <dcbw@redhat.com>
12360
12361         * configure.in
12362           gnome/applet/Makefile.am
12363                 - Conditionalize all the notify stuff
12364
12365         Merge most of Chris Aillon's notification patch:
12366         
12367         * gnome/applet/applet-notifications.[ch]
12368                 - New files; show a notification
12369         
12370         * gnome/applet/applet-dbus-devices.[ch]
12371                 - (nmwa_dbus_device_activated, nmwa_dbus_device_activated_cb,
12372                    nmwa_dbus_device_deactivated, nmwa_dbus_device_deactivated_cb):
12373                         new functions, do the right thing when a device change occurs
12374
12375         * gnome/applet/applet-dbus.c
12376                 - (nmwa_dbus_filter): Split out DeviceNowActive and DeviceNoLongerActive
12377                         signals, so we can handle them specially
12378
12379         * gnome/applet/applet.[ch]
12380                 - nmwa_schedule_vpn_login_banner -> nmwa_show_vpn_login_banner
12381                 - nmwa_schedule_vpn_failure_alert -> nmwa_show_vpn_failure_alert
12382                 - (nmwa_notify_state): remove
12383                 - (nmwa_update_state); remove call to nmwa_notify_state, since the
12384                         notification work is now done when the appropriate dbus signals
12385                         are received.
12386                 - (nmwa_show_vpn_login_banner, nmwa_show_vpn_failure_alert): don't
12387                         defer execution of the notification/dialog stuff.  That was an
12388                         artifact of the previous multi-threaded nature of the applet
12389                         and is now pointless.
12390                 - (nmwa_notify_vpn_failure, nmwa_notify_vpn_login_banner): remove,
12391                         no longer needed.  Function folded into applet-notifications.c
12392
12393         * src/NetworkManagerPolicy.c
12394                 - (nm_policy_activation_finish): send the AP along with the device
12395                         status change signal, if the connection is wireless.  Should
12396                         fix the race where applet would show a connection to "unknown"
12397
12398 2006-02-25  Robert Love  <rml@novell.com>
12399
12400         Add WPA Enterprise support:
12401         * gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
12402           nm-gconf-wso-wpa-eap.h.
12403         * gnome/applet/nm-gconf-wso-wpa-eap.c,
12404           gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
12405           serialization and deserialization.
12406         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12407           gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
12408           gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
12409         * gnome/applet/wireless-applet.glade: Add UI for configurating security
12410           settings related to WPA Enterprise.
12411         * gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
12412           instantiate WPA Enterprise wireless-security-option.
12413         * gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
12414           Implement WPA Enterprise wireless-security-option object.
12415         * include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
12416           defines.  Cleanup.
12417         * libnm-util/cipher-wpa-psk-hex.c,
12418           libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
12419         * libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
12420           nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
12421           nmu_security_serialize_wpa_eap_with_cipher() to serialize input
12422           including the cipher to DBUS method, and
12423           nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
12424           to output.
12425         * src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
12426           nm-ap-security-wpa-eap.h
12427         * src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
12428           NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
12429         * src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
12430           files.  Implement NMAPSecurityWPA_EAP object.
12431         * src/nm-ap-security-wpa-psk.c: Cleanup.
12432         * src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
12433           an NMAPSecurityWPA_EAP object via the method
12434           nm_ap_security_wpa_eap_new_deserialize().
12435         * src/nm-dbus-nm.c: Cleanup.
12436         * test/nm-tool.c: Display "Enterprise" for wireless networks providing
12437           WPA Enterprise support.
12438
12439 2006-02-24  Robert Love  <rml@novell.com>
12440
12441         Patch from Timo Hoenig <thoenig@suse.de>:
12442         * src/NetworkManagerDbus.c: Survive DBUS restarts like a champ.
12443
12444 2006-02-24  Robert Love  <rml@novell.com>
12445
12446         Patch from Dan Winship <danw@novell.com>:
12447         * gnome/applet/eggtrayicon.c: Update EggTrayIcon code.  Set the gdk
12448           area to transparent.
12449
12450 2006-02-21  Dan Williams  <dcbw@redhat.com>
12451
12452         * gnome/applet/applet.[ch]
12453           gnome/applet/applet-dbus.c
12454                 - Implement notification support for VPN messages too
12455
12456 2006-02-21  Dan Williams  <dcbw@redhat.com>
12457
12458         * gnome/applet/applet-dbus-info.c
12459                 - Clean up warning messages to not double-print the function
12460
12461 2006-02-21  Dan Williams  <dcbw@redhat.com>
12462
12463         * gnome/applet/applet-compat.c
12464                 - (convert_one_entry): accept entries without a key_type and
12465                         convert them to unencrypted networks
12466
12467 2006-02-21  Dan Williams  <dcbw@redhat.com>
12468
12469         * gnome/libnm_glib/libnm_glib.c
12470                 - Use __func__ everywhere we can
12471                 - Code cleanups
12472                 - Use dbus pending calls rather than blocking
12473                 - Reduce busywaits for our thread to start and stop
12474                         (gnome.org #330562)
12475                 - (libnm_glib_dbus_init): Use dbus_bus_get_private() so we don't
12476                         stomp on others using the default shared dbus connection.
12477                         Fixes #rh177546# and gnome.org #326572
12478
12479 2006-02-21  Dan Williams  <dcbw@redhat.com>
12480
12481         Patch from Rodney Dawes <dobey@novell.com>
12482         * configure.in
12483           gnome/applet/Makefile.am
12484           gnome/applet/applet.c
12485                 - Add libnotify support if '--enable-notify=yes' is passed
12486                   at configure time
12487
12488 2006-02-16  Kang Jeong-Hee  <keizie@gmail.com>
12489
12490         * configure.in (ALL_LINGUAS): ko added. (Korean)
12491
12492 2006-02-15  Robert Love  <rml@novell.com>
12493
12494         * src/nm-device-802-11-wireless.c: Use LOCALSTATEDIR preprocessor
12495           define, not an open-coded "/var", for WPA_SUPPLICANT_GLOBAL_SOCKET
12496           and WPA_SUPPLICANT_CONTROL_SOCKET.
12497         
12498 2006-02-15  Robert Love  <rml@novell.com>
12499
12500         * src/nm-device-802-11-wireless.c, src/nm-device.c: When printing debug
12501           information about what connection stage we are at, provide the total
12502           number of stages, e.g. "Stage 2 of 5", so users know how far along
12503           they are if they experience problems.
12504
12505 2006-02-15  Robert Love  <rml@novell.com>
12506
12507         * gnome/vpn-properties/Makefile.am: Define SYSCONFDIR preprocessor
12508           define to $sysconfdir.
12509         * gnome/vpn-properties/nm-vpn-properties.c: Make sure we hide the VPN
12510           editing dialog, vpn_edit_widget, which fixes a bug where editing one
12511           type of VPN and then editing another results in a mangled dialog
12512           box containing the widgets from both VPNs (fixes Novell #150854).
12513           Also, some misc. cleanup and use SYSCONFDIR not open coded directory.
12514
12515 2006-02-14  Robert Love  <rml@novell.com>
12516
12517         * src/NetworkManager.c: Call closelog() on daemon shutdown to close
12518           syslog's file descriptor.
12519
12520 2006-02-14  Robert Love  <rml@novell.com>
12521
12522         Fix bug around since the change to "deal with APs changing settings on
12523         us," checked in on the fifth of February in the year of the dog, 
12524         wherein connecting to non-broadcast encrypted networks always fails
12525         because nm_ap_get_encrypted() always returns FALSE, even when the user
12526         provided a key, because the newly-created fake AP does not have any
12527         capabilities set, which is a sypmtom of security settings not matching
12528         capabilities (Novell bug #150784):
12529         * src/NetworkManagerAP.c, src/NetworkManagerAP.h: Add new interface,
12530           nm_ap_add_capabilities_from_security(), which sets the given AP's
12531           capabilities off the given security settings.  Also improve our
12532           handling of capabilities w.r.t. NM_802_11_CAP_PROTO_NONE and
12533           NM_AUTH_CIPHER_AUTO.
12534         * src/nm-device-802-11-wireless.c: Call the function
12535           nm_ap_add_capabilities_from_security() to ensure that capabilities
12536           match newly updated security settings.
12537
12538 2006-02-14  Robert Love  <rml@novell.com>
12539
12540         * src/nm-device-802-11-wireless.c: Clean up nm_warning calls: Print the
12541           error as a string, not an integer, if possible; do not print the
12542           function name twice; always give the interface, if possible; misc.
12543           cleanup.
12544
12545 2006-02-12  Dan Williams  <dcbw@redhat.com>
12546
12547         Patch from Tom Parker <palfrey@tevp.net>
12548         * src/NetworkManagerSystem.h
12549                 - Remove prototype for nm_system_device_setup_static_ip4_config(),
12550                         no longer used
12551
12552         * src/backends/NetworkManagerDebian.c
12553                 - Remove some dead code (nm_system_device_setup_static_ip4_config) and
12554                         unused variables
12555
12556 2006-02-12  Dan Williams  <dcbw@redhat.com>
12557
12558         * vpn-daemons/openvpn/intltool-extract.in
12559           vpn-daemons/openvpn/intltool-merge.in
12560           vpn-daemons/openvpn/intltool-update.in
12561           vpn-daemons/pptp/intltool-extract.in
12562           vpn-daemons/pptp/intltool-merge.in
12563           vpn-daemons/pptp/intltool-update.in
12564                 - Remove from CVS, they should get created by intltoolize,
12565                         shouldn't they?
12566
12567 2006-02-12  Dan Williams  <dcbw@redhat.com>
12568
12569         * vpn-daemons/pptp/src/pppd/patchlevel.h
12570         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
12571                 - Rename VERSION -> PPPD_VERSION to avoid conflict with the
12572                         Makefile-defined VERSION
12573
12574 2006-02-09  Dan Williams  <dcbw@redhat.com>
12575
12576         Patch from: Vinay A R <rvinay@novell.com>
12577         * src/vpn-manager/nm-vpn-act-request.[ch]
12578                 - Added 'routes' and 'routes_count' to struct NMVPNActRequest since
12579                         IPSec VPNs require them for std gateway.
12580                 - (nm_vpn_act_request_new): takes arguments for 'user_routes'
12581                         and 'user_routes_count'
12582                 - (nm_vpn_act_request_get_user_routes): new function; gets user
12583                         defined routes  from NMVPNActRequest object, returns the string
12584                         array of routes.
12585
12586         * src/vpn-manager/nm-vpn-manager.[ch]
12587                 - (nm_vpn_manager_activate_vpn_connection): take additional arguments
12588                         for 'user_routes' and 'user_routes_count'
12589         
12590         * src/vpn-manager/nm-dbus-vpn.c
12591                 - (nm_dbus_vpn_activate_connection): gets 'user_routes' from
12592                         nm_dbus_vpn_get_routes() to pass to nm_vpn_manager_activate_vpn_connection()
12593         
12594         * src/vpn-manager/nm-vpn-service.c
12595                 - (nm_vpn_service_stage3_connect): pass user routes over dbus to
12596                         the vpn daemon
12597
12598         Modifications by Dan:
12599         * src/vpn-manager/nm-vpn-service.c
12600                 - (nm_vpn_service_stage3_connect): ensure that we don't pass NULL string
12601                         arrays into dbus
12602
12603         * vpn-daemons/vpnc/src/nm-vpnc-service.c
12604         * vpn-daemons/pptp/src/nm-pptp-service.c
12605         * vpn-daemons/openvpn/src/nm-openvpn-service.c
12606                 - Grab user routes from dbus message
12607                 - Free all string arrays we got from dbus
12608
12609 2006-02-07  Robert Love  <rml@novell.com>
12610
12611         Patch by Stefan Seyfried <seife@suse.de>:
12612         * libnm-util/cipher.c: Fix off-by-one error in cipher_bin2hexstr.
12613
12614 2006-02-06  Robert Love  <rml@novell.com>
12615
12616         * src/nm-device-802-11-wireless.c: Fix leak in supplicant_status_cb().
12617
12618 2006-02-06  Robert Love  <rml@novell.com>
12619
12620         * src/NetworkManagerUtils.c: kill_newline(): 'l' is unsigned so the
12621           test ">=" is never false.  If no newline is found, we loop forever.
12622           We can just check for ">" because the following if() will see the
12623           zero-th argument if the while() gets that far.
12624
12625 2006-02-05  Dan Williams  <dcbw@redhat.com>
12626
12627         Refine handling of non-broadcast networks.
12628
12629         * src/NetworkManagerAPList.c
12630                 - (nm_ap_list_merge_scanned_ap): unconditionally copy the 'broadcast'
12631                         property from scanned AP to the AP from the device list
12632
12633         * src/nm-device-802-11-wireless.c
12634                 - (supplicant_send_network_config): use ap_scan=1 for all networks
12635                         except non-SSID-broadcasting and Ad-Hoc networks.  Use
12636                         ap_scan=2 for those.  Also, don't set scan_ssid for Ad-Hoc
12637                         networks since those don't have APs.
12638                 - (add_new_ap_to_device_list): if there's no valid SSID, mark the
12639                         AP as non-SSID-broadcasting
12640                 - (process_scan_results): don't handle non-SSID-broadcasting here
12641
12642 2006-02-05  Dan Williams  <dcbw@redhat.com>
12643
12644         * src/nm-device-802-11-wireless.c
12645                 - (get_supplicant_timeout): new function; return
12646                         NM_SUPPLICANT_TIMEOUT * 2 for cards that support more than
12647                         14 channels.  These are likely a/b/g cards, like Atheros, and
12648                         slow as hell to scan.
12649                 - (supplicant_timeout_cb, supplicant_monitor_start): use
12650                         get_supplicant_timeout()
12651
12652 2006-02-05  Dan Williams  <dcbw@redhat.com>
12653
12654         * src/dhcp-manager/nm-dhcp-manager.c
12655                 - Loose a commit race with Robert; make sure size check
12656                         uses size of DHCP_SERVICE_LEN, not hardcoded 15
12657
12658 2006-02-05  Robert Love  <rml@novell.com>
12659
12660         Patch by Christoph Brill <chrisbrill@gmx.net>:
12661         * src/dhcp-manager/nm-dhcp-manager.c: Replace two open coded defines
12662           with DHCP_SERVICE_NAME.
12663
12664 2006-02-05  Dan Williams  <dcbw@redhat.com>
12665
12666         Remove anything having to do with device_setup_func from the
12667         AP security objects, since it's no longer used.
12668
12669         * src/nm-ap-security.h
12670                 - Kill device_setup_func and nm_ap_security_device_setup()
12671
12672         * src/nm-ap-security-wep.c
12673           src/nm-ap-security-wpa-psk.c
12674                 - (real_device_setup): remove
12675
12676         * src/nm-ap-security.c
12677                 - (real_device_setup): remove
12678                 - (nm_ap_security_device_setup): remove
12679
12680         * src/nm-device-802-11-wireless.[ch]
12681                 - (nm_device_802_11_wireless_set_wep_enc_key): make static
12682                 - (set_wireless_config, wireless_configure_adhoc): remove; unused
12683                         and done by wpa_supplicant now anyway
12684
12685 2006-02-05  Dan Williams  <dcbw@redhat.com>
12686
12687         * src/nm-device-802-11-wireless.c
12688                 - (ap_need_key, real_act_stage2_config): deal with APs changing
12689                         settings on us.  Previously NM would loop asking for the
12690                         key but getting the same one back.  Now, if the NMI-supplied
12691                         cipher doesn't overlap with the scanned AP capabilities,
12692                         we request a completely new key from the user.
12693
12694 2006-02-05  Dan Williams  <dcbw@redhat.com>
12695
12696         * src/NetworkManagerUtils.c
12697                 - (nm_utils_supplicant_request_with_check, nm_utils_supplicant_request):
12698                         Handle newline killing better
12699
12700 2006-02-05  Dan Williams  <dcbw@redhat.com>
12701
12702         * gnome/applet/nm-gconf-wso.c
12703                 - (real_serialize_dbus): return TRUE, not 0.  Fixes serialization
12704                         of unencrypted access point security info.
12705
12706 2006-02-03  Robert Love  <rml@novell.com>
12707
12708         * src/NetworkManagerUtils.c: Even for debugging, we should not log the
12709           user's encryption key, so we print the err_msg_cmd not the command,
12710           if available.  So long as SUPPLICANT_DEBUG is default, this makes
12711           sense.
12712
12713 2006-02-03  Christopher Aillon  <caillon@redhat.com>
12714
12715         * initscript/RedHat/NetworkManagerDispatcher.in:
12716         * initscript/RedHat/NetworkManager.in: modify the pidfile location
12717         Patch from Dan Walsh <dwalsh@redhat.com>
12718
12719 2006-02-03  Robert Love  <rml@novell.com>
12720
12721         * dispatcher-daemon/NetworkManagerDispatcher.c,
12722           dispatcher-daemon/Makefile.am: Don't hardcode the location of /etc
12723           but use the sysconfdir.
12724
12725 2006-02-03  Robert Love  <rml@novell.com>
12726
12727         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h:
12728           Make nm_device_802_11_wireless_get_essid() return 'const char *' not
12729           'char *'.
12730         * src/nm-ip4-config.c, src/nm-ip4-config.h: Make the functions
12731           nm_ip4_config_get_hostname() and
12732           nm_ip4_config_get_nis_domain() return 'const char *' not 'char *'.
12733         * src/backends/NetworkManagerSuSE.c: Fix up for above.  Also, do not
12734           leak g_strdup() result.
12735
12736 2006-02-03  Robert Love  <rml@novell.com>
12737
12738         * src/NetworkManagerAP.c: In nm_ap_new(), default new networks to
12739           broadcast == TRUE.  Also, copy broadcast and artificial properties
12740           from source network to destination in nm_ap_copy().
12741         * src/nm-device-802-11-wireless.c: Don't set broadcast flag to TRUE,
12742           since we now default new networks to non-hidden.
12743
12744 2006-02-03  Dan Williams  <dcbw@redhat.com>
12745
12746         * gnome/applet/main.c
12747                 - (main): change the NEVER->ALWAYS so we start at the
12748                         beginning of the session, if being session-managed
12749
12750 2006-02-03  Dan Williams  <dcbw@redhat.com>
12751
12752         * gnome/applet/main.c
12753                 - (main): in a variation on Robert's patch, change
12754                         RESTART_IMMEDIATELY -> RESTART_NEVER.  Should do what
12755                         he wants.
12756
12757 2006-02-02  Robert Love  <rml@novell.com>
12758
12759         * src/Makefile.am: If we aren't going to create the run directory at,
12760           uh, run-time, create it during install.  Then users just doing
12761           'make install' are cool, too.  While we are here, create the
12762           dispatcher.d directory, too.
12763         * src/nm-device-802-11-wireless.c: Let the Makefile define and pass in
12764           the exact run directory.
12765         * Makefile.am: Install nm-applet.desktop.
12766
12767 2006-02-02  Robert Love  <rml@novell.com>
12768
12769         * src/NetworkManagerAP.c: Add 'broadcast' property to the NMAccessPoint
12770           structure, which denotes whether or not the AP is hidden.  This is a
12771           superset of 'artificial' -- we need 'broadcast' because a hidden AP
12772           can show up in the scan list.  Add nm_ap_get_broadcast() and
12773           nm_ap_set_broadcast() accessor interfaces.
12774         * src/NetworkManagerAP.h: Add prototypes for nm_ap_get_broadcast() and
12775           nm_ap_set_broadcast().
12776         * src/nm-dbus-net.c: Add new argument, boolean broadcast, to the
12777           "getProperties" method, which denotes whether or not the given
12778           network is hidden.
12779         * src/nm-device-802-11-wireless.c: Set broadcast to FALSE when creating
12780           an artificial network.  Set broadcast to TRUE when scanning returns
12781           an ESSID and FALSE when not.
12782         * gnome/applet/applet-dbus-devices.c: Retrieve 'broadcast' argument
12783           from "getProperties" method on a network.  Possible TODO is to
12784           somehow display this.
12785         * test/nm-tool.c: Display "Hidden" if the AP does not broadcast.
12786
12787 2006-02-02  Dan Williams  <dcbw@redhat.com>
12788
12789         * src/nm-device-802-11-wireless.c
12790                 - (supplicant_interface_init): don't try to create
12791                         /var/run/NetworkManager, since that should be done by
12792                         the distro package.  Causes problems for stuff like SELinux
12793
12794 2006-02-02  Robert Love  <rml@novell.com>
12795
12796         Patch by Sureshkumar T <tsureshkumar@novell.com>:
12797         * src/vpn-manager/nm-vpn-connection.c, src/NetworkManagerSystem.c:
12798           Check for and handle empty string for iface.
12799
12800 2006-02-01  Robert Love  <rml@novell.com>
12801
12802         * configure.in, man/nm-tool.1.in, man/Makefile.am: Add nm-tool(1)
12803           manpage.
12804
12805 2006-01-31  Dan Williams  <dcbw@redhat.com>
12806
12807         * nm-applet.desktop
12808                 - Add --sm-disable to Exec arguments, presuming that when
12809                         using autostart, we don't want session management
12810
12811 2006-01-31  Robert Love  <rml@novell.com>
12812
12813         * src/NetworkManagerAP.c: Add two new manufacturer default network
12814           names: linksys-a and linksys-g.  These are found (at least) on the
12815           Linksys WAP55AG, which does both 802.11a and 802.11b, each with their
12816           own ESSID.
12817
12818 2006-01-31  Robert Love  <rml@novell.com>
12819
12820         * src/NetworkManagerAP.c: Optimize the function
12821           nm_ap_has_manufacturer_default_essid().  I did not like its resulting
12822           machine code.  This is the first in a series of code tweaks aiming to
12823           generate better machine code and make NetworkManager all the better.
12824           Just kidding.  Who has time to go through the assembly generated for
12825           every function?  I certainly don't.  I have a wife, a kid, a job,
12826           a mortgage, a mistress.  But this function was so bad, I was called
12827           to arms.  Like the book.
12828
12829 2006-01-31  Robert Love  <rml@novell.com>
12830
12831         * src/nm-device-802-11-wireless.c: Set "scan_ssid 1" if the requested
12832           AP is not broadcasting, to scan with probe request frames.  Required
12833           for non-broadcast networks.
12834
12835 2006-01-31  Robert Love  <rml@novell.com>
12836
12837         * src/nm-device-802-11-wireless.c: Make the wpa_supplicant a
12838           preprocessor define (still 20s).  Fix message text in nm_info()
12839           s/too too/took too/.
12840
12841 2006-01-30  Dan Williams  <dcbw@redhat.com>
12842
12843         * src/nm-device-802-11-wireless.c
12844                 - (supplicant_monitor_start): increase connect/auth timeout to
12845                         20 seconds from 10 seconds
12846
12847 2006-01-30  Dan Williams  <dcbw@redhat.com>
12848
12849         * src/Makefile.am
12850                 - Define LOCALSTATEDIR
12851
12852         * src/nm-device-802-11-wireless.c
12853                 - (supplicant_exec): tell wpa_ctrl_open() to stick the local control
12854                         socket where we want it to
12855
12856         * src/wpa_ctrl.[ch]
12857                 - (wpa_ctrl_open): accept location to put local control socket
12858
12859 2006-01-30  Robert Love  <rml@novell.com>
12860
12861         * src/dhcp-manager/nm-dhcp-manager.c: Pass TRUE for ignore_error in
12862           get_ip4_string() for "domain_name".
12863
12864 2006-01-30  Robert Love  <rml@novell.com>
12865
12866         * gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
12867           gnome/applet/wireless-security-option.c, include/NetworkManager.h,
12868           libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
12869           libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
12870           support for "Automatic" pairwise and group cipher configuration by
12871           letting wpa_supplicant handle the details.  Add UI elements, new
12872           cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
12873           charm.  Note this does more than add a nice feature, it fixes a bug.
12874           Apparently, some people have AP's where the pairwise cipher does not
12875           match the group cipher.  Insane, but true.
12876
12877 2006-01-30  Dan Williams  <dcbw@redhat.com>
12878
12879         * gnome/applet/applet-dbus-devices.c
12880                 - (nmwa_dbus_device_get_driver_cb, nmwa_dbus_device_get_driver): new
12881                         functions, grab device driver name from NetworkManager
12882                 - (nmwa_dbus_device_properties_cb): call functions to get driver
12883
12884         * gnome/applet/applet.c
12885                 - (nmwa_update_info): show driver name in Connection Information
12886                         dialog
12887
12888         * gnome/applet/nm-device.[ch]
12889                 - (network_device_get_driver, network_device_set_driver): add
12890                         accessors for driver name
12891
12892         * gnome/applet/wireless-applet.glade
12893                 - Add line for driver name to Connection Information dialog
12894
12895         * src/nm-dbus-device.c
12896                 - (nm_dbus_device_get_driver): new function to return driver name
12897                 - (nm_dbus_device_methods): hook up driver name function to dbus
12898
12899         * test/nm-tool.c
12900                 - (get_driver_name): new function
12901                 - (detail_device): grab and show driver name
12902
12903 2006-01-30  Robert Love  <rml@novell.com>
12904
12905         * gnome/applet/applet.c: Apparently gtk_message_dialog_new_with_markup
12906           does not parse the markup if it is not part of the format.
12907
12908 2006-01-30  Robert Love  <rml@novell.com>
12909
12910         * gnome/applet/passphrase-dialog.c: If wsm_set_capabilities() returns
12911           FALSE, we have no security options for this dialog, so we throw up
12912           an error dialog instead of a broken passphrase dialog.  Fixes
12913           Novell #138404.
12914         * gnome/applet/wireless-security-manager.c,
12915           gnome/applet/wireless-security-manager.h: If wsm_set_capabilities()
12916           does not add any security options, not even NONE, print a warning
12917           and return FALSE.  This let's functions constructing a dialog bail
12918           out if the device's capabilities and the network's requirements have
12919           zero overlap.
12920
12921 2006-01-27  Robert Love  <rml@novell.com>
12922
12923         * configure.in: Require wpa_supplicant.  Detect location of binary and
12924           use it.  Override with "--with-wpa_supplicant=foo".
12925         * src/Makefile.am, src/nm-device-802-11-wireless.c: Do not hardcode the
12926           path to wpa_supplicant but use the auto-detected or user-provided
12927           value from configure.
12928
12929 2006-01-27  Robert Love  <rml@novell.com>
12930
12931         * src/backends/NetworkManagerSuSE.c: If DHCLIENT_SET_HOSTNAME is set
12932           but the DHCP server did not return a hostname, try to look up our
12933           name via DNS and set the system hostname to that.
12934
12935 2006-01-27  Dan Williams  <dcbw@redhat.com>
12936
12937         * src/backends/NetworkManagerRedHat.c
12938                 - Add NM_CONTROLLED system network script support for RH/Fedora
12939
12940 2006-01-27  Dan Williams  <dcbw@redhat.com>
12941
12942         * src/backends/NetworkManagerGentoo.c
12943                 - (nm_system_device_get_disabled): add missing function.
12944                         Gnome BZ #328780
12945
12946 2006-01-27  Clytie Siddall <clytie@riverland.net.au>
12947
12948         * configure.in: Added vi in ALL_LINGUAS line.
12949         
12950 2006-01-26  Robert Love  <rml@novell.com>
12951
12952         * src/Makefile.am, src/kernel-types.h: Now that two different source
12953           files are feeling the crack-addled leakage of kernel types such as
12954           u32 and s8 -- superior to __u64 and __u8, to be sure, but not valid
12955           types in user-space -- define a header and include it as needed.
12956         * src/nm-device-802-3-ethernet.c: Include kernel-types.h
12957         * src/nm-device-802-3-ethernet.h: Remove defines.
12958         * src/wpa.c: Remove defines and include kernel-types.h.
12959
12960 2006-01-26  Robert Love  <rml@novell.com>
12961
12962         * TODO: Update.  WPA support is in the bag and HAL restarts (should)
12963           work.
12964
12965 2006-01-26  Robert Love  <rml@novell.com>
12966
12967         * configure.in: Change '-Wno-unused' to '-Wno-unused-parameter'
12968         * gnome/applet/applet-compat.c, gnome/applet/applet-dbus-devices.c,
12969           gnome/applet/applet-dbus-info.c, gnome/applet/applet-dbus.c,
12970           gnome/applet/applet.c, gnome/applet/applet.h, src/nm-dbus-device.c,
12971           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
12972           gnome/applet/nm-gconf-wso.c, gnome/applet/nm-gconf-wso.h,
12973           gnome/applet/other-network-dialog.c, src/nm-device.c, test/nm-tool.c,
12974           gnome/applet/passphrase-dialog.c, src/nm-device-802-11-wireless.c,
12975           gnome/applet/wireless-security-manager.c, src/nm-ip4-config.c,
12976           gnome/applet/wireless-security-option.c, src/nm-ap-security.c,
12977           gnome/applet/wso-wep-ascii.c, gnome/applet/wso-wep-hex.c,
12978           gnome/applet/wso-wep-passphrase.c, gnome/applet/wso-wpa-psk.c,
12979           libnm-util/dbus-helpers.c, src/NetworkManagerAP.c, src/nm-dbus-nmi.c,
12980           src/NetworkManagerSystem.c, src/nm-ap-security-wep.c,
12981           src/nm-device-802-11-wireless.h, test/libnm-util/test-ciphers.c,
12982           src/named-manager/nm-named-manager.c, test/test-common/test-common.c:
12983           Kill unused variables, labels, and static functions.  Don't pass
12984           string literals as the format string for printf-like functions.
12985
12986 2006-01-25  Dan Williams  <dcbw@redhat.com>
12987
12988         * gnome/applet/wireless-applet.glade
12989                 - Remove WPA2 Checkbox
12990
12991         * gnome/applet/wireless-security-manager.c
12992                 - (wsm_set_capabilities): split up sections for wpa and wpa2.
12993                         This means the Wireless Security menu now has two WPA options,
12994                         one for "WPA Personal" and one for "WPA2 Personal"
12995
12996         * gnome/applet/wso-wpa-psk.[ch]
12997                 - (wso_wpa_psk_new): remove stuff for WPA2 checkbox, and use
12998                         'wpa2' argument to determine WPA version to use
12999                 - (append_dbus_params_func): pass stored WPA version to cipher
13000                         rather than using the (removed) checkbox
13001
13002 2006-01-24  Robert Love  <rml@novell.com>
13003
13004         * src/dhcp-manager/nm-dhcp-manager.c: Null-out the original byte array
13005           before we g_strdup(), not the ultimate string.
13006
13007 2006-01-23  Dan Williams  <dcbw@redhat.com>
13008
13009         * src/NetworkManagerAP.[ch]
13010                 - (nm_ap_new_from_ap): copy original essid too
13011                 - (nm_ap_unref): free original essid
13012                 - (nm_ap_get_orig_essid): new function
13013                 - (nm_ap_set_essid): Convert essid to UTF-8 for display and dbus,
13014                         but keep original essid around too
13015
13016         * src/nm-device-802-11-wireless.c
13017                 - (supplicant_send_network_config): send wpa_supplicant the
13018                         _original_ essid, and not as a string, but in hex.  Should
13019                         allow us to connect to more APs that use wierd character
13020                         encodings for their essids
13021
13022         * utils/nm-utils.[ch]
13023                 - (nm_utils_essid_to_utf8): make a best-effort to convert the essid
13024                         to UTF-8.  If it's not already valid UTF-8, we check LANG and
13025                         use the current locale as a hint for what encoding the essid
13026                         might be in.  Obviously not 100% accurate, but the idea here is
13027                         that if a user's locale is ex. ja_JP, they are more likely than
13028                         not to be in Japan, where access points will likely be in some
13029                         Japanese encoding.
13030
13031 2006-01-23  Dan Williams  <dcbw@redhat.com>
13032
13033         * libnm-util/cipher-private.h
13034           libnm-util/cipher.c
13035           libnm-util/cipher.h
13036                 - (cipher_bin2hexstr, cipher_hexstr2bin): make public
13037
13038 2006-01-23  Robert Love  <rml@novell.com>
13039
13040         Patch by Timo Hoenig <thoenig@suse.de>:
13041         * dhcp-manager/nm-dhcp-manager.c, nm-device.c, nm-ip4-config.c,
13042           nm-ip4-config.h, NetworkManagerSystem.h: Save the hostname reported
13043           by DHCP and pass it to the backends, allowing distribution-specific
13044           behavior with respect to the DHCP-supplied hostname (if nothing else,
13045           some distributions might not want to set the hostname).
13046         * backends/NetworkManagerSuSE.c: Set the hostname if the variable
13047           DHCLIENT_SET_HOSTNAME is set to "yes" in /etc/sysconfig/network/dhcp.
13048           Also update our NIS behavior.
13049         * backends/NetworkManagerDebian.c, backends/NetworkManagerGentoo.c,
13050           backends/NetworkManagerRedHat.c, backends/NetworkManagerSlackware.c:
13051           Add stub functions.
13052
13053 2006-01-23  Robert Love  <rml@novell.com>
13054
13055         * Makefile.am, nm-applet.desktop: Add autostart .desktop file, now that
13056           gnome-session does autostart.  TODO: We need to install this to
13057           $prefix/share/autostart/.
13058
13059 2006-01-22  Dan Williams  <dcbw@redhat.com>
13060
13061         * src/NetworkManagerAP.[ch]
13062           src/nm-dbus-nmi.c
13063           src/nm-device-802-11-wireless.c         
13064                 - Make nm_ap_get_essid return "const char *"
13065
13066 2006-01-22  Dan Williams  <dcbw@redhat.com>
13067
13068         * src/NetworkManagerAP.[ch]
13069                 - (nm_ap_get_matched, nm_ap_set_matched): remove
13070
13071         * src/NetworkManagerAPList.[ch]
13072                 - (nm_ap_list_diff): removed
13073                 - (nm_ap_list_merge_scanned_ap): move AP dbus signal logic here,
13074                         deal with access points changing essids on us
13075
13076         * src/nm-device-802-11-wireless.c
13077                 - (add_new_ap_to_device_list): move AP dbus signal logic to
13078                         src/NetworkManagerAPList.c
13079                 - (real_can_interrupt_activation): new function; allow interruption
13080                         of device activation if we are waiting for a network key
13081
13082         * src/NetworkManagerPolicy.c
13083                 - (nm_policy_device_change_check): allow interruption of currently
13084                         activating devices if the device allows it.  Previous behavior
13085                         would refuse to activate a just-plugged wired device if a
13086                         wireless device was waiting for a key.
13087
13088         * src/nm-device.[ch]
13089                 - (nm_device_can_interrupt_activation): new function; ask devices
13090                         whether their activation can be interrupted
13091
13092 2006-01-20  Robert Love  <rml@novell.com>
13093
13094         * Makefile.am, configure.in: Add new man subdirectory.
13095         * man, man/NetworkManager.1.in, man/NetworkManagerDispatcher.1.in,
13096           man/Makefile.am: Add man pages for NetworkManager and its
13097           crime-solving bumbling buddy, NetworkManagerDispatcher.
13098         * man/.cvsignore: Add.
13099         * initscript/Debian/NetworkManager,
13100           initscript/Gentoo/NetworkManager.in,
13101           initscript/RedHat/NetworkManager.in,
13102           initscript/RedHat/NetworkManagerDispatcher.in,
13103           initscript/SUSE/networkmanager-dispatcher.in,
13104           initscript/SUSE/networkmanager.in: Update for /usr/sbin not /usr/bin.
13105
13106 2006-01-20  Robert Love  <rml@novell.com>
13107
13108         * src/NetworkManagerDbus.c: Fail if NM's DBUS service is already taken,
13109           instead of queuing.  This prevents the running of multiple NM
13110           daemons concurrently, which does not work whatsoever and results in
13111           neither daemon working correctly.  Also, we don't handle queuing and
13112           name-owner-changes, anyhow.
13113
13114 2006-01-20  Robert Love  <rml@novell.com>
13115
13116         * src/Makefile.am: Install the NetworkManager daemon to sbin, not bin.
13117         * dispatcher/Makefile.am: Install the NetworkManagerDispatcher daemon
13118           to sbin, not bin.
13119
13120 2006-01-19  Robert Love  <rml@novell.com>
13121
13122         * configure.in: Require hal 0.5.0 or later.
13123
13124 2006-01-18  Robert Love  <rml@novell.com>
13125
13126         * src/NetworkManager.c, src/NetworkManagerSystem.h, src/nm-device.c:
13127           Allow backends to flag a device (in whatever distro-dependent way
13128           they so desire) as disabled.  NM will ignore any such device.
13129         * src/backends/NetworkManagerDebian.c,
13130           src/backends/NetworkManagerRedHat.c,
13131           src/backends/NetworkManagerSlackware.c: Add stub function
13132           nm_system_device_get_disabled() that always returns FALSE (enabled).
13133         * src/backends/NetworkManagerSuSE.c: Add system_disabled field to the
13134           SUSE-specific configuration structure.  Fill it in from the
13135           NM_CONTROLLED variable in the system networking scripts.  If this var
13136           exists and is "no", we ignore the device.
13137
13138 2006-01-17  Robert Love  <rml@novell.com>
13139
13140         * configure.in: Remove 'no' language.  Replaced by 'nb', which is
13141           identical for NM.  For a full discussion, see the thread at
13142           http://mail.gnome.org/archives/gnome-i18n/2004-August/msg00006.html.
13143
13144 2006-01-17  Dan Williams  <dcbw@redhat.com>
13145
13146         * src/nm-device.c
13147                 - (nm_device_class_init): connect a default act_stage4_ip_config_timeout
13148                         function.  Fixes crash when wired DHCP fails.
13149
13150 2006-01-16  Robert Love  <rml@novell.com>
13151
13152         * src/Makefile.am: Don't install NMLoadModules
13153         * src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
13154           from src/ to test/ as no one uses it anymore.  Note that I would be
13155           fine with removing it altogether.
13156
13157 2006-01-16  Robert Love  <rml@novell.com>
13158
13159         * gnome/applet/eggtrayicon.c, src/nm-device.c, src/nm-ap-security.c,
13160           gnome/applet/nm-gconf-wso-wep.c, gnome/applet/nm-gconf-wso-wpa-psk.c,
13161           gnome/applet/nm-gconf-wso.c, src/nm-device-802-3-ethernet.c,
13162           gnome/vpn-properties/nm-vpn-properties.c, src/nm-ap-security-wep.c,
13163           src/nm-ap-security-wpa-psk.c, src/nm-device-802-11-wireless.c,
13164           src/nm-netlink-monitor.c: Don't miss any initializers on structure
13165           declarations, ever.
13166         * gnome/applet/applet.c: Remove useless check (NMState is unsigned and
13167           NM_STATE_DISCONNECTED is zero).
13168
13169 2006-01-16  Robert Love  <rml@novell.com>
13170
13171         * src/nm-device-802-11-wireless.c: argv[3], not argv[4].  Fix
13172           uninitialized parameter and buffer overflow.  Novell #143496.
13173
13174 2006-01-16  Dan Williams  <dcbw@redhat.com>
13175
13176         Apply the PtP Address bits of a patch from Tim Niemueller
13177
13178         * src/nm-ip4-config.[ch]
13179                 - Add ip4_ptp_address member to object
13180                 - (nm_ip4_config_copy): copy ptp address too
13181                 - (nm_ip4_config_get_ptp_address, nm_ip4_config_set_ptp_address):
13182                         new functions
13183                 - (nm_ip4_config_to_rtnl_addr): use ptp address when asked to,
13184                         rather than local tunnel ip address
13185
13186         * src/vpn-manager/nm-vpn-service.c
13187                 - (print_vpn_config): update for PtP address
13188                 - (nm_vpn_service_stage4_ip_config_get): switch parsing to
13189                         DBusMessageIters in preparation for getting routes from the VPN
13190                         service daemons too
13191
13192         * vpn-daemons/openvpn/src/nm-openvpn-service-openvpn-helper.c
13193                 - (send_config_info): update for PtP address, clean up code
13194                 - (main): update for PtP address, clean up code, fix typo
13195
13196         * vpn-daemons/openvpn/src/nm-openvpn-service.c
13197                 - (nm_openvpn_dbus_process_helper_ip4_config): update for PtP address
13198
13199         * vpn-daemons/pptp/src/nm-pptp-service-pppd-plugin.c
13200                 - (pptp_ip_up): update for PtP address
13201
13202         * vpn-daemons/pptp/src/nm-pptp-service.c
13203                 - (nm_pptp_dbus_process_helper_ip4_config): update for PtP address
13204
13205         * vpn-daemons/vpnc/src/nm-vpnc-service.c
13206                 - (print_vpn_config): update for PtP address
13207                 - (nm_vpnc_dbus_process_helper_ip4_config): update for PtP address
13208
13209 2006-01-16  Dan Williams  <dcbw@redhat.com>
13210
13211         * gnome/applet/applet.c
13212                 - (nmwa_add_networks_helper): don't indicate an active network
13213                         if NM is disconnected or asleep
13214
13215 2006-01-16  Dan Williams  <dcbw@redhat.com>
13216
13217         * src/NetworkManagerPolicy.c
13218                 - (nm_policy_device_change_check): switch devices if we lose the link
13219                         on an ethernet device. 
13220
13221 2006-01-16  Dan Williams  <dcbw@redhat.com>
13222
13223         * gnome/applet/wso-wpa-psk-hex.[ch]
13224                 - Renamed -> wso-wpa-psk.[ch]
13225
13226         * gnome/applet/wso-wpa-psk.[ch]
13227                 - New files
13228
13229         * gnome/applet/wso-wpa-psk-passphrase.[ch]
13230                 - Removed, rolled into wso-wpa-psk.[ch]
13231
13232         * gnome/applet/Makefile.am
13233                 - Updated for above changes
13234
13235         * gnome/applet/wireless-applet.glade
13236                 - Consolidate WPA-PSK options into one notebook
13237                         widget, and make dialogs invisible by default
13238                         to fix screen oddities
13239
13240         * gnome/applet/wireless-security-manager.c
13241                 - (wsm_set_capabilities): create the new wpa-psk widget rather
13242                         than both the old hex & passphrase ones
13243
13244 2006-01-16  Dan Williams  <dcbw@redhat.com>
13245
13246         * gnome/applet/other-network-dialog.c
13247                 - (nmwa_ond_init): Change text to refer to "name" rather than "ESSID"
13248
13249 2006-01-16  Dan Williams  <dcbw@redhat.com>
13250
13251         * gnome/applet/applet.c
13252                 - (nmwa_show_vpn_login_banner_dialog, nmwa_show_vpn_failure_dialog,
13253                    nmwa_driver_notify, show_warning_dialog): fix up focus-stealing
13254                         prevention to realize window before trying to get server
13255                         time
13256
13257         * gnome/applet/other-network-dialog.c
13258                 - (nmwa_other_network_dialog_run): fix up focus-stealing
13259                         prevention to realize window before trying to get server
13260                         time
13261
13262         * gnome/applet/passphrase-dialog.c
13263                 - (nmi_passphrase_dialog_new): fix up focus-stealing
13264                         prevention to realize window before trying to get server
13265                         time
13266
13267 2006-01-16  Robert Love  <rml@novell.com>
13268
13269         Patch from Timo Hoenig  <thoenig@suse.de:
13270         * libnm-util/cipher-wep-ascii.h, libnm-util/cipher-wep-hex.h,
13271           libnm-util/cipher-wep-passphrase.h, libnm-util/cipher-wpa-psk-hex.h,
13272           libnm-util/cipher-wpa-psk-passphrase.h, libnm-util/cipher.h,
13273           libnm-util/dbus-helpers.h: add checks whether headers are used
13274           within a C++ build.
13275
13276 2006-01-16  Dan Williams  <dcbw@redhat.com>
13277
13278         * gnome/applet/wireless-security-option.c
13279                 - (wso_wpa_create_key_type_model): clarify AES-CCMP algorithm name
13280
13281 2006-01-16  Dan Williams  <dcbw@redhat.com>
13282
13283         * libnm-util/cipher-wpa-psk-passphrase.c
13284                 - (cipher_wpa_psk_passphrase_new): correct passphrase length, should
13285                         be 8 - 63 characters inclusive
13286
13287 2006-01-16  Dan Williams  <dcbw@redhat.com>
13288
13289         * src/nm-dbus-nm.c
13290                 - (nm_dbus_nm_sleep): bring device down after quick deactivation
13291
13292 2006-01-13  Robert Love  <rml@novell.com>
13293
13294         Patch by T Sureshkumar <tsureshkuman@novell.com>:
13295         * src/NetworkManagerSystem.c: Don't assert iface != NULL, allowing VPN
13296           modules that do not use an interface.
13297
13298 2006-01-13  Dan Williams  <dcbw@redhat.com>
13299
13300         * src/nm-device.c
13301           src/nm-device.h
13302                 - Allow subclasses to implement deactivate_quickly()
13303                 - (nm_device_deactivate_quickly): call subclass
13304                         deactivate_quickly() methods
13305                 - (nm_device_set_active_link): small cleanups, and don't
13306                         deactivate the device right away because we risk a deadlock
13307                         when called from device thread, waiting for the device
13308                         thread to cancel activation
13309
13310         * src/nm-device-802-11-wireless.c
13311                 - (real_deactivate_quickly): new function
13312                 - (nm_device_802_11_wireless_class_init): hook in real_deactivate_quickly
13313                 - (real_deactivate): move supplicant cleanup to real_deactivate_quickly
13314                         so that we kill the supplicant when we sleep too
13315                 - (supplicant_interface_init): work around naive naming attempts of
13316                         wpa_ctrl when naming sockets
13317
13318 2006-01-13  Dan Williams  <dcbw@redhat.com>
13319
13320         * src/nm-device-802-11-wireless.c
13321                 - (supplicant_cleanup): delete old device control sockets too
13322                 - (supplicant_get_device_socket_path): new function to consolidate
13323                         locations that need a path to a device's control socket
13324
13325 2006-01-12  Robert Love  <rml@novell.com>
13326
13327         * src/backends/NetworkManagerSuSE.c: Put the ppp device in the
13328           description so that the description is unique for each
13329           pair (device,provider).  Fixes Novell #142773.
13330
13331 2006-01-12  Dan Williams  <dcbw@redhat.com>
13332
13333         * src/nm-device-802-11-wireless.c
13334                 - (supplicant_exec): ensure GError is correctly initialized
13335                         Reported by Diego González (gnome.org #326708)
13336
13337 2006-01-11  Robert Love  <rml@novell.com>
13338
13339         * src/nm-device-802-3-ethernet.c: In case local copies of glibc do not
13340           define if_mii(), open code the same results, and do so without any
13341           type punning.
13342
13343 2006-01-11  Robert Love  <rml@novell.com>
13344
13345         * gnome/applet/wireless-security-manager.c: Fix crash by not asserting
13346           that wso_foo_new() returned non-NULL.  Instead, only append the new
13347           wso to wsm->options if the wso is non-NULL.  The crux is that we
13348           assume that the relevant key types are implied by WEP and WPA as
13349           appropriate.  To be sure, they should be, but we should not expect
13350           drivers to not be oozing piles of wolf fecal matter.
13351
13352 2006-01-11  Robert Love  <rml@novell.com>
13353
13354         * configure.in: Add the gcc flags '-Wshadow' and '-Wfloat-equal'.
13355         * gnome/applet/applet.c, gnome/vpn-properties/nm-vpn-properties.c,
13356           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
13357           src/NetworkManagerPolicy.c, src/NetworkManagerSystem.c,
13358           src/nm-dbus-device.c, src/nm-device-802-3-ethernet.c,
13359           src/nm-ip4-config.c, src/vpn-manager/nm-vpn-manager.c,
13360           test/nmtestdevices.c: Fix shadowed variable usage as appropriate.
13361         * src/nm-device-802-11-wireless.c: Fix floating point comparison by
13362           comparing values within DBL_EPSILON.  Also fix shadowed variable
13363           usage.
13364
13365 2006-01-11  Dan Williams  <dcbw@redhat.com>
13366
13367         Add options for WPA2 and WPA1+CCMP (AES).
13368
13369         * gnome/applet/wireless-applet.glade
13370                 - Add UI bits for WPA+CCMP
13371
13372         * gnome/applet/other-network-dialog.c
13373                 - (nmwa_ond_init): pass capabilities into the WirelessSecurityManager,
13374                         and don't allow creation of WPA2 Ad-Hoc networks since
13375                         wpa_supplicant doesn't support them
13376
13377         * gnome/applet/wireless-security-manager.c
13378                 - (wsm_set_capabilities): Add WPA2 options, and pass capability
13379                         on to the specific wireless security option being created
13380
13381         * gnome/applet/wireless-security-option.[ch]
13382                 - (wso_wpa_create_key_type_model): new utility function to create
13383                         the model required for WPA Key Type combo box
13384
13385         * gnome/applet/wso-private.h
13386           gnome/applet/wireless-security-option.h
13387                 - Move private function prototypes into wso-private.h
13388
13389         * gnome/applet/wso-wpa-psk-hex.[ch]
13390           gnome/applet/wso-wpa-psk-passphrase.[ch]
13391                 - (append_dbus_params_func): get WPA version from checkbox and pass
13392                         it to the dbus serialization helper
13393                 - (key_type_combo_changed_cb): Set the cipher's WE Cipher when the
13394                         key type combo changes
13395                 - (wso_wpa_psk_hex_new): set up the key type combo with the correct
13396                         model and options
13397
13398         * libnm-util/cipher-wpa-psk-hex.c
13399           libnm-util/cipher-wpa-psk-passphrase.c
13400                 - (cipher_wpa_psk_hex_set_we_cipher, cipher_wpa_psk_passphrase_set_we_cipher):
13401                         new function; allow the cipher to be changed after object creation
13402
13403         * src/nm-ap-security-wpa-psk.c
13404                 - (set_description): Do WPA2 descriptions too
13405
13406         * src/nm-ap-security.c
13407                 - (nm_ap_security_new_from_ap): allow CCMP with WPA1 too
13408
13409 2006-01-11  Robert Love  <rml@novell.com>
13410
13411         * src/nm-device-802-3-ethernet.c: Use the if_mii() inline function that
13412           is defined in <linux/mii.h> to return the mii_ioctl_data structure
13413           from the ifreq structure in lieu of an open coded solution.  Removes
13414           a life-threatening type-punning.
13415         * configure.in: Remove '-Wno-strict-aliasing' as we no longer pun any
13416           types, ever, whatsoever, baby.
13417
13418 2006-01-11  Robert Love  <rml@novell.com>
13419
13420         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.c,
13421           gnome/applet/applet.c, gnome/applet/applet.h: Consolidating
13422           assignments to applet->nm_state into a new nmwa_set_state() function
13423           for both cleanliness and to help debugging.
13424
13425 2006-01-10  Robert Love  <rml@novell.com>
13426
13427         * src/autoip.c: Fix FIXME.  In performing the link-local zeroconf IP
13428           assignment dance, we want to sleep between PROBE_MIN and PROBE_MAX
13429           seconds, exclusive.  That is, we want to sleep x seconds such that
13430           1 < x < 2.
13431
13432 2006-01-10  Robert Love  <rml@novell.com>
13433
13434         * gnome/applet/applet-dbus-info.c: Remove FIXME, we do not have to free
13435           the attr fields according to the example in the email available at
13436           mail.gnome.org/archives/desktop-devel-list/2004-May/msg00230.html.
13437           Conversely, we do have to free 'name', so we do so, fixing a leak.
13438
13439 2006-01-10  Robert Love  <rml@novell.com>
13440
13441         * src/nm-device-802-11-wireless.c, src/nm-device-802-3-ethernet.c: Make
13442           sure that we close the socket!
13443
13444 2006-01-10  Robert Love  <rml@novell.com>
13445
13446         * src/nm-device-802-11-wireless.c, src/nm-device-802-11-wireless.h,
13447           src/nm-device-802-3-ethernet.c, src/nm-device-802-3-ethernet.h,
13448           src/nm-device.c: Fix a FIXME!  Reimplement the function
13449           nm_device_update_hw_address() in device subclass variants,
13450           nm_device_802_3_ethernet_set_address() and
13451           nm_device_802_11_wireless_set_address(), hook them up, and use them.
13452           This fixes the existing bug where MAC addresses are all zeros.
13453
13454 2006-01-10  Robert Love  <rml@novell.com>
13455
13456         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet-dbus.h,
13457           gnome/applet/applet.c, gnome/applet/applet.h: Add 'Enable Networking'
13458           option to give users ability to globally disconnect and put NM to
13459           sleep.  This is useful as a 'lockdown mode' for flying, security, and
13460           clean disconnect.
13461
13462 2006-01-09  Robert Love  <rml@novell.com>
13463
13464         * src/nm-device-802-3-ethernet.h:  The kernel headers <linux/mii.h> and
13465           <linux/ethtool.h> leak the kernel-only types u16, u32, et al.
13466           User-space does not supply these types, so we have to define them
13467           ourselves.  The relevant kernel maintainer refused to accept a patch
13468           switching these headers to the proper C99 types.
13469
13470 2006-01-09  Dan Williams  <dcbw@redhat.com>
13471
13472         Apply Robert's 'tray icon redo' patch with fixes
13473         * gnome/applet/applet.c
13474           gnome/applet/applet.h
13475                 - Instead of using a menu bar + menu item, simulate menu
13476                         behavior using a popup menu.  Highlight the area around
13477                         the icon more like a menu too, by playing with the
13478                         applet's size requisition
13479
13480 2006-01-09  Timo Hoenig   <thoenig@suse.de>
13481         * libnm-util/dbus-helpers.c
13482           libnm-util/dbus-helpers.h
13483                 - (nmu_create_dbus_error_message): rename parameter 'namespace'
13484                         to 'exception_namespace' (:namespace is a keyword in
13485                         C++)
13486
13487 2006-01-09  Dan Williams  <dcbw@redhat.com>
13488
13489         * src/NetworkManagerPolicy.c
13490                 - (nm_policy_device_change_check): don't autoswitch away from
13491                         Ad-Hoc networks, since there's really no concept of
13492                         "link"
13493
13494         * src/nm-dbus-nm.c
13495                 - (nm_dbus_nm_create_wireless_network): mark created networks
13496                         as Ad-Hoc networks
13497
13498         * src/nm-device-802-11-wireless.c
13499                 - (real_activation_success_handler): add user-created Ad-Hoc
13500                         networks to the device's scan list
13501
13502 2006-01-08  Dan Williams  <dcbw@redhat.com>
13503
13504         We now require a patch for wpa_supplicant to support Ad-Hoc
13505         networks:
13506           http://people.redhat.com/dcbw/wpa_supplicant-ctrl-iface-ap-scan.patch
13507
13508         * src/nm-device-802-11-wireless.c
13509                 - (supplicant_send_network_config): turn off wpa_supplicant's
13510                         scanning.  Fixes Ad-Hoc networks.
13511
13512 2006-01-08  Dan Williams  <dcbw@redhat.com>
13513
13514         * src/nm-ap-security.c
13515           src/nm-ap-security.h
13516                 - Add a user_created argument to the write_supplicant_config
13517                         functions
13518
13519         * src/nm-ap-security-wep.c
13520           src/nm-ap-security-wpa-psk.c
13521           src/nm-device-802-11-wireless.c
13522                 - Make Ad-Hoc mode somewhat work, at least write the
13523                         correct options to wpa_supplicant
13524
13525 2006-01-08  Dan Williams  <dcbw@redhat.com>
13526
13527         * src/nm-device-802-11-wireless.c
13528                 - Remove unused code from the old device activation path
13529
13530 2006-01-08  Dan Williams  <dcbw@redhat.com>
13531
13532         * libnm-util/dbus-helpers.c
13533                 - (nmu_security_serialize_wpa_psk): pass a blank key through
13534                         dbus when key == NULL
13535
13536 2006-01-08  Dan Williams  <dcbw@redhat.com>
13537
13538         * gnome/applet/nm-gconf-wso-wpa-psk.c
13539                 - (nm_gconf_wso_wpa_psk_new_deserialize_dbus): feed
13540                         correct arguments to nmu_security_deserialize_wpa_psk()
13541
13542         * src/nm-ap-security-wpa-psk.c
13543                 - (nm_ap_security_wpa_psk_new_deserialize): feed correct
13544                         arguments to nmu_security_deserialize_wpa_psk()
13545
13546 2006-01-08  Dan Williams  <dcbw@redhat.com>
13547
13548         * gnome/applet/wso-wpa-psk-hex.c
13549           gnome/applet/wso-wpa-psk-passphrase.c
13550                 - Hook up the append_dbus_params_func() function
13551
13552 2006-01-08  Dan Williams  <dcbw@redhat.com>
13553
13554         * src/nm-device-802-11-wireless.c
13555                 - (get_wireless_capabilities): correctly detect driver WPA
13556                         capabilities
13557
13558 2006-01-08  Dan Williams  <dcbw@redhat.com>
13559
13560         * gnome/applet/Makefile.am
13561           gnome/applet/wso-wpa-psk-hex.c
13562           gnome/applet/wso-wpa-psk-hex.h
13563                 - New files, implement WPA-PSK Hex key input
13564
13565         * gnome/applet/wireless-applet.glade
13566                 - Change existing wpa-psk stuff to wpa-psk-hex
13567                 - Add new widgets for wpa-psk-passphrase
13568
13569         * gnome/applet/wireless-security-manager.c
13570                 - (wsm_set_capabilities): enable WPA options
13571
13572         * gnome/applet/wso-wpa-psk-passphrase.c
13573                 - (wso_wpa_psk_passphrase_new): use correct glade widgets
13574                         for WPA-PSK passphrase
13575
13576 2006-01-08  Dan Williams  <dcbw@redhat.com>
13577
13578         * include/NetworkManager.h
13579                 - Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
13580                         applet/info-daemons
13581
13582         * gnome/applet/passphrase-dialog.c
13583                 - Use the constant.  Fixes a bug where the arguments to
13584                         dbus_message_new_error() were incorrect
13585
13586         * src/nm-dbus-nmi.c
13587                 - Use the constant
13588
13589 2006-01-07  Dan Williams  <dcbw@redhat.com>
13590
13591         * src/nm-device-802-11-wireless.c
13592                 - Add a link timeout so we allow the supplicant time to
13593                         reassociate if it can, before we deactivate the card
13594                 - Fix up link status and link updating so things work better
13595
13596 2006-01-07  Dan Williams  <dcbw@redhat.com>
13597
13598         * src/nm-device-802-11-wireless.c
13599                 - Switch over to using wpa_supplicant
13600                 - Add a timeout of 10s for association of the supplicant
13601                 - Start the monitor callback of the supplicant
13602
13603 2006-01-07  Dan Williams  <dcbw@redhat.com>
13604
13605         * src/NetworkManagerUtils.c
13606                 - (nm_utils_supplicant_request,
13607                   nm_utils_supplicant_request_with_check):
13608                         pass correct buffer length to wpa_ctrl_request()
13609
13610 2006-01-07  Dan Williams  <dcbw@redhat.com>
13611
13612         * src/nm-device-private.h
13613           src/nm-device.c
13614                 - (nm_device_activate_schedule_stage3_ip_config_start): make
13615                         this function available to subclasses
13616
13617 2006-01-06  Robert Love  <rml@novell.com>
13618
13619         * src/NetworkManagerPolicy.c: Always prefer wired to wireless, as the
13620           user plugging in a network cable signals their preference for to
13621           switch, unless the user explicitly selected a wireless network and
13622           therefore signaled their preference for said wireless network over
13623           wired.  In other words, do exactly what makes sense.
13624
13625 2006-01-06  Robert Love  <rml@novell.com>
13626
13627         * src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
13628           src/NetworkManagerDevicePrivate.h, src/NetworkManagerWireless.c,
13629           src/NetworkManagerWireless.h: Remove, no longer used and they keep
13630           showing up in my greps.
13631
13632 2006-01-06  Robert Love  <rml@novell.com>
13633
13634         * gnome/applet/applet-dbus-devices.c,
13635           gnome/applet/other-network-dialog.c, gnome/applet/wso-none.c,
13636           libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h,
13637           src/nm-dbus-nm.c: Fix several issues.  'Connect to Other' and 'Create
13638           New Network' both failed in the non-encrypted case because we were
13639           not appending the security options to the DBUS message.  And
13640           'Connect to Other' was also failing in the encrypted case because
13641           we were not incrementing to the next DBUS parameter.  All fixed.
13642           Thanks to dcdw for some debugging help.
13643
13644 2006-01-06  Robert Love  <rml@novell.com>
13645
13646         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
13647           gnome/applet/applet-dbus-devices.h, src/nm-dbus-nm.c: Remove global
13648           hangup code and add per-device hangup.  Tie last commit into the
13649           GNOME applet.  TODO:  Save, understand, and respond to the state of
13650           each dialup device.
13651
13652 2006-01-06  Robert Love  <rml@novell.com>
13653
13654         Patch by Timo Hoenig <thoenig@suse.de>:
13655         * src/NetworkManagerSystem.h, src/nm-dbus-nm.c: Add interfaces to
13656           hangup specific dialup devices.
13657         * src/backends/NetworkManagerDebian.c,
13658           src/backends/NetworkManagerGentoo.c,
13659           src/backends/NetworkManagerRedHat.c,
13660           src/backends/NetworkManagerSlackware.c: Add stub backend.
13661         * src/backends/NetworkManagerRedHat.c,
13662           src/backends/NetworkManagerSuSE.c: Add specific backend interface to
13663           hangup specific dialup devices.
13664
13665 2006-01-04  Robert Love  <rml@novell.com>
13666
13667         * gnome/applet/applet-dbus-devices.c,
13668           gnome/applet/applet-dbus-devices.h, gnome/applet/applet.c,
13669           src/nm-dbus-nm.c: Expose a menu item for hanging up active dialup
13670           connections.
13671
13672 2006-01-04  Dan Williams  <dcbw@redhat.com>
13673
13674         First dump of wpa_supplicant-related code.  It's not hooked up to
13675         anything yet though.  Thanks to Kay Sievers for
13676         wpa_supplicant_wrapper.c, which formed the basis for this work,
13677         and to Jouni Malinen for writing wpa_ctrl.c and wpa_ctrl.h.
13678
13679         * src/Makefile.am
13680           src/wpa_ctrl.[ch]
13681                 - Add wpa_ctrl stuff from wpa_supplicant so we can talk to it
13682
13683         * src/NetworkManagerUtils.[ch]
13684                 - (nm_utils_supplicant_request, nm_utils_supplicant_request_with_check):
13685                         Add convenience functions for talking to wpa_supplicant
13686
13687         * src/nm-ap-security.[ch]
13688           src/nm-ap-security-wep.c
13689           src/nm-ap-security-wpa-psk.[ch]
13690                 - Update and implement real_write_supplicant_config functions
13691                         in all security types
13692                 - (nm_ap_security_wpa_psk_new_from_ap): implement in
13693                         nm-ap-security-wpa-psk.c
13694
13695         * src/nm-device-802-11-wireless.c
13696                 - (supplicant_cleanup, supplicant_watch_cb, supplicant_monitor_status_cb,
13697                    wpa_supplicant_start, wpa_supplicant_interface_init,
13698                    wpa_supplicant_send_network_config): add functions to talk to
13699                         wpa_supplicant and write network config to it
13700
13701 2006-01-04  Robert Love  <rml@novell.com>
13702
13703         * src/NetworkManagerDialup.h: add 'type' field and NM_DIALUP_TYPE
13704           values so that distribution-backends can differentiate between the
13705           various types (modem, ISDN, et cetera) of dialup device that they
13706           support.
13707         * src/backends/NetworkManagerSuSE.c: perform isdnctrl on interface, as
13708           needed.
13709
13710 2006-01-03  Dan Williams  <dcbw@redhat.com>
13711
13712         * src/NetworkManagerPolicy.c
13713           src/nm-device.[ch]
13714           src/nm-device-802-11-wireless.c
13715                 - Move wireless-specific activation failure and success code
13716                         into wireless device class
13717
13718 2006-01-03  Robert Love  <rml@novell.com>
13719
13720         Patch by Preggna S:
13721         * src/NetworkManagerSystem.c, src/vpn-manager/nm-vpn-connection.c:
13722           IPsec does not require that a VPN client be bound to an interface,
13723           due to the use of the in-kernel IPSec bits.  So make the tunnel
13724           device optional.
13725
13726 2006-01-03  Dan Williams  <dcbw@redhat.com>
13727
13728         * src/NetworkManagerAP.c
13729                 - (nm_ap_add_capabilities_from_ie): presume no WEP unless
13730                         the WPA IE specifies that WEP is supported
13731
13732         * src/nm-device-802-11-wireless.c
13733                 - (process_scan_results): don't mark an AP as supporting WEP
13734                         if there's already other encryption capability info
13735
13736 2006-01-03  Dan Williams  <dcbw@redhat.com>
13737
13738         * src/dhcp-manager/nm-dhcp-manager.c
13739                 - Recognize activation cancellation when waiting for DHCP
13740                         configuration from dhcdbd
13741                 - Ignore non-dhcdbd messages
13742
13743         * src/nm-device.c
13744                 - (real_act_stage3_ip_config_start): return to correct behavior
13745                         of letting the dhcp-manager notify us of failure or
13746                         success rather than incorrectly doing that ourselves
13747                 - (nm_device_activate_stage4_ip_config_get): deal with
13748                         activation cancellation a bit earlier
13749
13750 2006-01-03  Dan Williams  <dcbw@redhat.com>
13751
13752         * src/nm-device-802-11-wireless.c
13753           src/nm-device.[ch]
13754                 - Add hooks to subclasses for stage3_ip_config_start and
13755                         stage4_ip_config_timeout
13756
13757         * src/nm-device-802-3-ethernet.c
13758                 - (real_get_generic_capabilities): make devices NM-supported
13759                         by default
13760
13761 2006-01-03  Robert Love  <rml@novell.com>
13762
13763         * src/backends/NetworkManagerSuSE.c: update to newer API (no more
13764           nm_device_get_hw_address); use inet_aton in lieu of inet_addr as the
13765           latter cannot differentiate between error and the address -1; misc.
13766           clean up.
13767
13768 2006-01-03  Dan Williams  <dcbw@redhat.com>
13769
13770         * src/NetworkManager.c
13771                 - Move link-checking/probing into the device subclasses
13772                         themselves
13773
13774         * src/nm-device.[ch]
13775           src/nm-device-802-11-wireless.c
13776           src/nm-device-802-3-ethernet.c
13777                 - Do periodic link checking in device subclasses rather
13778                         than being triggered from NetworkManager.c
13779                 - discover_wireless_capabilities -> get_wireless_capabilities
13780                 - discover_generic_capabilities -> get_generic_capabilities
13781                 - Device subclass activation routines now return a value of type
13782                         NMActStageReturn to indicate what step to perform next
13783                 - Devices now override stage4_get_ip4_config if they choose
13784
13785 2006-01-01  Dan Williams  <dcbw@redhat.com>
13786
13787         * src/nm-device-802-11-wireless.c
13788                 - (real_init): don't chain up to parent init because we don't
13789                         need to do that anymore
13790
13791         * src/nm-device.c
13792                 - (discover_device_type): fix arguments to ioctl() to correctly
13793                         pass interface name
13794                 - (nm_device_new): consolidate generic device initialization into
13795                         nm_device_new()
13796                 - (real_init): remove, consolidated to nm_device_new()
13797                 - (nm_device_deactivate, real_deactivate): consolidate
13798
13799 2006-01-01  Dan Williams  <dcbw@redhat.com>
13800
13801         * src/nm-activation-request.c
13802                 - Change dhcp_state member of the NMActRequest structure
13803                         from guint8 to guint32
13804
13805         * src/dhcp-manager/nm-dhcp-manager.[ch]
13806                 - (nm_dhcp_manager_get_state_for_device): return guint32 rather
13807                         than guint8 to match the dbus argument.  Turns out we were
13808                         overwriting memory since we were passing in only a guint8
13809
13810 2005-12-31  Dan Williams  <dcbw@redhat.com>
13811
13812         * refactor NMDevice into a GObject-based framework with separate
13813                 objects for wired and wireless.  The following files are no
13814                 longer used but should stick around for a bit so we don't
13815                 loose code through the cracks:
13816                         NetworkManagerDevice.c
13817                         NetworkManagerDevice.h
13818                         NetworkManagerWireless.c
13819                         NetworkManagerWireless.h
13820
13821         The intent here is to allow each device type to manage its own
13822         connection & activation life-cycle, ie to allow wireless devices
13823         to interface with wpa_supplicant, etc.  There's a fair bit of
13824         encapsulation breakage right now that should gradually get pulled
13825         back into each device, along with things like periodic property
13826         updates and link probing.
13827
13828 2005-12-29  Dan Williams  <dcbw@redhat.com>
13829
13830         * include/NetworkManager.h
13831                 - Add NM_802_11_CAP_PROTO_NONE since we need to recognize
13832                         between networks that don't have any encryption at all
13833
13834 2005-12-29  Dan Williams  <dcbw@redhat.com>
13835
13836         * test/test-common.c
13837           test/test-common.h
13838           test/Makefile.am
13839                 - Move to a test-common subdirectory
13840
13841         * test/libnm-util/test-ciphers.c
13842                 - Move test data to test-inputs.h
13843                 - Test WPA ciphers too
13844
13845         * test/libnm-util/test-dbus-helpers.c
13846                 - Test serialization/deserialization of ciphers
13847
13848 2005-12-29  Dan Williams  <dcbw@redhat.com>
13849
13850         * gnome/applet/applet-dbus-devices.c
13851                 - Replace 'enc' parameter with 'capabilities' for wireless networks
13852                         in dbus calls to NM
13853                 - Set capabilities on WirelessNetwork objects
13854                 - Receive and save type-specific device capabilities too
13855
13856         * gnome/applet/applet-dbus-info.c
13857           gnome/applet/applet-dbus.c
13858                 - Passphrase dialog no longer a singleton; new instance gets created
13859                         on each request.  Updates to deal with that.
13860
13861         * gnome/applet/applet.c
13862                 - (nmwa_has_encrypted_networks_helper): use AP capabilities rather
13863                         than single 'encrypted' flag
13864                 - (nmwa_menu_add_vpn_menu): if NM isn't connected, disable any VPN
13865                         menu items
13866                 - Passphrase dialog updates per above
13867
13868         * gnome/applet/menu-items.c
13869                 - (network_menu_item_update): use AP capabilities to determine
13870                         encryption
13871
13872         * gnome/applet/nm-device.[ch]
13873                 - Add accessors for type-specific device capabilities
13874
13875         * gnome/applet/other-network-dialog.c
13876                 - Rework to respect device capabilities.  i.e., if the device doesn't
13877                         support WPA, remove that option from the security dropdown
13878
13879         * gnome/applet/passphrase-dialog.c
13880                 - Massive rework so that a new instance is created each time
13881                         it's used, to support wireless network capabilities
13882
13883         * gnome/applet/wireless-network.[ch]
13884                 - Add accessors and members for wireless network capabilities
13885
13886         * gnome/applet/wireless-security-manager.[ch]
13887                 - (wsm_set_capabilities): called after creation to set which
13888                         security options get shown to the user
13889
13890 2005-12-29  Dan Williams  <dcbw@redhat.com>
13891
13892         * libnm-util/cipher-wpa-psk-passphrase.c
13893                 - (cipher_wpa_psk_passphrase_hash_func): return key as hex string
13894                         like other ciphers
13895
13896 2005-12-23  Dan Williams  <dcbw@redhat.com>
13897
13898         * gnome/applet/applet-dbus-info.c
13899                 - (nmi_dbus_get_key_for_network): if there's no entry in
13900                         GConf for a network, assume we want a new key
13901                 - (nmi_save_network_info): serialize wireless security info
13902                         into GConf so its saved
13903
13904         * src/nm-dbus-nm.c
13905                 - Fix warning as we may not be passed security info when
13906                         connecting to a wireless network
13907
13908 2005-12-23  Dan Williams  <dcbw@redhat.com>
13909
13910         * gnome/applet/applet-compat.c
13911                 - Fix bugs in GConf entry conversion
13912
13913         * gnome/applet/applet-dbus-info.c
13914                 - (nmi_dbus_get_network_properties): handle case of the BSSID
13915                         list being zero-length
13916
13917         * libnm-util/cipher-*
13918           libnm-util/dbus-helpers.c
13919                 - All ciphers must now return hashed keys as UTF-8 valid
13920                         hexadecimal strings, ie "8f3dae4023".  They are pushed
13921                         through dbus as strings too.
13922                 - Consolidate various functions that do bin->hex and hex->bin
13923                         conversion into cipher.c
13924
13925         * src/nm-ap-security-wep.c
13926           src/nm-ap-security-wpa-psk.c
13927                 - Handle NULL keys since we may not know keys right away
13928
13929         * src/nm-dbus-nmi.c
13930                 - (nm_dbus_get_network_data_cb): actually advance to the start
13931                         of the wireless security info before we try to deserialize it
13932
13933         * libnm-util/test-ciphers.c
13934                 - Update cipher tests for the change to UTF-8 hexadecimal strings
13935
13936 2005-12-22  Dan Williams  <dcbw@redhat.com>
13937
13938         * gnome/applet/applet-compat.[ch]
13939                 - Convert old-format GConf and keyring entries
13940                         when the applet starts up.
13941
13942         * gnome/applet/applet.c
13943                 - (nmwa_get_instance): Call the conversion function
13944                         on startup before dbus is initialized
13945
13946 2005-12-22  Dan Williams  <dcbw@redhat.com>
13947
13948         * gnome/applet/applet-dbus-info.c
13949                 - Remove nmi_dbus_create_error_message() in favor of
13950                         nmu_create_dbus_error_message()
13951                 - (nmi_dbus_get_network_properties): Error message cleanups
13952                 - (nmi_dbus_get_network_properties): BSSIDs are now in the 'bssids'
13953                         gconf key rather than 'addresses', since they really are BSSIDs
13954                 - (nmi_dbus_get_network_properties): Dispose of the security
13955                         object when we're done with it
13956
13957 2005-12-21  Dan Williams  <dcbw@redhat.com>
13958
13959         * Consolidate the info-daemon's "updateNetworkInfo" and
13960                 "addNetworkAddress" calls into just "updateNetworkInfo"
13961
13962 2005-12-21  Dan Williams  <dcbw@redhat.com>
13963
13964         * Make connection after key retrieval work again
13965
13966 2005-12-21  Dan Williams  <dcbw@redhat.com>
13967
13968         * gnome/applet/nm-gconf-wso*
13969                 - Make the serialize functions return gboolean
13970                         rather than int
13971
13972         * gnome/applet/nm-gconf-wso.c
13973                 - (nm_gconf_wso_dispose, nm_gconf_wso_finalize): fix up
13974                         parent class handling so we don't segfault
13975
13976         * src/NetworkManagerAP.[ch]
13977                 - (nm_ap_get_capabilities): new function, return capabilities
13978                         now that something can use them
13979                 - (nm_ap_set_encrypted): assume that an access point supports
13980                         both WEP104 and WEP40 if its set encrypted.  FIXME: can
13981                         we even tell whether it just supports WEP40?
13982
13983         * src/NetworkManagerDevice.c
13984                 - (ap_need_key): resurrect and update for the New World Order
13985                 - (nm_device_wireless_get_activation_ap): if we're not given
13986                         security info to use, create some based on access point
13987                         capabilities
13988
13989         * src/nm-ap-security-wep.c
13990                 - (nm_ap_security_wep_new_from_ap): create a new object
13991                         based on a certain access point's capabilities
13992
13993         * src/nm-ap-security.c
13994                 - (nm_ap_security_new_from_ap): delegate creation of a new
13995                         object based on access point capabilities to a subclass
13996                 - (nm_ap_security_copy_properties): don't segfault if we
13997                         don't have a key yet
13998
13999         * src/nm-dbus-nm.c
14000                 - (nm_dbus_nm_set_active_device): provide more informative
14001                         output when errors occur.  Also construct security info
14002                         for a given access point if we weren't given any
14003
14004 2005-12-21  Žygimantas Beručka  <zygis@gnome.org>
14005
14006         * configure.in: Added Lithuanian to ALL_LINGUAS.
14007
14008 2005-12-21  Dan Williams  <dcbw@redhat.com>
14009
14010         * test/libnm-util
14011                 - Add some testcases for WEP ciphers
14012
14013 2005-12-17  Dan Williams  <dcbw@redhat.com>
14014
14015         * Fix bugs
14016
14017 2005-12-17  Dan Williams  <dcbw@redhat.com>
14018
14019         * include/NetworkManager.h
14020                 - Finally kill NMEncKeyType
14021
14022         * gnome/applet/applet-dbus-info.c
14023                 - (nmi_save_network_info): convert to NMGConfWSO
14024
14025         * gnome/applet/nm-gconf-wso-*.c
14026                 - Implement gconf serialization functions
14027
14028         * src/NetworkManagerPolicy.c
14029                 - (nm_policy_activation_finish): fix up meaning of
14030                         automatic/user_requested
14031
14032 2005-12-17  Dan Williams  <dcbw@redhat.com>
14033
14034         * gnome/applet/*
14035                 - More applet cleanups
14036                 - Use the dbus-method-dispatcher
14037
14038         * libnm-util/dbus-method-dispatcher.[ch]
14039                 - Generalize the implementation from NM in
14040                         NetworkManagerUtils.c
14041
14042 2005-12-16  Dan Williams  <dcbw@redhat.com>
14043
14044         * gnome/applet/*
14045                 - Fix up the passphrase dialog to use all the
14046                         WirelessSecurityOption stuff (untested)
14047
14048 2005-12-16  Dan Williams  <dcbw@redhat.com>
14049
14050         * Move nm_gconf_get_*_helper() functions to separate files,
14051                 gconf-helpers.c & gconf-helpers.h
14052
14053         * New NMGConfWSO objects for managing the gconf side of things.
14054                 Eventually these should be merged with the
14055                 WirelessSecurityOption objects and a common base (that can
14056                 serialize/deserialize from dbus & gconf) should be
14057                 refactored out, but for now they are separate.
14058
14059 2005-12-16  Robert Love  <rml@novell.com>
14060
14061         * src/backends/NetworkManagerSuSE.c: Do not invoke ypbind or autofs
14062           binaries unless they exist (nm_spawn_process() emits a warning if
14063           asked to spawn a non-existant process).
14064
14065 2005-12-16  Dan Williams  <dcbw@redhat.com>
14066
14067         * gnome/applet/applet-dbus-info.c
14068                 - Clean up lots of gconf-related code
14069
14070 2005-12-16  Robert Love  <rml@novell.com>
14071
14072         * Makefile.am: Build fix: Reorder 'SUBDIRS' so our deps are right.
14073
14074 2005-12-16  Dan Williams  <dcbw@redhat.com>
14075
14076         * nm_device_set_enc_key -> nm_device_set_wep_enc_key
14077
14078         * Fix up NM -> NMI get-user-key dbus calls in NM (applet
14079                 bits still to be done)
14080
14081 2005-12-16  Dan Williams  <dcbw@redhat.com>
14082
14083         * Finally move info-daemon related stuff out of
14084                 NetworkManagerDbus.c to nm-dbus-nmi.c
14085
14086 2005-12-16  Dan Williams  <dcbw@redhat.com>
14087
14088         * Kill auth_method for access points, since that's now done
14089                 by NMAPSecurity objects
14090
14091         * Add a copy-constructor of sorts to NMAPSecurity
14092                 (how do you do this properly in glib???)
14093
14094 2005-12-15  Dan Williams  <dcbw@redhat.com>
14095
14096         * Exorcise encryption key hashing on APs
14097         * Use libnm-util's serialization/deserialization in both the
14098                 applet and NM
14099         * Random other stuff
14100
14101 2005-12-15  Robert Love  <rml@novell.com>
14102
14103         * gnome/applet/menu-items.c: A new icon, "network-wireless-encrypted"
14104           is being added to the icon naming spec, so let's use that (Tango CVS
14105           has the icon).  Because it is new, however, we fall back to the
14106           current "gnome-lockscreen" if the new icon is not around, thus
14107           behavior is the same.
14108         * gnome/applet/applet.c: Remove setup_stock().  We do not need the
14109           factory junk.
14110
14111 2005-12-15  Robert Love  <rml@novell.com>
14112
14113         * src/gnome/applet.c: Don't show the 'Help' menu item until we have,
14114           well, help to give.  Couple other misc. bits.
14115
14116 2005-12-15  Dan Williams  <dcbw@redhat.com>
14117
14118         * libnm-util/dbus-helpers.[ch]
14119                 - Make this the one-stop-shop for serializing/deserializing
14120                         AP & connection security settings over dbus.  Both NM
14121                         and applets should use this to ensure consistent dbus
14122                         API going forwared.
14123
14124 2005-12-15  Robert Love  <rml@novell.com>
14125
14126         Patch by Timo Hoenig  <thoenig@suse.de>:
14127         * src/NetworkManagerDbus.c
14128                 - (nm_dbus_signal_filter) return DBUS_HANDLER_RESULT_HANDLED
14129                         if HAL jumps off the system bus.  Otherwise libdbus
14130                         (dbus_connection_dispatch) will try to run the filter
14131                         function of our libhal context which is already freed.
14132
14133 2005-12-15  Alexander Shopov  <ash@contact.bg>
14134
14135         * configure.in: Added "bg" (Bulgarian) to ALL_LINGUAS
14136
14137 2005-12-14  Dan Williams  <dcbw@redhat.com>
14138
14139         * include/NetworkManager.h
14140           src/NetworkManagerWireless.c
14141                 - Rearrange 802.11 wireless-specific capabilities again
14142
14143         * src/Makefile.am
14144                 - Forgot to add wpa.c/wpa.h to the makefiles
14145
14146         * src/NetworkManagerAP.[ch]
14147                 - Implement access point capabilities and parse the
14148                         WPA/RSN IEs into the capability bitfield
14149                 - Switch the "encrypted" attribute to utilize the bitfield
14150                         and capabilities rather than being independent
14151
14152         * src/NetworkManagerDevice.c
14153                 - (nm_device_wireless_get_activation_ap): break it horribly
14154                         until we can push NMAPSecurity objects into access point
14155                         objects and through the activation chain
14156                 - Stuff WPA & RSN IEs into AP capabilities
14157
14158         * src/nm-dbus-nm.c
14159                 - Take a shot at actually making setActiveDevice work
14160
14161         * src/wpa.[ch]
14162                 - Make the API a bit saner
14163
14164 2005-12-14  Dan Williams  <dcbw@redhat.com>
14165
14166         * include/NetworkManager.h
14167                 - Add 802.11-specific capability for 802.1x key
14168                         management
14169
14170         * src/wpa.[ch]
14171                 - Pull in WPA IE and RSN IE parsing code from
14172                         wpa_supplicant so we can determine access point
14173                         capabilities
14174                 - Move WPA-related constants here from NetworkManagerAP.h
14175                         and NetworkManagerDevice.c
14176
14177         * src/NetworkManagerDevice.c
14178           src/NetworkManagerAP.[ch]
14179                 - Use WPA-related constants from wpa.h
14180
14181 2005-12-14  Dan Williams  <dcbw@redhat.com>
14182
14183         * include/NetworkManager.h
14184                 - Update and split 802.11 wireless-specific capabilities from
14185                         generic device capabilities
14186
14187         * src/NetworkManagerDevice.c
14188           src/NetworkManagerDevicePrivate.h
14189                 - (nm_device_wireless_discover_capabilities): Move 802.11
14190                         wireless-specific capability checks to
14191                         NetworkManagerWireless.c
14192                 - Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
14193                 - Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions
14194
14195         * src/NetworkManagerWireless.[ch]
14196                 - (nm_802_11_wireless_discover_capabilities): Check extended
14197                         802.11 wireless-specific capabilities of the driver
14198
14199 2005-12-14  Robert Love  <rml@novell.com>
14200
14201         Patch from Stefan Scheler <sscheler@suse.de>:
14202         * src/NetworkManagerDevice.c: call backend code to activate and
14203           deactivate NIS.
14204         * src/NetworkManagerSystem.h: add new NIS interfaces.
14205         * src/backends/NetworkManagerDebian.c,
14206           src/backends/NetworkManagerGentoo.c,
14207           src/backends/NetworkManagerRedHat.c,
14208           src/backends/NetworkManagerSlackware.c: add stub functions for NIS
14209           support.
14210         * src/backends/NetworkManagerSuSE.c: add NIS support, baby.
14211
14212 2005-12-14  Dan Williams  <dcbw@redhat.com>
14213
14214         * src/nm-ap-security*.[ch]
14215                 - Add AP security abstractions to NetworkManager
14216
14217         * src/nm-dbus-device.c
14218                 - Begin to parse new format dbus messages from the applet
14219                         and construct an AP security object from the message
14220
14221         * libnm-util/dbus-helpers.c
14222                 - Use message iters so we can append the key as a fixed
14223                         array of bytes, which actually works rather than
14224                         using dbus_message_append_args() as we were before
14225
14226 2005-12-14  Dan Williams  <dcbw@redhat.com>
14227
14228         * src/NetworkManagerDbus.c
14229           gnome/applet/applet-dbus.c
14230                 - Fix up dbus service replacement options.  The applet
14231                         should allow replacement, NM itself should not.
14232
14233 2005-12-13  Robert Love  <rml@novell.com>
14234
14235         * src/named-manager/nm-named-manager.c: Revert earlier commit.
14236           Instead, fail silently if config is NULL by not asserting and not
14237           returning FALSE.  Also, make sure we always fclose() the file.
14238
14239 2005-12-13  Robert Love  <rml@novell.com>
14240
14241         Patch by Stefan Scheler <sscheler@suse.de>:
14242         *  src/nm-ip4-config.h, src/nm-ip4-config.c,
14243            src/dhcp-manager/nm-dhcp-manager.c: Add support for setting up NIS
14244            via DHCP.  Still need the backends to commit the NIS domain name and
14245            and servers to yp.conf as needed.
14246
14247 2005-12-13  Robert Love  <rml@novell.com>
14248
14249         * src/vpn-manager/nm-dbus-vpn.c: Do not call the lengthy-named function
14250           nm_vpn_manager_remove_connection() unless vpn is non-NULL.
14251
14252 2005-12-13  Robert Love  <rml@novell.com>
14253
14254         * src/named-manager/nm-named-manager.c: Don't unref the config until
14255           after we call rewrite_resolv_conf(), because get_last_default_domain()
14256           needs to access the config.  Fixes "rewrite_resolv_conf: assertion
14257           `config != NULL' failed" assertion failures and "Could not commit DNS
14258           changes" warnings.
14259
14260 2005-12-12  Dan Williams  <dcbw@redhat.com>
14261
14262         * libnm-util/dbus-helpers.[ch]
14263           libnm-util/Makefile.am
14264                 - new helper calls to consolidate locations where
14265                         NM's setDevice method is called
14266
14267         * gnome/applet/applet-dbus-devices.c
14268           gnome/applet/wireless-security-option.c
14269           gnome/applet/wso-*
14270                 - Implement dbus message param append function for
14271                         all wireless security options
14272
14273 2005-12-12  Robert Love  <rml@novell.com>
14274
14275         * libnm-util/cipher-wep-passphrase.c,
14276           libnm-util/cipher-wpa-psk-passphrase.c, src/NetworkManagerAP.c,
14277           src/NetworkManagerAP.h, src/NetworkManagerDevice.c,
14278           src/NetworkManagerWireless.c, src/NetworkManagerWireless.h: Treat
14279           all WEP/WPA keys as "char *" and not explicitly signed or unsigned.
14280           When handling keys, we don't care what the sign is.  The compiler
14281           guarantees us that we get our 8-bits, which is all we care about.
14282         * configure.in: Remove "-Wno-pointer-sign" flag.  We are sign-aware!
14283
14284 2005-12-12  Dan Williams  <dcbw@redhat.com>
14285
14286         * gnome/applet/applet-dbus-devices.[ch]
14287           gnome/applet/applet.c
14288           gnome/applet/other-network-dialog.c
14289           gnome/applet/wireless-security-manager.[ch]
14290           gnome/applet/wireless-security-option.[ch]
14291           gnome/applet/wso-*
14292                 - Push the wireless security options further into the applet
14293
14294 2005-12-12  Robert Love  <rml@novell.com>
14295
14296         * src/dhcp-manager/nm-dhcp-manager.c: Do not fail if DHCP does not
14297           return any name servers.  That is perfectly valid.  (Novell #134369).
14298
14299 2005-12-11  Dan Williams  <dcbw@redhat.com>
14300
14301         * gnome/applet/wso-*
14302           gnome/applet/wireless-security-option.*
14303           gnome/applet/Makefile.am
14304                 - split each security option out so we can eventually
14305                         have each one build up their own dbus message
14306                         arguments to send to NM
14307
14308 2005-12-11  Dan Williams  <dcbw@redhat.com>
14309
14310         * Make validation of the key work correctly
14311
14312 2005-12-11  Dan Williams  <dcbw@redhat.com>
14313
14314         * Hook more bits of the Other Network Dialog up to the
14315                 wireless security manager stuff, and restructure
14316                 bits of the dialog so there's less code.
14317
14318 2005-12-10  Dan Williams  <dcbw@redhat.com>
14319
14320         * gnome/applet/Makefile.am
14321                 - Add libnm-util to includes
14322                 - Add libnm-util to link list
14323                 - Add wireless-security-common.* to compile list
14324
14325         * gnome/applet/other-network-dialog.c
14326                 - Convert to using the WirelessSecurityManager code and
14327                         widgets
14328
14329         * gnome/applet/passphrase-dialog.c
14330                 - Comment out references to stuff in the glade file that
14331                         cause runtime errors until it can be fixed up
14332                         to use the WirelessSecurityManager code
14333
14334         * gnome/applet/wireless-applet.glade
14335                 - Rename some widgets
14336                 - Add widgets for the WirelessSecurityManager code
14337                 - Remove passphrase-related stuff since that's now
14338                         handled by the WirelessSecurityManager code
14339
14340 2005-12-10  Dan Williams  <dcbw@redhat.com>
14341
14342         * gnome/applet/applet-dbus-devices.c
14343                 - Print out error message details for dbus pending call callbacks
14344                 - Move nmwa_dbus_update_devices() up
14345
14346         * gnome/applet/applet-dbus-vpn.c
14347                 - Print out error message details for dbus pending call callbacks
14348
14349 2005-12-10  Dan Williams  <dcbw@redhat.com>
14350
14351         * libnm-util/*
14352                 - More fixups
14353                 - Remove cipher-manager.* because we don't need it
14354                 - Forgot to add gnome-keyring-md5 files to compile list
14355
14356 2005-12-09  Dan Williams  <dcbw@redhat.com>
14357
14358         * libnm-util/*
14359           configure.in
14360           Makefile.am
14361                 - Add a utility library for clients of NetworkManager.  It's
14362                         only targetted at applets for the moment, and contains
14363                         a generalized 802.11 cipher framework for different
14364                         types of keys (WEP & WPA Hex, ASCII, Passphrase)
14365
14366 2005-12-09  Robert Love  <rml@novell.com>
14367
14368         * src/NetworkManagerDevice.c: handle error better in
14369           nm_device_set_mode().
14370
14371 2005-12-08  Robert Love  <rml@novell.com>
14372
14373         * include/NetworkManager.h: add WPA capabilities constants
14374         * src/NetworkManagerDevice.c: detect if wireless devices support WPA
14375           or WPA2 and add the capabilities bits as appropriate.
14376
14377 2005-12-08  Robert Love  <rml@novell.com>
14378
14379         * initscript/SUSE/networkmanager-dispatcher.in: new initscript for
14380           NetworkManagerDispatcher.
14381         * configure.in, initscript/SUSE/.cvsignore,
14382           initscript/SUSE/Makefile.am: support new networkmanager-dispatcher
14383           initscript.
14384
14385 2005-12-08  Robert Love  <rml@novell.com>
14386
14387         * initscript/SUSE/networkmanager.in: Do not start 'networking' service.
14388
14389 2005-12-08  Robert Love  <rml@novell.com>
14390
14391         * src/NetworkManagerDevice.c: We want to fall back on and default to
14392           IW_MODE_AUTO, not -1, which is more in line with our previous
14393           behavior.  Otherwise, we try to set the wireless mode to -1 in
14394           nm_device_set_mode().
14395
14396 2005-12-07  Robert Love  <rml@novell.com>
14397
14398         * gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
14399           src/NetworkManagerAP.c, src/NetworkManagerAP.h,
14400           src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
14401           src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
14402           src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
14403           wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
14404           zero.
14405
14406 2005-12-07  Robert Love  <rml@novell.com>
14407
14408         * src/backends/NetworkManagerSuSE.c: In static configurations, if the
14409           supplied IP is invalid, fall back to DHCP.
14410
14411 2005-12-07  Dan Williams  <dcbw@redhat.com>
14412
14413         * Convert NETWORK_MODE_* constants to IW_MODE_*
14414         * Make all the get_mode/set_mode functions take and return 'int'
14415         * Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32
14416
14417 2005-12-07  Robert Love  <rml@novell.com>
14418
14419         * src/NetworkManagerDevice.c: strncpy() buffer check.
14420         * src/NetworkManagerUtils.c: be anal about syslog() formatting.
14421
14422 2005-12-06  Dan Williams  <dcbw@redhat.com>
14423
14424         * gnome/applet/applet-dbus.c
14425                 - (set_vpn_last_attempt_status): remove, now in applet-dbus-vpn.c
14426
14427         * gnome/applet/applet-dbus-vpn.c
14428                 - (nmwa_dbus_vpn_set_last_attempt_status): new, from applet-dbus.c
14429                 - (nmwa_dbus_vpn_update_vpn_connection_stage): set last_attempt_success
14430                         to TRUE here if stage was ACTIVATED
14431
14432 2005-12-06  Dan Williams  <dcbw@redhat.com>
14433
14434         * Change nm_device_is_* functions to better names:
14435                 nm_device_is_wireless() -> nm_device_is_802_11_wireless()
14436                 nm_device_is_wired() -> nm_device_is_802_3_ethernet()
14437
14438 2005-12-06  Dan Williams  <dcbw@redhat.com>
14439
14440         * Change naming of NMDeviceType to something more sensible:
14441                 NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
14442                 NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
14443                 NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS
14444
14445 2005-12-06  Dan Williams  <dcbw@redhat.com>
14446
14447         * Move NetworkManager.h -> include/NetworkManager.h
14448         * Split out VPN stuff into include/NetworkManagerVPN.h
14449         * Fix up makefiles to include new location
14450         * Fix up sources to include NetworkManagerVPN.h
14451
14452 2005-12-06  Dan Williams  <dcbw@redhat.com>
14453
14454         Various changes in the applet to move VPN connection "state" -> "stage",
14455         which it actually is.  I'd like to change the signal as well when we
14456         break compat in the near future.
14457
14458 2005-12-06  Dan Williams  <dcbw@redhat.com>
14459
14460         Slackware patches from Paul Blazejowski <paulb@blazebox.homeip.net>
14461         * initscript/Slackware/rc.networkmanager
14462                 - Cosmetic fix
14463
14464         * src/backends/NetworkManagerSlackware.c
14465                 - Kill dhcpcd when starting so that dhclient can bind to DHCP on
14466                         interfaces
14467
14468 2005-12-05  Robert Love  <rml@novell.com>
14469
14470         * src/NetworkManager.c: don't call nm_data_free() when there is nothing
14471           to free, particularly here as it just barfs.
14472
14473 2005-12-05  Dan Williams  <dcbw@redhat.com>
14474
14475         * gnome/applet/applet-dbus.c
14476                 - Work with dbus 0.6 too
14477
14478 2005-12-03  Dan Williams  <dcbw@redhat.com>
14479
14480         * src/NetworkManagerUtils.[ch]
14481           src/nm-ip4-config.c
14482                 - move ip4_netmask_to_prefix() to NetworkManagerUtils.c
14483                 - consolidate code into nm_utils_ip4_addr_to_nl_addr()
14484
14485 2005-12-01  Robert Love  <rml@novell.com>
14486
14487         * gnome/applet/main.c, gnome/vpn-properties/nm-vpn-properties.c: We
14488           need a NULL for the '...' parameter, too, to fill the so-called
14489           sentinel.
14490
14491 2005-12-01  Robert Love  <rml@novell.com>
14492
14493         * src/NetworkManagerSystem.c: If iface_to_rtnl_link() returns NULL, the
14494           interface is already gone, so don't call rtnl_link_change() to down
14495           it (which will segfault, anyhow).
14496
14497 2005-11-22  Robert Love  <rml@novell.com>
14498
14499         * src/backends/NetworkManagerSuSE.c: Don't fall back to DHCP if the
14500           gateway is not set, just print a little note.  Configurations without
14501           gateways are valid.
14502
14503 2005-11-22  Robert Love  <rml@novell.com>
14504
14505         * README: update
14506
14507 2005-11-20  Ilkka Tuohela  <hile@iki.fi>
14508
14509         * configure.in: Added Finnish translation to ALL_LINGUAS
14510
14511 2005-11-14  Robert Love  <rml@novell.com>
14512
14513         * vpn-daemons/openvpn: initial checkin of OpenVPN VPN Module, by Tim
14514           Niemueller <tim@niemueller.de>.
14515
14516 2005-11-08  Dan Williams  <dcbw@redhat.com>
14517
14518         Patch from Bill Moss <bmoss@clemson.edu>
14519         * src/NetworkManagerDevice.c
14520                 - (nm_device_activate_stage5_ip_config_commit): fix ordering
14521                         of nm_policy_schedule_activation_finish() to prevent a
14522                         race condition that causes the link to be dropped
14523
14524 2005-11-08  Dan Williams  <dcbw@redhat.com>
14525
14526         Patch from Bill Moss <bmoss@clemson.edu>
14527         * src/NetworkManagerAPList.c
14528           src/NetworkManagerDevice.c
14529           src/NetworkManagerDbus.c
14530                 - Replace occurances of ether_ntoa_r() with iw_ether_ntop() so
14531                         we get more readable ether/mac addresses
14532
14533 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14534
14535         * gnome/applet/main.c: Don't set the restart command.  This fixes
14536         the issue where the restart command was getting copies of all its
14537         arguments for each time the applet was restarted.
14538
14539 2005-11-02  Robert Love  <rml@novell.com>
14540
14541         * gnome/applet/applet.c: Only send the DBUS setWirelessEnabled method
14542           if the widget state differs from our saved state.  This ensures we
14543           do not enter an endless loop of death and destruction.  Also, this
14544           guarantees us that we enforce the widget state.
14545
14546 2005-11-02  Robert Love  <rml@novell.com>
14547
14548         * gnome/applet/applet.c: add nmwa_enable_wireless_set_active().
14549         * gnome/applet/applet-dbus-devices.c: invoke the new function
14550           nmwa_enable_wireless_set_active() to ensure that the state of the
14551           'Enable Wireless' checkbox matches the daemon's state.  This is a
14552           concern because the daemon remembers the state.
14553
14554 2005-11-02  Robert Love  <rml@novell.com>
14555
14556         * gnome/applet/applet.c: Make menu item "Enable Wireless" not "Wireless
14557           Enabled", as checkboxes should be actions/commands not positive
14558           statements, otherwise they are confusing in the unselected case.  See
14559           examples in GNOME HIG, Chapter 6.
14560
14561 2005-11-02  Robert Love  <rml@novell.com>
14562
14563         * gnome/applet/applet.c: When wireless is disabled, act it.  Do not
14564           show a list of wireless networks or the wireless devices or the
14565           "Create Wireless ..." menus.  Aside from this cosmetics, this fixes
14566           a bad bug: If wireless is disabled and the user picks a wireless
14567           network, NM will switch to the network, only to immediately switch
14568           back, as wireless is disabled.  This also reassures people that NM
14569           is not scanning (it is not -- I verified).  Fixes Novell bug #130041.
14570
14571 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14572
14573         * gnome/applet/applet.c:
14574         * gnome/applet/applet.h:
14575         Partial backout of Dan's timeout animation patch.
14576         Timeout IDs cannot legally be 0, so revert the code in place to handle
14577         a timeout ID of 0 to denote the timeout isn't running.
14578
14579 2005-11-02  Christopher Aillon  <caillon@redhat.com>
14580
14581         * src/NetworkManagerPolicy.c:
14582         (nm_policy_device_change_check) Clarify wireless switch nm_info text
14583
14584 2005-10-28  Robert Love  <rml@novell.com>
14585
14586         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade: Change label to
14587           "Import Saved Configuration..." to make it clear that importing is
14588           not the next step, but an option.  As an aside, a nice TODO would be
14589           to move Importing out of the vpn-specific dialog and into the main
14590           property editor, as Importing goes with Adding, but that will require
14591           some rearchitecting of the VPN stuff I suspect.
14592
14593 2005-10-27  Dan Williams  <dcbw@redhat.com>
14594
14595         Start using libnl.  You need 1.0-pre3 or higher.  Eventually
14596         we should replace most of the distro-specific backend code
14597         with libnl stuff.
14598
14599         Get it here:  http://people.suug.ch/~tgr/libnl/
14600
14601         * configure.in
14602           src/Makefile.am
14603                 - Add checks for libnl pkgconfig file
14604                 - Use LIBNL_LIBS & LIBNL_CFLAGS
14605
14606         * src/NetworkManagerSystem.c
14607           src/nm-ip4-config.[ch]
14608                 - Use libnl rather than ioctl() for most things
14609                 - Remove unused functions
14610
14611 2005-10-27  Robert Love  <rml@novell.com>
14612
14613         * src/backends/NetworkManagerSuSE.c: fix warning message text
14614
14615 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14616
14617         * gnome/applet/applet.c: Use the copyright symbol instead of (C)
14618
14619 2005-10-27  Christopher Aillon  <caillon@redhat.com>
14620
14621         * gnome/applet/applet.c: The applet's about dialog can advertise our 
14622         project page <http://www.gnome.org/projects/NetworkManager/>
14623
14624 2005-10-26  Christopher Aillon  <caillon@redhat.com>
14625
14626         * gnome/applet.c: Also use translator credits if we don't have
14627         the new GtkAboutDialog (older versions of GTK+)
14628
14629 2005-10-26  Robert Love  <rml@novell.com>
14630
14631         * dispatcher-daemon/NetworkManagerDispatcher.c: print actual error string on daemon()
14632           failure; correct usage text for "--no-daemon"
14633
14634 2005-10-25  Dan Williams  <dcbw@redhat.com>
14635
14636         * src/NetworkManagerDevice.c
14637                 - (get_scan_results): cleanups, deal cleanly with ENODATA signifying
14638                         no scan results
14639                 - (free_process_scan_cb_data): unref the device when freeing results
14640                 - (nm_device_wireless_process_scan_results): free scan results a bit later
14641                         so we don't unref the device underneath ourselves
14642
14643 2005-10-25  Dan Williams  <dcbw@redhat.com>
14644
14645         * Back out 2005-10-24 commit from Tor Krill.  Patch
14646                 causes nameservers never to be removed from named.
14647
14648 2005-10-24  Dan Williams  <dcbw@redhat.com>
14649
14650         Clean up wireless scanning and wireless link probing.
14651
14652         * src/NetworkManagerDevice.c
14653                 - (nm_device_probe_wireless_link_state): instead of calling nm_get_best_ap(),
14654                         just see if there's an activation request on the device, and check the
14655                         current link against the activation request access point's ESSID.
14656                 - (link_to_specific_ap): increase the # of failed links we tolerate from 3 to 6
14657                 - (nm_device_wireless_process_scan_results): actually free our scan data, and
14658                         don't call process_scan_results() on zero-length data
14659                 - (nm_device_set_wireless_scan_interval): increase the init scan interval to 
14660                         15 seconds (from 10)
14661
14662 2005-10-24  Dan Williams  <dcbw@redhat.com>
14663
14664         Cleanup some applet stuff:
14665
14666         - Animation timeouts.  If NM died while the applet was animating,
14667                 the applet would not hide itself.  This is now fixed.
14668
14669         - Remove some dead code
14670
14671         - Remove nmi_passphrase_dialog_schedule_cancel() and convert uses
14672                 to nmi_passphrase_dialog_cancel() since we no longer use threads.
14673
14674         - Track animation timeout using a gboolean rather than the timeout's
14675                 ID, since timeout IDs can legally be 0.
14676
14677 2005-10-24  Dan Williams  <dcbw@redhat.com>
14678
14679         * src/backends/interface_parser.c
14680                 - Add void to function declarations that need it
14681                         to match patch from Engin AYDOGAN
14682
14683         * src/backends/interface_parser.h
14684                 - Remove unused prototype for ifparser_interfaces()
14685
14686         Patch from Engin AYDOGAN <engin@bzzzt.biz>
14687         * src/backends/interface_parser.h:
14688                 - Compile fixes for gcc 4.0.2 (add void)
14689
14690 2005-10-24  Dan Williams  <dcbw@redhat.com>
14691
14692         Patch from Tor Krill <tor@krill.nu>
14693         * src/named-manager/nm-named-manager.c
14694                 - Write more than just the first nameserver to /etc/resolv.conf
14695                 - Write out valid /etc/resolv.conf on exit
14696
14697 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14698
14699         * gnome/applet/applet-dbus-vpn.c:
14700         Get rid of spurious newlines in debug console output
14701
14702 2005-10-21  Christopher Aillon  <caillon@redhat.com>
14703
14704         * src/backends/NetworkManagerGentoo.c:
14705         Fix path to killall.  Patch from Dave Shanker <dshanker@gmail.com>
14706
14707 2005-10-20  Robert Love  <rml@novell.com>
14708
14709         * src/NetworkManagerDevice.c: Use fabs() and DBL_EPSILON to avoid a
14710           direct comparison of floating point values, which is never correct.
14711           Also some misc. cleanup.
14712
14713 2005-10-19  Robert Love  <rml@novell.com>
14714
14715         * vpn-daemons/vpnc/nm-vpnc.desktop.in: add fields
14716
14717 2005-10-19  Robert Love  <rml@novell.com>
14718
14719         * gnome/vpn-properties/nm-vpn-properties.c: Correctly set the
14720           sensitivity of the buttons.  Specificaly, do the right thing if
14721           there are no entries.
14722
14723 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14724
14725         * configure.in: Update check for adequate wireless-tools
14726         with an AC_TRY_COMPILE for the new symbols we use.
14727
14728 2005-10-19  Dan Williams  <dcbw@redhat.com>
14729
14730         * src/NetworkManagerDevice.c
14731                 - (process_scan_results): don't drop the last (or only)
14732                         access point we see
14733
14734 2005-10-19  Christopher Aillon  <caillon@redhat.com>
14735
14736         * src/backends/NetworkManagerSlackware.c:
14737         Patch from Nico <lordllucifer@gmail.com>
14738                 - Update the Slackware backend.
14739
14740 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14741
14742         * gnome/applet/other-network-dialog.c: Use g_get_host_name ()
14743         if we've got GLib 2.8.0
14744
14745 2005-10-18  Robert Love  <rml@novell.com>
14746
14747         * src/NetworkManagerDevice.c: invoke the long-in-the-tooth named
14748           function nm_schedule_state_change_signal_broadcast() when we
14749           deactivate a device, too.
14750
14751 2005-10-18  Robert Love  <rml@novell.com>
14752
14753         * gnome/applet/applet.c: nmwa_context_menu_update(): 'iface' could
14754           be used uninitialized.
14755
14756 2005-10-18  Christopher Aillon  <caillon@redhat.com>
14757
14758         * test/libnm_glib_test.c: Test unregistering, too.
14759
14760 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14761
14762         * configure.in: Bump to 0.5.0
14763
14764 2005-10-17  Dan Williams  <dcbw@redhat.com>
14765
14766         * NetworkManager.h
14767                 - Remove WPA-related constants so they aren't part of the
14768                         upcoming release.
14769
14770 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14771
14772         * gnome/applet/applet.c:
14773         * gnome/applet/applet.h:
14774         Desensitize the 'Connection Information' menu item when there is
14775         no active connection.
14776
14777 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14778
14779         * gnome/libnm_glib/libnm_glib.c:
14780         Make libnm_glib_unregister_callback () actually unregister the callback
14781
14782 2005-10-17  Robert Love  <rml@novell.com>
14783
14784         * src/NetworkManagerDevice.c: Actually wait 20s, as we intend, not
14785           two seconds -- tries is updated every 1/10 of a second, not every
14786           second..
14787
14788 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14789
14790         * gnome/applet/applet-dbus-info.c:
14791         Let D-BUS know that we haven't handled a message when we haven't.
14792
14793 2005-10-17  Robert Love  <rml@novell.com>
14794
14795         * src/nm-ip4-config.c: use GPOINTER_TO_UINT and not a straight cast
14796           in order to remain 64-bit clean.
14797
14798 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14799
14800         * gnome/applet/applet-dbus-info.c:
14801         Find network encryption keys asynchronously
14802
14803 2005-10-17  Robert Love  <rml@novell.com>
14804
14805         * src/backends/NetworkManagerDebian.c,
14806           src/backends/NetworkManagerRedHat,
14807           src/backends/NetworkManagerSuSE.c: allow '#' as a valid resolv.conf
14808           comment delimiter.
14809
14810 2005-10-17  Robert Love  <rml@novell.com>
14811
14812         * src/backends/NetworkManagerSuSE.c: use SYSCONFDIR not open-coded
14813           "/etc"
14814
14815 2005-10-17  Christopher Aillon  <caillon@redhat.com>
14816
14817         * src/NetworkManagerDevice.c: (process_scan_results)
14818         Fix logic that checks to see whether we have an ESSID.
14819
14820 2005-10-15  Dan Williams  <dcbw@redhat.com>
14821
14822         Move scanning code into NetworkManager rather than use iwlib's
14823         iw_scan() function, so that we can figure out AP capabilities.
14824
14825         * NetworkManager.h
14826                 - Add AP capability bits
14827
14828         * src/NetworkManagerAP.[ch]
14829                 - Add capability field to NMAccessPoint structure
14830                 - Add WPA & RSN Information Element fields and accessor
14831                         functions to NMAccessPoint
14832
14833         * src/NetworkManagerDevice.c
14834                 - Remove usage of iw_scan
14835                 - Add scanning code to NetworkManager rather than use
14836                         iw_scan() from iwlib
14837
14838         * src/NetworkManagerUtils.[ch]
14839                 - (nm_dispose_scan_results): remove, unused
14840
14841 2005-10-14  Christopher Aillon  <caillon@redhat.com>
14842
14843         * gnome/libnm_glib/libnm_glib.c:
14844         * gnome/libnm_glib/libnm_glib.h:
14845         Use guint instead of gint for callback IDs.
14846
14847 2005-10-12  Christopher Aillon  <caillon@redhat.com>
14848
14849         * gnome/applet/applet.c:
14850         Fix icon animation smoothness issues.  nmwa_redraw_timeout gets called
14851         every 1000ms.  It will unconditionally call nmwa_update_state which
14852         kills the existing animation timeout and registers a new one with a
14853         callback to draw a new frame every 100ms.  There are 11 connecting
14854         icon frames, so the last 2 frames kept getting dropped.  Only reset
14855         the animation timeout if we aren't animating.
14856
14857 2005-10-11  Dan Williams  <dcbw@redhat.com>
14858
14859         * gnome/applet/applet-dbus-devices.c
14860                 - (nmwa_dbus_update_device_info_from_hal), (hal_net_physdev_cb):
14861                         We want to grab the product & vendor from net.physical_dev
14862                         rather than info.parent.
14863
14864 2005-10-11  Dan Williams  <dcbw@redhat.com>
14865
14866         * src/NetworkManagerDevice.c
14867                 - Use the driver's WE version for scanning rather than
14868                         the WE version NM was compiled with.  Fixes random
14869                         crashes in iw_scan () in iwlib.
14870
14871 2005-10-10  Dan Williams  <dcbw@redhat.com>
14872
14873         * Remove nm_system_load_device_modules() from backend files
14874                 and from NetworkManager.c
14875
14876 2005-10-10  Dan Williams  <dcbw@redhat.com>
14877
14878         * src/NetworkManagerPolicy.c
14879                 - Fix some bugs introduced by the capabilities patch
14880
14881 2005-10-10  Dan Williams  <dcbw@redhat.com>
14882
14883         * gnome/applet/applet-dbus-info.c
14884                 - (nmi_dbus_get_network_key): hide the menu when putting up
14885                         the keyring dialog.  (not sure if the code is right...)
14886
14887 2005-10-09  Dan Williams  <dcbw@redhat.com>
14888
14889         Patch from Bill Moss <bmoss@clemson.edu>
14890         * src/NetworkManagerDevice.c
14891                 - (nm_device_set_user_key_for_network): don't try to set auth
14892                         mode on the AP from the allowed list if it's NULL
14893
14894 2005-10-09  Dan Williams  <dcbw@redhat.com>
14895
14896         * Replace the "driver support level" stuff with capabilities.  The
14897                 capability field is a bitfield that is more flexible than the
14898                 old driver support level thing.  It's mostly so we can easily
14899                 figure out what supports WPA and what doesn't, but should be
14900                 quite useful later.
14901
14902 2005-10-09  Dan Williams  <dcbw@redhat.com>
14903
14904         * test/nmtest.c
14905                 - Removed
14906
14907         * test/nm-tool.c
14908           test/Makefile.am
14909                 - Added new "nm-tool" tool that gives quite a bit more
14910                         information
14911
14912 2005-10-07  Robert Love  <rml@novell.com>
14913
14914         * gnome/applet/applet-dbus-info.c, gnome/applet/applet.c,
14915           gnome/applet/applet.h, gnome/vpn-properties/nm-vpn-properties.c,
14916           src/dhcp-manager/nm-dhcp-manager.c, test/libnm_glib_test.c,
14917           test/nmtest.c test/nmtestdevices.c: mark functions 'static' as
14918           appropriate
14919
14920 2005-10-07  Robert Love  <rml@novell.com>
14921
14922         * configure.in: Change our compile flags for the betterment of mankind.
14923           Add "-Wstrict-prototypes" because we comply anyhow and missing a
14924           prototype is very bad on 64-bit platforms as types default to int but
14925           sizeof(int) != sizeof(long) and add "-Wmissing-prototypes" &
14926           "-Wmissing-declarations" to warn if we define an exported function
14927           but fail to put it in a header.
14928
14929 2005-10-07  Robert Love  <rml@novell.com>
14930
14931         * src/NetworkManagerWireless.c: remove stale, unused function, who goes
14932           by the name nm_update_device_wireless_timeouts() and once tried,
14933           without success, to steal my pet turtle.
14934
14935 2005-10-07  Robert Love  <rml@novell.com>
14936
14937         * Cleanup prototypes: put some functions in header files and mark
14938           others as 'static' -- feel free to invert
14939         * src/vpn-manager/nm-dbus-vpn.c: remove prototype of
14940           nm_vpn_manager_vpn_connection_list_copy()
14941         * src/vpn-manager/nm-vpn-act-request.c: remove prototype of
14942           nm_vpn_service_get_dbus_connection()
14943         * src/vpn-manager/nm-vpn-manager.h: add prototypes for
14944           nm_vpn_manager_vpn_connection_list_copy()
14945         * src/vpn-manager/nm-vpn-service.c: make
14946           nm_vpn_service_act_request_failed() and
14947           nm_vpn_service_stage2_daemon_wait() static
14948         * src/vpn-manager/nm-vpn-service.h: add prototype for
14949           nm_vpn_service_get_dbus_connection()
14950
14951 2005-10-06  Christopher Aillon  <caillon@redhat.com>
14952
14953         * gnome/applet/applet.c:
14954         * gnome/applet/applet.h:
14955         * gnome/applet/icons/Makefile.am:
14956         Convey information about the current connection stage in the
14957         icons themselves instead of creating a separate progress bar.
14958
14959 2005-10-04  Robert Love  <rml@novell.com>
14960
14961         * src/nm-dbus-device.c: Use iw_ether_ntop(), not ether_ntoa_r(), to
14962           convert an ether_addr structure's MAC into a string, because the
14963           latter will drop leading zero's and uses lower-case, e.g. 7:3b:4
14964           versus 07:3B:04, while the former will not.
14965
14966 2005-10-04  Robert Love  <rml@novell.com>
14967
14968         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14969           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
14970           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
14971           default route in the 'Connection Information' dialog, send primary
14972           and secondary name servers in in "getProperties" DBUS method, add
14973           network_device_{get,set}_{primary,secondary}_dns(),  The primary and
14974           secondary domain name servers are crucial pieces of information
14975           that a user might need in debugging a network problem.
14976
14977 2005-10-04  Robert Love  <rml@novell.com>
14978
14979         * gnome/applet/applet-dbus-devices.c, gnome/applet/applet.c,
14980           gnome/applet/nm-device.c, gnome/applet/nm-device.h,
14981           gnome/applet/wireless-applet.glade, src/nm-dbus-device.c: Display
14982           default route in the 'Connection Information' dialog, send default
14983           route in "getProperties" DBUS method, add network_device_set_route(),
14984           and network_device_get_route().  The Gateway is a crucial piece of
14985           connection-related information that a user might need in debugging a
14986           network problem.
14987
14988 2005-10-03  Robert Love  <rml@novell.com>
14989
14990         * src/backends/NetworkManagerSuSE.c: Fix Glib error, GError must be
14991           NULL.
14992
14993 2005-10-02  Dan Williams  <dcbw@redhat.com>
14994
14995         * Shorten time taken to sleep by fastpathing bits of device deactivation
14996                 necessary for sleep.
14997
14998         * Fix issue where deactivating a device might deactivate the active
14999                 VPN connection, even if the VPN was not using the device.
15000
15001 2005-10-02  Dan Williams  <dcbw@redhat.com>
15002
15003         * gnome/applet/applet.c
15004                 - Adjust signal strength -> icon mapping values slightly
15005                         (so that 51% signal doesn't show a 75% icon) by adding
15006                         5% to the values. ex: > 5% now shows 25% icon, > 30%
15007                         shows 50% icon, etc.
15008
15009 2005-09-29  Robert Love  <rml@novell.com>
15010
15011         * src/NetworkManager.c: removed unused variable.
15012
15013 2005-09-28  Dan Williams  <dcbw@redhat.com>
15014
15015         Support for named + DBus, using Red Hat DBus patches for named.  You
15016         can find those patches here, with "dbus" in the patch's filename:
15017
15018                 http://cvs.fedora.redhat.com/viewcvs/devel/bind/
15019
15020         Don't forget the named dbus service file either.
15021
15022         Instead of writing a config file and spawing a named process, NM will
15023         use an already-running dbus-enabled named if it finds one.  NM will
15024         update named's forwarder configuration on the fly using dbus.
15025
15026         If there is no dbus-enabled named running, NM will automatically fall
15027         back to writing the most-recent DNS server information to /etc/resolv.conf
15028         and calling nm_system_update_dns() to kick the system's resolver.
15029
15030         Accordingly, all named-related configure-time options have been removed.
15031
15032 2005-09-26  Robert Love  <rml@novell.com>
15033
15034         * src/backends/NetworkManagerSuSE.c, (nm_system_get_dialup_config): Add
15035           ISDN support!
15036         * src/backends/NetworkManagerSuSE.c, (verify_and_return_provider): Fix
15037           bug in error path if "ASKPASSWORD" is "no".
15038
15039 2005-09-26  Robert Love  <rml@novell.com>
15040
15041         * src/named-manager/nm-named-manager.c: only '#' is officially a valid
15042           comment in /etc/resolv.conf -- ';' is not.
15043
15044 2005-09-19  Dan Williams  <dcbw@redhat.com>
15045
15046         * src/backends/NetworkManagerRedHat.c:
15047         * src/backends/NetworkManagerDebian.c:
15048         * src/backends/NetworkManagerSlackware.c:
15049         * src/backends/NetworkManagerGentoo.c:
15050         * src/backends/NetworkManagerSUSE.c:
15051         Fix invocations of "/sbin/ip address" to use short form instead
15052
15053 2005-09-19  Christopher Aillon  <caillon@redhat.com>
15054
15055         * src/nm-dbus-device.c: Don't assert when getting
15056         addresses of a not yet connected interface.
15057
15058         * gnome/applet/applet.c: Free icons if loading fails.
15059         Use translator-credits so translators can make themselves known.
15060
15061 2005-09-15  Christopher Aillon  <caillon@redhat.com>
15062
15063         * src/NetworkManagerAP.c:
15064         * src/NetworkManagerAP.h:
15065         * src/NetworkManagerDevice.c:
15066         Set a blacklist for certain common manufacturer default ESSIDs:
15067         APs with these ESSIDs are extremely likely to be completely
15068         different networks: connecting to one should not make NM
15069         auto-connect to every other AP with the same default ESSID.
15070
15071 2005-09-12  Christopher Aillon  <caillon@redhat.com>
15072
15073         * gnome/applet/wireless-applet.glade:
15074         The passphrase entry should also activate the default
15075
15076         * src/gnome-keyring-md5.c: Updated code from gnome-keyring
15077
15078         * gnome/applet/applet-dbus-devices.c:
15079         * gnome/applet/applet.c:
15080         * gnome/applet/nm-device.c:
15081         * gnome/applet/nm-device.h:
15082         * src/NetworkManagerUtils.c:
15083         * src/NetworkManagerUtils.h:
15084         * src/nm-dbus-device.c:
15085         I've got a fever, and the only cure for it is less ioctl.
15086         Make NM push IP data rather than make the applet open a socket
15087         to the device.
15088
15089 2005-09-10  Christopher Aillon  <caillon@redhat.com>
15090
15091         * gnome/applet/applet.c:
15092         * gnome/applet/applet-dbus-devices.c:
15093         * gnome/applet/applet-dbus-info.c:
15094         * gnome/applet/passphrase-dialog.c:
15095         * gnome/libnm_glib/libnm_glib.c:
15096         * gnome/vpn-properties/nm-vpn-properties.c:
15097         * src/autoip.c:
15098         * src/backends/NetworkManagerRedHat.c:
15099         * src/named-manager/nm-named-manager.c:
15100         * src/NetworkManagerAPList.c:
15101         * src/NetworkManager.c:
15102         * src/NetworkManagerDbus.c:
15103         * src/NetworkManagerDevice.c:
15104         * src/NetworkManagerPolicy.c:
15105         * src/NetworkManagerSystem.c:
15106         * src/nm-dbus-device.c:
15107         * src/nm-dbus-nm.c:
15108         * src/vpn-manager/nm-vpn-manager.c:
15109         * src/vpn-manager/nm-vpn-service.c:
15110         * test/libnm_glib_test.c:
15111         * test/nminfotest.c:
15112         * test/nmtestdevices.c:
15113         Fix a bunch of 'unused variable' compiler warnings
15114
15115         * NetworkManager.h:
15116         * gnome/applet/applet-dbus-info.c:
15117         * gnome/applet/applet-dbus-info.h:
15118         * gnome/applet/applet.c:
15119         * gnome/applet/applet.h:
15120         * src/NetworkManager.c:
15121         * src/NetworkManagerDbus.c:
15122         * src/NetworkManagerDbus.h:
15123         * src/NetworkManagerDevice.c:
15124         * src/NetworkManagerDevice.h:
15125         * src/NetworkManagerMain.h:
15126         * src/NetworkManagerWireless.c:
15127         * src/NetworkManagerWireless.h:
15128         * src/nm-dbus-nm.c:
15129         Make NetworkManager be smart about how frequently to scan
15130         based on its current state.  Remove the UI for choosing when
15131         to scan.  Scanning still may disabled completely by the user
15132         via the "Wireless Enabled" menu item.
15133
15134 2005-09-09  Christopher Aillon  <caillon@redhat.com>
15135
15136         * gnome/applet/applet.c:
15137         Also overlay the vpn connecting icons onto the wired icon,
15138         when appropriate.
15139
15140         * gnome/vpn-properties/nm-vpn-properties.glade:
15141         Clean up a few strings to use better grammar and proper casing.
15142
15143 2005-09-08  Christopher Aillon  <caillon@redhat.com>
15144
15145         * gnome/applet/vpn-connection.c:
15146         * gnome/applet/vpn-connection.h:
15147         Add nmwa_vpn_connection_is_activating ()
15148
15149         * gnome/applet/applet.c:
15150         * gnome/applet/applet.h:
15151         * gnome/applet/icons/nm-vpn-connecting*.png:
15152         Add new VPN connecting icons from Diana Fong <dfong@redhat.com>, letting
15153         the user know something's happening between clicking the VPN item and it
15154         actually being connected.
15155
15156 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15157
15158         * gnome/applet/applet-dbus-info.c: need to free attributes in the
15159         failure case as well.
15160
15161 2005-09-07  Rodrigo Moya <rodrigo@novell.com>
15162
15163         * gnome/panel/eggtrayicon.[ch]:
15164         * examples/python/systray/eggtrayicon.[ch]: updated code from libegg.
15165
15166 2005-09-07  Dan Williams  <dcbw@redhat.com>
15167
15168         Patch from Bill Moss <bmoss@clemson.edu>
15169         * src/applet-dbus.c
15170                 - (nmwa_dbus_filter): strip whitespace from beginning
15171                         and end of VPN login banner
15172
15173 2005-09-07  Dan Williams  <dcbw@redhat.com>
15174
15175         * The great VPN Manager rewrite of 2005
15176
15177 2005-09-07  Christopher Aillon  <caillon@redhat.com>
15178
15179         * gnome/applet/menu-items.c:
15180         * gnome/applet/nm-device.c:
15181         * gnome/applet/wireless-network.c:
15182         * gnome/libnm_glib/libnm_glib.c:
15183         * src/NetworkManagerDbusUtils.c:
15184         * vpn-daemons/vpnc/src/nm-vpnc-service.c:
15185         g_malloc0 doesn't return NULL
15186
15187 2005-09-06  Dan Williams  <dcbw@redhat.com>
15188
15189         Patch from Tomislav Vujec <tvujec@redhat.com>
15190         * src/NetworkManagerDevice.c
15191                 - (nm_get_device_by_udi): don't return a device when we
15192                         actually didn't find what we were looking for
15193
15194 2005-09-06  Christopher Aillon  <caillon@redhat.com>
15195
15196         * gnome/applet/applet-dbus-devices.c:
15197         * gnome/applet/applet-dbus-devices.h:
15198         * gnome/applet/applet-dbus.c:
15199         * src/NetworkManagerDbus.c:
15200         * src/NetworkManagerDbus.h:
15201         * src/NetworkManagerDevice.c:
15202         * src/nm-dbus-device.c:
15203         Make NM push updates about active device strength when it changes,
15204         rather than having the applet poll every 2s.
15205
15206 2005-09-05  Christopher Aillon  <caillon@redhat.com>
15207
15208         * gnome/applet/applet-dbus-devices.c: Remove duplicate call to
15209         network_device_set_strength
15210
15211 2005-09-04  Dan Williams  <dcbw@redhat.com>
15212
15213         Patch from Bill Nottingham <notting@redhat.com>
15214         * src/NetworkManagerDevice.c
15215                 - (nm_device_activation_cancel): reset the quit_activation flag
15216
15217 2005-09-04  Dan Williams  <dcbw@redhat.com>
15218
15219         * src/nm-activation-request.c
15220                 - (nm_act_request_unref): actually free the structure,
15221                         which we didn't seem to be doing before
15222
15223 2005-09-04  Dan Williams  <dcbw@redhat.com>
15224
15225         Patch from John Palmieri <johnp@redhat.com>
15226         * gnome/applet/applet-dbus-devices.c
15227                 - Fix up unreffing of DBusMessage objects
15228
15229 2005-09-04  Dan Williams  <dcbw@redhat.com>
15230
15231         Patch from John Palmieri <johnp@redhat.com>
15232         * gnome/applet/nm-device.c
15233                 - (nm_device_unref): clear network_device's memory _before_ freeing it
15234
15235 2005-09-02  Christopher Aillon  <caillon@redhat.com>
15236
15237         * gnome/applet/applet.c: Use a check menu item for Wireless Enabled
15238
15239 2005-09-02  Bill Nottingham  <notting@redhat.com>
15240
15241         * src/backends/NetworkManagerRedHat.c: use nm_warning, not nm_error
15242
15243 2005-09-01  Dan Williams  <dcbw@redhat.com>
15244
15245         * src/NetworkManager.c
15246                 - (nm_remove_device_from_list): rename to nm_remove_device
15247                 - (nm_hal_device_removed): call nm_remove_device()
15248
15249         * src/NetworkManagerDevice.c
15250                 - Change the NMWirelessScanCB member 'reschedule' which
15251                         wasn't used to 'force' to indicate that we need to
15252                         force a scan when adding a device
15253
15254         * src/nm-dbus-nm.c
15255                 - (nm_dbus_nm_sleep): Deactivate all devices and remove them
15256                         from the device list
15257                 - (nm_dbus_nm_wake): Re-add all devices to the device list
15258
15259 2005-09-01  Robert Love  <rml@novell.com>
15260
15261         * gnome/applet/applet.c: nmwa_update_info: iface is used uninitialized
15262           and the check "!iface" in the error case is probably never true.
15263
15264 2005-09-01  Dan Williams  <dcbw@redhat.com>
15265
15266         Patch from Bill Nottingham <notting@redhat.com>
15267         * src/backends/NetworkManagerRedHat.c
15268                 - Add initial dialup support to Red Hat/Fedora backend
15269
15270 2005-09-01  Dan Williams  <dcbw@redhat.com>
15271
15272         * gnome/applet/applet-dbus-devices.c
15273                 - Sort both wireless networks and devices again, which got
15274                         broken when removing threading
15275
15276 2005-09-01  Christopher Aillon  <caillon@redhat.com>
15277
15278         * gnome/applet/applet.c:
15279         Only show the "Stop/Start All Wireless Devices" menuitem
15280         if we actually have wireless devices.
15281
15282         * gnome/applet/applet-dbus-info.c:
15283         * gnome/applet/applet.c:
15284         * gnome/applet/other-network-dialog.c:
15285         * gnome/applet/vpn-password-dialog.c:
15286         Drop the gtk_dialog_run () calls in favor of connecting to
15287         "response" signals, needed now that the applet is not threaded.
15288
15289 2005-08-31  Dan Williams  <dcbw@redhat.com>
15290
15291         Patch from Bill Moss <bmoss@clemson.edu>
15292         * src/NetworkManagerDevice.c
15293                 - (nm_device_wireless_scan): fix scan timeout values
15294
15295 2005-08-30  Dan Williams  <dcbw@redhat.com>
15296
15297         * gnome/applet/wireless-applet.glade
15298                 - HIG-ify the Other Wireless Networks dialog a bit more
15299                 - Fix some potential segfaults in the info dialog
15300
15301 2005-08-30  Dan Williams  <dcbw@redhat.com>
15302
15303         * gnome/applet/applet-dbus-devices.c
15304                 - Remove nmwa_dbus_get_hal_device_string_property(); unused
15305
15306 2005-08-30  Dan Williams  <dcbw@redhat.com>
15307
15308         * gnome/applet/applet-dbus.[ch]
15309                 - Remove all the nmwa_dbus_call_method_xxxx functions since
15310                         they weren't being used anyway
15311
15312 2005-08-30  Bastien Nocera  <hadess@hadess.net>
15313
15314         * test/nmtestdevices.c: (print_usage), (main):
15315         Check the number of arguments, and fix a typo
15316
15317 2005-08-29  Dan Williams  <dcbw@redhat.com>
15318
15319         Patch from Dumitru Ciobarcianu <Dumitru.Ciobarcianu@iNES.RO>
15320         * gnome/applet/applet.c
15321                 - Define GTK_STOCK_INFO for GTK 2.6 and lower
15322
15323 2005-08-29  Dan Williams  <dcbw@redhat.com>
15324
15325         * gnome/applet/*
15326                 - Don't use threads any more.  Anything that blocks
15327                         (like gtk_dialog_run()) will  have to get fixed up which
15328                         should happen quickly.  We really only had threads to make
15329                         the animation smooth, and when everything got converted over
15330                         to DBus Pending Calls, the need for threads kind of went away
15331
15332 2005-08-29  Christopher Aillon  <caillon@redhat.com>
15333
15334         * gnome/applet/applet.c: Draw VPN connections as radio items
15335         since we don't yet support multiple VPNs.
15336         * gnome/applet/other-network-dialog.c: Use stock icon for Connect
15337         * gnome/vpn-properties/nm-vpn-properties.c: Use stock icon for Delete
15338
15339 2005-08-29  Dan Williams  <dcbw@redhat.com>
15340
15341         Patch from j@bootlab.org
15342         - Make --without-named work
15343         - Make --with-dhcdbd work correctly
15344
15345 2005-08-27  Josep Puigdemont i Casamajó  <josep.puigdemont@gmail.com>
15346
15347         * configure.in: Added "ca" to ALL_LINGUAS.
15348
15349 2005-08-26  Christopher Aillon  <caillon@redhat.com>
15350
15351         * Fix up VPN state handling between the applet and NetworkManager,
15352                 so that the applet doesn't show a VPN as connected when one
15353                 really is not
15354                         - The applet no longer has a pointer to the active VPN's
15355                                 name, but tracks each VPNs state individually
15356                         - NM no longer has a "getActiveVPNConnection" method
15357                         - NM no longer broadcasts the "VPNConnectionChange" signal
15358                         - NM now broadcasts a "VPNConnectionStateChange" signal
15359                                 whenever the state of a VPN changes
15360
15361 2005-08-26  Dan Williams <dcbw@redhat.com>
15362
15363         * gnome/applet/applet-dbus-devices.c
15364           gnome/applet/applet-dbus-vpn.c
15365                 - Remove calls to dbus_pending_call_ref() because we already
15366                         "own" the pending call
15367                 - Remove calls to dbus_pending_call_get_completed() because
15368                         when we are in the callback, the pending call is completed
15369                         by definition
15370
15371 2005-08-22  Dan Williams <dcbw@redhat.com>
15372
15373         Patch by Bill Moss <bmoss@clemson.edu>
15374         * src/dhcp-manager/nm-dhcp-manager.c
15375                 - (nm_dhcp_manager_cancel_transaction): Give dhcdbd/dhclient
15376                         some time to send out a RELEASE if they like
15377
15378 2005-08-22  Dan Williams <dcbw@redhat.com>
15379
15380         Noticed by Bill Moss <bmoss@clemson.edu>
15381         * src/NetworkManagerDbus.c
15382                 - (nm_dbus_get_user_key_for_network_cb): deactivate the device
15383                         instead of just cancelling its activation
15384
15385         * src/NetworkManagerDevice.c
15386                 - (nm_device_deactivate): some small cleanups
15387                 - (nm_device_set_user_key_for_network): deactivate the device
15388                         instead of just cancelling its activation
15389
15390 2005-08-22  Dan Williams <dcbw@redhat.com>
15391
15392         Noticed by Bill Moss <bmoss@clemson.edu>
15393         * src/NetworkManagerDevice.c
15394                 - (nm_device_wireless_scan): fix scan timeout, we were
15395                         waiting way too long for scans to complete
15396
15397 2005-08-22  Dan Williams <dcbw@redhat.com>
15398
15399         Patch from j@bootlab.org:
15400         * src/backends/NetworkManagerDebian.c
15401                 - Make the Debian backend work for static IP again
15402
15403 2005-08-20  Christopher Aillon  <caillon@redhat.com>
15404
15405         * gnome/applet/other-network-dialog.c:
15406         The "Create New Network" and "Connect to Other Network"
15407         dialogs share alot of code, but shouldn't share a window
15408         title.  Give them different ones.
15409
15410         * gnome/applet/wireless-applet.glade:
15411         * vpn-daemons/vpnc/auth-dialog/gnome-two-password-dialog.c:
15412         Some more minor UI tweaks.
15413
15414 2005-08-19  Christopher Aillon  <caillon@redhat.com>
15415
15416         * gnome/applet/other-network-dialog.c:
15417         * gnome/applet/wireless-applet.glade:
15418         Also need mnemonic widgets, and underline enabled.
15419
15420 2005-08-19  Dan Williams <dcbw@redhat.com>
15421
15422         * vpn-daemons/vpnc/nm-vpnc-service.c
15423                 - (vpnc_watch_cb): remove no-longer-relevant comment
15424                 - (write_config_option): new function, helper to write
15425                         config options to vpnc's stdin
15426                 - (nm_vpnc_config_write): use the new helper, make the
15427                         code shorter
15428
15429 2005-08-19  Christopher Aillon <caillon@redhat.com>
15430
15431         * gnome/applet/passphrase-dialog.c:
15432         * gnome/applet/wireless-applet.glade:
15433         Make the passphrase dialog response based, and treat
15434         responses other than OK (such as Esc, [X]) as a cancel.
15435
15436 2005-08-18  Christopher Aillon <caillon@redhat.com>
15437
15438         * initscript/Gentoo/NetworkManager:
15439         * initscript/RedHat/NetworkManager:
15440         * initscript/RedHat/NetworkManagerDispatcher:
15441         * initscript/SUSE/networkmanager:
15442         CVS remove these in place of .in replacements
15443
15444         * configure.in:
15445         * initscript/Gentoo/NetworkManager.in:
15446         * initscript/RedHat/NetworkManager.in:
15447         * initscript/RedHat/NetworkManagerDispatcher.in:
15448         * initscript/SUSE/networkmanager.in:
15449         These scripts now are generated so they work still when
15450         NM is built using a bindir other than /usr/bin
15451
15452 2005-08-18  Dan Williams <dcbw@redhat.com>
15453
15454         * gnome/applet/main.c
15455                 - Revert previous change for --no-session since
15456                         --sm-disable does the same thing
15457
15458 2005-08-18  Dan Williams <dcbw@redhat.com>
15459
15460         * gnome/applet/applet-dbus-info.c
15461                 - (nmi_dbus_create_error_message): new function
15462                 - (nmi_dbus_get_key_for_network): correctly use dbus error creation
15463                         functions.  Also don't check for both device _and_ network before
15464                         asking for a user's key, because we may not have gotten all our
15465                         networks back from NM quite yet (due to the dbus pending calls
15466                         coming in later).  Fixes a hang in NM/nm-applet.
15467
15468         * src/NetworkManagerDbus.c
15469                 - (nm_dbus_get_user_key_for_network_cb): handle error conditions in a
15470                         slightly more sane manner, even though we are still broken for
15471                         certain other error conditions.
15472                 - (nm_dbus_get_user_key_for_network): need to pass the network's essid
15473                         to the info-daemon too
15474
15475         * src/NetworkManagerDevice.c
15476                 - Fix some debug messages to be info messages instead
15477
15478 2005-08-18  Dan Williams <dcbw@redhat.com>
15479
15480         * gnome/applet/main.c
15481                 - Add new "--no-session" parameter that disables applet
15482                         session management, ie for testing
15483
15484 2005-08-18  Christopher Aillon <caillon@redhat.com>
15485
15486         * gnome/applet/other-network-dialog.c:
15487         * gnome/applet/wireless-applet.glade: More mnemonics
15488
15489 2005-08-17  Robert Love  <rml@novell.com>
15490
15491         * initscript/SUSE/networkmanager: update
15492
15493 2005-08-17  Dan Williams  <dcbw@redhat.com>
15494
15495         * Tag NM_0_4_1_RELEASE
15496
15497 2005-08-17  Christopher Aillon  <caillon@redhat.com>
15498
15499         * gnome/applet/applet.c: More translatable string cleanup
15500
15501
15502 2005-08-17  Dan Williams  <dcbw@redhat.com>
15503
15504         * gnome/applet/applet-dbus-info.c
15505                 - (nmi_dbus_get_key_for_network): Grab new "new_key" parameter
15506                         from the dbus message, which tells us to unconditionally
15507                         ask the user for a new key.  Otherwise, we pull the key from
15508                         the keyring and return it.  If we fail to get the key from the
15509                         keyring, we ask the user for a new key.
15510                 - (nmi_dbus_get_network_key): new function to grab the key for
15511                         an essid from the keyring.
15512                 - (nmi_dbus_get_network_properties): don't access the keyring here.
15513                         Also, don't return any key in the dbus message.
15514
15515         * src/NetworkManagerDbus.[ch]
15516                 - (nm_dbus_get_user_key_for_network): Add "new_key" parameter to
15517                         indicate that we unconditionally want a new key.  This function
15518                         is now also used to get keys from the info-daemon which are
15519                         pre-stored, not just for asking the user for a new key.  The
15520                         "new_key" parameter indicates whether or not we wish to ask the
15521                         user for a new key.
15522                 - (nm_dbus_get_network_data_cb): we no longer get a key from the
15523                         info-daemon in the return message, so use NULL instead.  The
15524                         key will be filled in at connect time by calling
15525                         nm_dbus_get_user_key_for_network()
15526
15527         * src/NetworkManagerDevice.c
15528                 - (nm_device_wireless_configure): update for "new_key" param to
15529                         nm_dbus_get_user_key_for_network().  We initially set new_key
15530                         to FALSE to see if we have a stored key in the info-daemon, but
15531                         if the connection is unsuccessful at this stage we request a
15532                         new one
15533
15534 2005-08-17  Dan Williams  <dcbw@redhat.com>
15535
15536         * gnome/applet/icons/nm-no-connection.png
15537           gnome/applet/icons/nm-device-wired.png
15538                 - Use Diana's new RJ45 connector icons
15539
15540 2005-08-17  Dan Williams  <dcbw@redhat.com>
15541
15542         * src/NetworkManagerPolicy.c
15543                 - (nm_policy_device_change_check): clarify switching rules if
15544                         both new and old devices are valid; mainly, don't switch
15545                         away from user-requested wireless connection back to a wired
15546                         one
15547
15548 2005-08-17  Dan Williams  <dcbw@redhat.com>
15549
15550         * gnome/applet/Makefile.am
15551                 - Relocate the applet to /usr/bin since it is no longer
15552                         executed by anything, but directly by the user
15553
15554 2005-08-17  Dan Williams  <dcbw@redhat.com>
15555
15556         Patch from Bill Moss <bmoss@clemson.edu>
15557
15558         * gnome/applet/applet-dbus-info.[ch]
15559                 - (nmi_save_network_info): save timestamp for network if it
15560                         was a change requested by the user
15561                 - (nmi_dbus_update_network_info): get user_requested from dbus
15562                         message and pass to nmi_save_network_info()
15563
15564         * gnome/applet/applet.c
15565                 - (nmwa_update_network_timestamp): remove
15566                 - (nmwa_menu_item_activate): don't set timestamp on networks
15567                         here, only after a successful connect in nmi_save_network_info()
15568
15569         * src/NetworkManagerDbus.[ch]
15570                 - (nm_dbus_update_network_info): pass user_requested into the 
15571                         dbus message
15572
15573         * src/NetworkManagerPolicy.c
15574                 - (nm_policy_activation_finish): pass user_requested to
15575                         nm_dbus_update_network_info()
15576
15577 2005-08-16  Robert Love  <rml@novell.com>
15578
15579         * gnome/applet/applet.c: Better "Dial Up" menu item.
15580
15581 2005-08-16  Robert Love  <rml@novell.com>
15582
15583         * gnome/applet/applet.c: use GTK_STOCK_INFO not PROPERTIES for the
15584           "Connection Information" menu item.
15585
15586 2005-08-16  Dan Williams  <dcbw@redhat.com>
15587
15588         Patch from j@bootlab.org
15589         * vpn-daemons/vpnc/Makefile.am: Fix for autoreconf
15590
15591         * configure.in: allow specifying the path to dhcdbd
15592
15593 2005-08-16  Robert Love  <rml@novell.com>
15594
15595         Patch from j@bootlab.org
15596         * src/backends/NetworkManagerDebian.c, src/backends/interface_parser.c,
15597           src/backends/interface_parser.h: Debian dialup support.
15598
15599 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15600
15601         * vpn-daemons/vpnc/properties/nm-vpnc-dialog.glade:
15602         * gnome/applet/applet.c: Add some mnemonics for VPNC
15603
15604         * vpn-daemons/.cvsignore: fix this up a little bit
15605
15606 2005-08-16  Robert Love  <rml@novell.com>
15607
15608         * src/backends/NetworkManagerSuSE.c: improve the SUSE-backend dial up
15609           support.
15610
15611 2005-08-16  Christopher Aillon  <caillon@redhat.com>
15612
15613         * gnome/applet/applet.c: Split markup out of translatable strings
15614         and clean up logic a little bit.  (fixes #309012)
15615
15616 2005-08-15  Christopher Aillon  <caillon@redhat.com>
15617
15618         * gnome/vpn-properties/nm-vpn-properties.c:
15619         * gnome/vpn-properties/nm-vpn-ui-interface.h:
15620         * vpn-daemons/vpnc/properties/nm-vpnc.c:
15621         Makeshift fix to remove newlines from translatable strings.
15622         Note that we now return an allocated string, so callers of
15623         get_confirmation_details () must now call g_free () on the
15624         result. (fixes #309033).
15625
15626 2005-08-12  Robert Love  <rml@novell.com>
15627
15628         * gnome/applet/applet-dbus.c: remove newlines from translatable
15629           strings--not needed here anyway. (fix b.g.o #309011)
15630         * src/nm-netlink.monitor.c: don't translate "%s" (fix b.g.o #172391)
15631
15632 2005-08-11  Robert Love  <rml@novell.com>
15633
15634         * gnome/applet/applet.c: mark string as translatable.
15635
15636 2005-08-11  Robert Love  <rml@novell.com>
15637
15638         * initscript/SUSE/networkmanager: update.
15639
15640 2005-08-11  Dan Williams  <dcbw@redhat.com>
15641
15642         * src/nm-dhcp-manager.c
15643                 - (nm_dhcp_manager_get_ip4_config): if for some reason we don't get
15644                         an gateway returned from DHCP, try to use the address of the DHCP
15645                         server as the gateway instead.  Found by Ralf Ertzinger.
15646
15647 2005-08-10  Robert Love  <rml@novell.com>
15648
15649         * gnome/applet/applet.c: Make applet->dbus_thread joinable so we can
15650           wait for it on exit; call exit() in nmwa_destroy() to jump ship.
15651
15652 2005-08-10  Dan Williams  <dcbw@redhat.com>
15653
15654         Patch from Bill Moss <bmoss@clemson.edu>
15655         * Consolidate writes of access point information updates to the info daemon
15656                 so that we only do it when the connection to the access point was
15657                 successful.  Also consolidates updates to GConf in the Gnome applet.
15658
15659         * src/nm-netlink-monitor.c
15660                 - Silence compile warning when calling g_object_new()
15661
15662 2005-08-08  Dan Williams  <dcbw@redhat.com>
15663
15664         Patch from Steev <steev@steev.net>:
15665         * src/backends/NetworkManagerGentoo.c
15666                 - Stub new dialup backend functions
15667
15668 2005-08-08  Dan Williams  <dcbw@redhat.com>
15669
15670         Patch from Colin Slater:
15671         * src/backends/NetworkManagerGentoo.c
15672                 - (nm_system_update_dns): Fix exit status check for restarting
15673                         nscd
15674
15675 2005-08-05  Robert Love  <rml@novell.com>
15676
15677         * NetworkManager.h,
15678           gnome/applet/applet-dbus-devices.c,
15679           gnome/applet/applet-dbus-devices.h,
15680           gnome/applet/applet-dbus.c,
15681           gnome/applet/applet.c,
15682           gnome/applet/applet.h,
15683           src/NetworkManager.c,
15684           src/NetworkManagerMain.h,
15685           src/NetworkManagerSystem.h,
15686           src/backends/NetworkManagerRedHat.c,
15687           src/backends/NetworkManagerSuSE.c,
15688           src/nm-dbus-nm.c: basic dialup support using distro infrastructure
15689
15690 2005-08-05  Robert Love  <rml@novell.com>
15691
15692         * gnome/applet/other-network-dialog.c: default the adhoc network to the
15693           machine's hostname to make adhoc creation idiot-proof.
15694
15695 2005-08-04  Robert Love  <rml@novell.com>
15696
15697         * gnome/applet/other-network-dialog.c: fix leak. "label" needs to be
15698           freed.
15699
15700 2005-08-04  Dan Williams  <dcbw@redhat.com>
15701
15702         * gnome/applet/applet-dbus-info.c
15703           gnome/applet/applet-dbus-info.h
15704                 - (nmi_dbus_update_network_auth_method->nmi_save_network_info): generalize
15705                         to store key, key type, and auth method rather than just auth method
15706                 - (nmi_dbus_update_network_info): new function
15707                 - (nmi_dbus_info_message_handler): updateNetworkAuthMethod -> updateNetworkInfo
15708
15709         * gnome/applet/passphrase-dialog.c
15710                 - (nmi_passphrase_dialog_ok_clicked): call nmi_save_network_info() instead
15711                         of saving the info ourselves
15712
15713         * gnome/libnm_glib/libnm_glib.c
15714                 - Remove the stupid version check for dbus
15715
15716         * src/NetworkManagerAP.c
15717           src/NetworkManagerAP.h
15718                 - (nm_ap_get_enc_key_source): return 'const char *' rather than 'char *'
15719
15720         * src/NetworkManagerDbus.c
15721           src/NetworkManagerDbus.h
15722                 - (nm_dbus_update_network_auth_method -> nm_dbus_update_network_info): Update
15723                         more than just the auth method
15724
15725         * src/NetworkManagerDevice.c
15726                 - Update network info at the appropriate times
15727
15728 2005-07-29  Ray Strode  <rstrode@redhat.com>
15729
15730         * src/NetworkManager.c (nm_info_handler): don't use input as format
15731         string (Spotted by Ian Jackson).
15732
15733 2005-07-27  Dan Williams  <dcbw@redhat.com>
15734
15735         * src/nm-dbus-nm.c
15736           src/nm-dbus-net.c
15737                 - Random cleanups of spacing
15738
15739         * gnome/applet/applet.h
15740           gnome/applet/other-network-dialog.c
15741           gnome/applet/passphrase-dialog.c
15742                 - Conslidate usage of NMWAEncryptionKeyTypes enum
15743
15744         Patch from Bill Moss:
15745                 - Make Other Wireless Networks work again with encryption keys
15746
15747 2005-07-26  Dan Williams  <dcbw@redhat.com>
15748
15749         Patch from Steev <steev@steev.net>:
15750         * src/backends/NetworkManagerGentoo.c
15751           src/backends/Makefile.am
15752                 - Fix up Gentoo backend
15753
15754 2005-07-26  Robert Love  <rml@novell.com>
15755
15756         * src/backends/NetworkManagerSuSE.c: misc. cleanup
15757
15758 2005-07-25  Robert Love  <rml@novell.com>
15759
15760         * gnome/applet/applet.c: make the "Wired" menu item a radio button,
15761           in the same group as the wireless networks, since they are all
15762           mutually exclusive.
15763
15764 2005-07-24  Ray Strode  <rstrode@redhat.com>
15765
15766         * src/nm-netlink-monitor.c (nm_netlink_monitor_new): 
15767         remove unneeded NULL arg from g_object_new().  Any
15768         warnings caused by not having the extra NULL are just a
15769         result of a bug in glib 2.7.0 - 2.7.2.
15770
15771 2005-07-22  Robert Love  <rml@novell.com>
15772
15773         * gnome/libnm_glib/libnm_glib.c: support D-BUS version 0.35, too
15774
15775 2005-07-22  Robert Love  <rml@novell.com>
15776
15777         * src/nm-netlink-monitor.c: g_object_new() needs at least three
15778           parameters (gcc 4.0.2 warning fix).
15779
15780 2005-07-18  Robert Love  <rml@novell.com>
15781
15782         Suggested by Aaron Bockover (abockover@novell.com)
15783         * gnome/applet/other-network-dialog.c: ASCII is an acronym, thus
15784           s/Ascii/ASCII
15785         * gnome/applet/passphrase-dialog.c: ditto
15786         * gnome/applet/wireless-applet.glade: ditto
15787
15788 2005-07-13  Dan Williams  <dcbw@redhat.com>
15789
15790         Patch from Ray Strode <halfline@gmail.com>
15791         * vpn-daemons/vpnc/nm-vpnc-service.c
15792                 - Don't let vpnc daemonize, fixes some races with PID file reading
15793
15794 2005-07-13  Dan Williams  <dcbw@redhat.com>
15795
15796         Patch from Ray Strode <halfline@gmail.com>
15797         * Random cleanups for strict CFLAGS
15798
15799 2005-07-07  Dan Williams  <dcbw@redhat.com>
15800
15801         Patch from Derek Atkins <warlord@MIT.EDU>
15802         * src/nm-dbus-net.c:
15803                 - (nm_dbus_get_ap_from_object_path): differentiate similar ESSIDs
15804
15805 2005-07-07  Dan Williams  <dcbw@redhat.com>
15806
15807         Patch from Jos Dehaes <jos_dehaes@fastmail.fm>
15808         * src/backends/NetworkManagerGentoo.c
15809                 - Gentoo backend Static IP nameserver fixes
15810                 - General Gentoo backend goodness
15811
15812 2005-07-07  Dan Williams  <dcbw@redhat.com>
15813
15814         Patch from Bastien Nocera:
15815         * gnome/applet/applet.c
15816                 - Fix up error reporting when icons or glade files are missing
15817
15818 2005-07-07  Robert Love  <rml@novell.com>
15819
15820         * gnome/applet/applet.c: do not draw the VPN menu's seperator if there
15821           are not any VPN connections above it.
15822
15823 2005-07-07  Robert Love  <rml@novell.com>
15824
15825         * gnome/applet/applet.c: whoops, left some "dog" debugging code in.
15826
15827 2005-07-05  Robert Love  <rml@novell.com>
15828
15829         * src/NetworkManagerSystem.c: bail out if asked to set a gateway of
15830           zero.
15831
15832 2005-07-05  Robert Love  <rml@novell.com>
15833
15834         * src/NetworkManagerDevice.c: use link-local (autoip) on DHCP failure
15835           on wired or unencrypted wireless.
15836
15837 2005-07-01  Robert Love  <rml@novell.com>
15838
15839         * src/NetworkManagerSystem.c: Print the error via strerror().
15840
15841 2005-06-30  Robert Love  <rml@novell.com>
15842
15843         * gnome/vpn-properties/nm-vpn-properties.c: display an error dialog and
15844           then exit if the glade file is not found.  currently the application
15845           just hangs.
15846
15847 2005-06-30  Robert Love  <rml@novell.com>
15848
15849         * src/nm-dbus-nm.c: Patch by Bill Moss <bmoss@clemson.edu> to
15850           explicitly up all interfaces on wake from sleep.
15851
15852 2005-06-30  Robert Love  <rml@novell.com>
15853
15854         * gnome/applet/applet.c: Add right-click menu item "Connection Info"
15855           with information about the currently active connection.
15856         * gnome/applet/applet.h: (ditto)
15857         * gnome/applet/wireless-applet.glade: (ditto), new file
15858
15859 2005-06-30  Robert Love  <rml@novell.com>
15860
15861         * src/NetworkManagerDevice.c: g_malloc0 cannot fail.
15862         * src/nm-dbus-nm.c: print when we sleep and wake up.
15863         * gnome/applet/menu-items.c: whitespace, misc. cleanup.
15864         * configure.in: look in "/usr/sbin" for dhcdbd, too. (it shouldn't be
15865           in /sbin unless D-BUS is, folks).
15866         * README: update to reflect nm-applet replacing NetworkManagerInfo.
15867
15868 2005-06-27  Robert Love  <rml@novell.com>
15869
15870         * src/nm-dbus-nm.c: fix "setWirelessEnabled" call for the enabling
15871           case.
15872
15873 2005-06-27  Robert Love  <rml@novell.com>
15874
15875         * gnome/applet/applet.c: make the 'Wireless Network Discovery' menu
15876           items radios.
15877
15878 2005-06-26  Robert Love  <rml@novell.com>
15879
15880         * src/NetworkManagerDevice.c: be specific about which device in
15881           nm_info() message.
15882
15883 2005-06-23  Adam Weinberger  <adamw@gnome.org>
15884
15885         * src/nm-netlink-monitor.c: correct spelling error.
15886
15887 2005-06-23  Robert Love  <rml@novell.com>
15888
15889         * gnome/applet/applet-dbus-info.c: gnome keyring support!
15890         * gnome/applet/passphrase-dialog.c: more of that keyring!
15891
15892 2005-06-23  Robert Love  <rml@novell.com>
15893
15894         * configure.in: remove extraneous GNOMEKEYRING directives.
15895         * gnome/applet/Makefile.am: s/GNOMEKEYRING/GNOME_KEYRING/.
15896         * gnome/applet/applet.c: nmwa_icons_init: make style local.
15897         * gnome/applet/passphrase-dialog.c: whitespace.
15898
15899 2005-06-23  Robert Love  <rml@novell.com>
15900
15901         * src/NetworkManagerDevice.c: division in assignment was flipped.
15902
15903 2005-06-23  David Zeuthen  <david@fubar.dk>
15904
15905         * gnome/applet/vpn-password-dialog.c (child_stdout_data_cb): Send a
15906         signal to the child to indicate that we got what we wanted when we
15907         see two new-lines right after each other.
15908         (nmwa_vpn_request_password): Pass a structure with several members
15909         instead of just the passwords
15910
15911 2005-06-23  Dan Williams <dcbw@redhat.com>
15912
15913         * src/NetworkManager.c
15914           src/NetworkManagerMain.h
15915                 - (nm_get_hal_ctx): new function, move Hal initialization code here
15916                 - (nm_hal_init): new function, init libhal context then add devices
15917                 - (nm_hal_deinit): new function, clean up libhal context
15918                 - (nm_data_free): Move Hal cleanup here
15919                 - (main): check whether Hal is running, and if so, get a list of
15920                         network devices from it
15921
15922         * src/NetworkManagerDbus.c
15923                 - (nm_dbus_signal_filter): trap NameOwnerChanged signals for Hal,
15924                         and when it appears, get a list of network devices from it.  If
15925                         Hal goes away, clean up the libhal context
15926
15927 2005-06-22  Robert Love  <rml@novell.com>
15928
15929         * dispatcher-daemon/NetworkManagerDispatcher.c: fix FIXME: check
15930           permissions of scripts before executing.
15931
15932 2005-06-21  Robert Love  <rml@novell.com>
15933
15934         * initscript/SUSE/networkmanager: update.
15935         * src/backends/NetworkManagerSuSE.c: cleanup.
15936
15937 2005-06-21  Robert Love <rml@novell.com>
15938
15939         * gnome/applet/applet.c: use menu mnemonics.
15940         * gnome/applet/menu-items.c: (ditto)
15941
15942 2005-06-21  Robert Love  <rml@novell.com>
15943
15944         * applet/applet-dbus-devices.c: mark non-static functions static.
15945         * applet/applet-dbus-vpn.c: (ditto)
15946         * applet/applet.c: (ditto)
15947         * applet/nm-device.h: (ditto)
15948         * applet/other-network-dialog.c: (ditto)
15949         * applet/passphrase-dialog.c: (ditto)
15950         * NetworkManager.c: (ditto)
15951         * NetworkManagerDbus.c: (ditto)
15952         * NetworkManagerDevice.c: (ditto)
15953         * NetworkManagerPolicy.c: (ditto)
15954         * NetworkManagerUtils.c: (ditto)
15955         * NetworkManagerWireless.c: (ditto)
15956         * NetworkManagerWireless.h: (ditto)
15957         * nm-netlink-monitor.c: (ditto)
15958         * applet/applet-dbus-info.c: (ditto), add FIXME's.
15959         * vpn-manager/nm-dbus-vpn.c: (ditto), remove shadowed variable.
15960         * autoip.c: include autoip.h.
15961         * autoip.h: new file.  define get_autoip().
15962         * nm-netlink-monitor.h: define nm_netlink_close_connection().
15963         * NetworkManagerDbus.h: remove duplicate definitions.
15964
15965 2005-06-20  Robert Love  <rml@novell.com>
15966
15967         * Makefile.am: Add missing intltool-foo.in generated files to
15968           EXTRA_DIST so that 'distcheck' works.  Also add DISTCLEANFILES
15969           with the start of stuff to cleanup on 'distclea'.
15970         * configure.in: add AC_PROG_INTLTOOL macro so that we do the intltool
15971           stuff right and 'distcheck' works.
15972         * po/POTFILES.in: Remove examples/python/systray/eggtrayicon.c.  If
15973           we keep it, we need to add all of examples/* to EXTRA_DIST and do
15974           Makefile.am for each.  And systray/Makefile needs to be redone.
15975
15976 2005-06-19  Dan Williams <dcbw@redhat.com>
15977
15978         * src/NetworkManagerDevice.c
15979         - (nm_device_wireless_process_scan_results): scan every 20s when
15980           disconnected and scanning is ALWAYS_SCAN or WHEN_UNASSOCIATED
15981
15982 2005-06-19  Dan Williams <dcbw@redhat.com>
15983
15984         * WEXT_DEBUG->IOCTL_DEBUG, extend checking to all ioctl() calls
15985
15986 2005-06-18  Ray Strode <rstrode@redhat.com>
15987
15988         * src/nm-netlink-monitor.c 
15989         (nm_netlink_monitor_event_handler): check for the presence
15990         of either error condition not both. 
15991         
15992         (nm_netlink_monitor_error_handler): emit error signal if
15993         error occurs.
15994
15995         (nm_netlink_monitor_event_handler),
15996         (nm_netlink_monitor_error_handler),
15997         (nm_netlink_monitor_disconnect_handler): if an 
15998         assertion fails disconnect the event handler to prevent 
15999         infinite loops.
16000
16001         * src/nm-netlink-monitor.h: add new error condition
16002         NM_NETLINK_MONITOR_ERROR_WAITING_FOR_SOCKET_DATA
16003
16004 2005-06-18  Ray Strode <rstrode@redhat.com>
16005
16006         * src/nm-netlink-monitor.c 
16007         (nm_netlink_monitor_event_handler): remove bogus < 0
16008         check on unsigned value and return early if the kernel
16009         didn't send any bytes.
16010
16011 2005-06-17  Robert Love  <rml@novell.com>
16012
16013         * initscript/SUSE/networkmanager: Change the Provides and default
16014         run levels
16015
16016 2005-06-16  Dan Williams <dcbw@redhat.com>
16017
16018         Patch from Robert Love:
16019         * gnome/applet/applet.c
16020                 - Beautify some applet menu item names
16021
16022 2005-06-17  David Zeuthen  <davidz@redhat.com>
16023
16024         * gnome/vpn-properties/nm-vpn-ui-interface.h: Require users of this
16025         API to define NM_VPN_API_SUBJECT_TO_CHANGE to acknowledge API churn.
16026         Also add new methods can_export, import_file and export.
16027
16028         * gnome/vpn-properties/nm-vpn-properties.glade: Add an Export button
16029         to the main UI
16030
16031         * gnome/vpn-properties/nm-vpn-properties.c:
16032         Define NM_VPN_API_SUBJECT_TO_CHANGE so we can actually include
16033         nm-vpn-ui-interface.h.
16034         (update_edit_del_sensitivity): Also update "Export" sensitivity
16035         (add_vpn_connection): Also add new SVC_NAME column
16036         (import_settings): New function
16037         (retrieve_data_from_selected_connection): New function
16038         (edit_cb): Use retrieve_data_from_selected_connection to simplify
16039         this function
16040         (export_cb): New function
16041         (init_app): Also setup the "export" widget
16042         (main): Support the --import-service and --import-file commandline
16043         arguments
16044
16045         * gnome/libnm_glib/libnm_glib.c (libnm_glib_dbus_filter): Also support
16046         D-BUS 0.34
16047
16048 2005-06-16  Dan Williams <dcbw@redhat.com>
16049
16050         Patch from Robert Love:
16051         * gnome/applet/menu-items.c
16052                 - (network_menu_item_new): pass -1 as wireless network
16053                         menu items height size request rather than ascent / 2
16054
16055 2005-06-16  Dan Williams <dcbw@redhat.com>
16056
16057         * Clean up wording in Wireless Scan Methods menu items and constants
16058
16059 2005-06-16  Robert Love  <rml@novell.com>
16060
16061         * po/POTFILES.in
16062                 - remove gtkcell* files
16063
16064 2005-06-15  Dan Williams <dcbw@redhat.com>
16065
16066         Patch from Robert Love: make the applet stetic
16067
16068         * gnome/applet/Makefile.am
16069                 - Don't compile the gtkcellview and gtkcellrendererprogress files
16070
16071         * gnome/applet/gtkcellview.h
16072           gnome/applet/gtkcellview.c
16073           gnome/applet/gtkcellrendererprogress.h
16074           gnome/applet/gtkcellrendererprogress.c
16075                 - Removed
16076
16077         * gnome/applet/menu-items.c
16078                 - Progress bars are 5:1 size ratio
16079                 - Use GTK progress bars rather than internal ones
16080
16081 2005-06-15  Dan Williams <dcbw@redhat.com>
16082
16083         Patch from Robert Love:
16084         * initscript/SUSE/networkmanager
16085                 - Fix typo
16086
16087 2005-06-15  Dan Williams <dcbw@redhat.com>
16088
16089         * src/backends/NetworkManagerSuSE.c
16090           src/backends/NetworkManagerRedHat.c
16091           src/backends/NetworkManagerDebian.c
16092                 - (set_ip4_config_from_resolv_conf): Fix typo I made, '==' -> '='
16093
16094 2005-06-15  Dan Williams <dcbw@redhat.com>
16095
16096         * src/backends/NetworkManagerDebian.c
16097                 - Add nm_system_device_get_use_dhcp() to debian backend
16098
16099         Patch from Kay Sievers:
16100         * src/backends/NetworkManagerSuSE.c
16101                 - Update debian backend for static IP nameservers
16102
16103         * src/NetworkManagerDevice.c
16104                 - Actually set the device to use static IP or DHCP rather
16105                         than always DHCP
16106
16107 2005-06-15  Dan Williams <dcbw@redhat.com>
16108
16109         Patch from Thom May:
16110         * src/backends/NetworkManagerDebian.c
16111                 - Update debian backend for static IP nameservers
16112
16113 2005-06-15  Dan Williams <dcbw@redhat.com>
16114
16115         Patches from Robert Love:
16116         * gnome/applet/wireless-applet.glade
16117                 - Tighten up wording
16118
16119         * src/NetworkManagerDevice.c
16120                 - Remove misplaced ';'
16121
16122         * configure.in
16123           initscript/Makefile.am
16124           initscript/SUSE/Makefile.am
16125           initscript/SUSE/networkmanager
16126                 - Add SUSE initscript
16127
16128 2005-06-12  David Zeuthen  <davidz@redhat.com>
16129
16130         * gnome/vpn-properties/nm-vpn-ui-interface.h: New file
16131
16132         * gnome/vpn-properties/nm-vpn-properties.glade: New file
16133
16134         * gnome/vpn-properties/nm-vpn-properties.c: New file
16135
16136         * gnome/vpn-properties/Makefile.am: New file
16137
16138         * src/vpn-manager/nm-vpn-manager.h: Rework prototypes to take an
16139         array of passwords
16140
16141         * src/vpn-manager/nm-vpn-manager.c
16142         (nm_vpn_manager_activate_vpn_connection): Take an array of passwords
16143         instead of just a single one
16144
16145         * src/vpn-manager/nm-dbus-vpn.c:
16146         (nm_dbus_vpn_get_vpn_connection_properties): Also append service_name
16147         here
16148         (nm_dbus_vpn_activate_connection): Rework to take an array of passwords
16149
16150         * gnome/applet/vpn-password-dialog.h (nmwa_vpn_request_password): 
16151         Change the interface here to give a list of passwords. Also, don't
16152         require username, but do require service
16153
16154         * gnome/applet/vpn-password-dialog.c: Look up the VPN .name files for
16155         the binary for the auth-dialog and use that instead of putting up a
16156         dialog asking for a single password
16157
16158         * gnome/applet/vpn-connection.[ch]: Don't remember the user_name,
16159         however do remember the service
16160
16161         * gnome/applet/main.c (main): Setup i18n
16162
16163         * gnome/applet/applet.c (nmwa_update_state): Add a line "VPN
16164         connection to '%s'" to the tooltip if we are connected using VPN
16165         (nmwa_menu_vpn_item_activate): Check last_attempt_success gconf
16166         key to determine whether we the auth-dialog needs to
16167         reprompt. Also cope with the fact that the auth-dialog now returns
16168         an array of passwords.
16169         (nmwa_menu_configure_vpn_item_activate): New handler for
16170         "Configure VPN..." menu item
16171         (nmwa_menu_add_vpn_menu): Add the "Configure VPN..." menu item
16172         (is_vpn_available): New function to determine if we got any
16173         NM-compatible VPN software installed
16174         (nmwa_menu_add_devices): Use is_vpn_available to add VPN menu
16175         items only if we have NM-compatible VPN software installed
16176         (nmwa_gconf_vpn_connections_notify_callback): Slightly rework the
16177         logic for detecting when VPN connections are removed
16178
16179         * gnome/applet/applet-dbus.h: Removed the prototypes for 
16180         nmwa_dbus_vpn_activate_connection, nmwa_dbus_vpn_deactivate_connection
16181         since these are defined elsewhere
16182
16183         * gnome/applet/applet-dbus.c (set_vpn_last_attempt_status): New
16184         function used to keep track of whether the last attempt succeded
16185         (nmwa_dbus_filter): Update last_attempt according to whether the
16186         VPN connection could be established or not
16187
16188         * gnome/applet/applet-dbus-vpn.h (nmwa_dbus_vpn_deactivate_connection): 
16189         Change prototype to take an array of passwords, not just a single
16190         password
16191
16192         * gnome/applet/applet-dbus-vpn.c (nmwa_dbus_vpn_properties_cb): Only
16193         update service, not user
16194         (nmwa_dbus_vpn_remove_one_vpn_connection): Check that applet->
16195         dbus_active_vpn_name is not NULL before using it
16196         (nmwa_dbus_vpn_activate_connection): Send the passwords as a
16197         string array instead of assuming a single password
16198
16199         * gnome/applet/applet-dbus-info.c:
16200         (nmi_dbus_get_vpn_connection_properties): Use the logged in user for
16201         user name; don't read from gconf
16202
16203         * gnome/applet/Makefile.am: Also export SYSCONFDIR and 
16204         VPN_NAME_FILES_DIR
16205
16206         * gnome/Makefile.am (SUBDIRS): Add vpn-properties
16207
16208         * configure.in: Add checks for gmodule-2.0.
16209         Generate gnome/vpn-properties/Makefile. Don't generate any Makefile's
16210         in vpn-daemons nor vpn-daemons/vpnc. We have separate autotooled
16211         projects under vpn-daemons now.  See vpn-daemons/vpnc/Changelog
16212         for details
16213
16214         * vpn-daemons/Makefile.am: Removed
16215
16216         * vpn-daemons/README: New file to describe extensions points for VPN
16217         software
16218
16219 2005-06-10  Dan Williams <dcbw@redhat.com>
16220
16221         * src/backends/NetworkManagerRedHat.c
16222                 - (get_current_profile_name): new function, grab current network profile name from
16223                         /etc/sysconfig/network
16224                 - (set_ip4_config_from_resolv_conf): new function, parse a resolv.conf and
16225                         update an IP4 Config structure's settings from it
16226                 - (nm_system_device_get_system_config): if we're using static IP on this device,
16227                         get DNS info from current network profile
16228
16229 2005-06-09  Dan Williams <dcbw@redhat.com>
16230
16231         Patch from Robert Love:
16232         * src/NetworkManagerDevice.c
16233           src/NetworkManagerUtils.c
16234                 - 64-bit build fixes
16235
16236 2005-06-09  Dan Williams <dcbw@redhat.com>
16237
16238         Patch from Kay Sievers and Robert Love:
16239         * configure.in
16240           src/backends/Makefile.am
16241           src/backends/NetworkManagerSuSE.c
16242                 - Add SuSE support
16243
16244 2005-06-09  Dan Williams <dcbw@redhat.com>
16245
16246         * NetworkManager.h
16247                 - Add NMWirelessScanMethod enum for scan methods
16248
16249         * gnome/applet/applet-dbus-devices.c
16250                 - (nmwa_dbus_update_scanning_enabled_cb): remove
16251                 - (nmwa_dbus_update_scanning_enabled): remove
16252                 - (nmwa_dbus_update_devices): don't call nmwa_dbus_update_scanning_enabled() anymore
16253                         since it got removed
16254                 - (nmwa_dbus_enable_scanning): remove
16255
16256         * gnome/applet/applet-dbus-info.c
16257                 - (nmi_dbus_signal_update_scan_method): new function, signal NetworkManager to
16258                         update the wireless scanning method from NMI
16259                 - (nmi_dbus_get_wireless_scan_method): new function, return wireless scanning
16260                         method value to NetworkManager
16261                 - (nmi_dbus_info_message_handler): respond to the "getWirelessScanMethod" method call
16262
16263         * gnome/applet/applet-dbus-info.h
16264                 - Add prototype for nmi_dbus_signal_update_scan_method
16265
16266         * gnome/applet/applet.c
16267                 - (scanning_menu_update): new function, update one GtkCheckMenuItem from the
16268                         Wireless Scanning menu based on current wireless scan method
16269                 - (nmwa_menu_scanning_item_activate): new function, callback for GTK "activate"
16270                         signal for Wireless Scanning menu items, tell NetworkManager the new method
16271                         and update our menu items to make sure the right one is checked
16272                 - (nmwa_set_scanning_enabled_cb): remove
16273                 - (nmwa_context_menu_update): remove references to pause_scanning_item
16274                 - (nmwa_context_menu_create): remove pause_scanning_item, and add new Wireless
16275                         Scanning menu item
16276                 - (nmwa_gconf_get_wireless_scan_method): new method, pull wireless scanning method
16277                         from GConf
16278                 - nmwa_gconf_networks_notify_callback -> nmwa_gconf_info_notify_callback: generalize
16279                         so we get notified of preference values too
16280                 - (nmwa_get_instance): monitor GCONF_PATH_WIRELESS rather than GCONF_PATH_WIRELESS_NETWORKS
16281
16282         * gnome/applet/applet.h
16283                 - GCONF_PATH_WIRELESS added, one level below GCONF_PATH_WIRELESS_NETWORKS
16284                 - Add wireless scan method member to applet data
16285                 - Remove pause_scanning_item, add Wireless Scanning submenu
16286
16287         * src/NetworkManager.c
16288                 - (nm_data_new): default to NM_SCAN_METHOD_ON
16289                 - (main): grab scanning method from NMI if we can
16290
16291         * src/NetworkManagerDbus.c
16292                 - (nm_dbus_update_wireless_scan_method_cb): new function, callback from
16293                         nm_dbus_update_wireless_scan_method()
16294                 - (nm_dbus_update_wireless_scan_method): new function to grab scanning method
16295                         from NMI
16296                 - (nm_dbus_nmi_is_running): redundant function, removed
16297                 - (nm_dbus_signal_filter): trap "WirelessScanMethodUpdate" signal, grab scanning method
16298                         when NMI comes back
16299
16300         * src/NetworkManagerDevice.c
16301                 - (nm_device_is_activated): return TRUE if the device is activated
16302                 - (nm_device_wireless_scan): don't scan if the scan method is OFF, or if its AUTO
16303                         and we are activated
16304
16305         * src/nm-dbus-nm.c
16306                 - (nm_dbus_nm_set_scanning_enabled): removed
16307                 - nm_dbus_nm_get_scanning_enabled -> nm_dbus_nm_get_wireless_scan_method
16308                 - (nm_dbus_nm_methods_setup): remove [get | set] ScanningEnabled and add "getWirelessScanMethod"
16309
16310 2005-06-09  Dan Williams <dcbw@redhat.com>
16311
16312         * NetworkManager.h
16313           src/vpn-manager/nm-vpn-service.c
16314                 - NM_VPN_STATE_ERROR -> NM_VPN_STATE_UNKNOWN (more consistent with other enums)
16315
16316 2005-05-27  Dan Williams <dcbw@redhat.com>
16317
16318         * vpn-daemons/vpnc/nm-vpnc-service.c
16319                 - (vpnc_watch_cb): wait a bit before trying to read vpnc's pidfile.
16320                         Should fix the bug where the VPN connection terminates the first time.
16321
16322 2005-05-20  Dan Williams <dcbw@redhat.com>
16323
16324         * NetworkManager.h
16325                 - Differentiate VPN config signals between bad VPN config options
16326                         and bad IP config
16327
16328         * gnome/applet/applet-dbus-info.h
16329                 - Add prototypes for wireless network and vpn connection update functions
16330
16331         * gnome/applet/applet-dbus.c
16332                 - (nmwa_dbus_filter): trap new VPN config error signals from NetworkManager
16333
16334         * gnome/applet/applet.c
16335                 - (nmwa_schedule_vpn_failure_dialog): new dialog text for new VPN config
16336                         error signals
16337                 - (nmwa_gconf_networks_notify_cb): re-enable wireless network change notify
16338                         propogation to NetworkManager
16339                 - (nmwa_gconf_vpn_connections_notify_cb): re-enable vpn connection change
16340                         notify propogation to NetworkManager
16341
16342         * src/NetworkManagerDbus.c
16343                 - (nm_dbus_update_one_allowed_network): make sure to specify which AP list we
16344                         are updating so a network can be removed from it if necessary
16345
16346         * src/vpn-manager/nm-vpn-manager.c
16347                 - (nm_vpn_manager_process_signal): trap new vpn config error signals
16348
16349         * vpn-daemons/vpnc/nm-vpnc-service.c
16350                 - (nm_vpnc_dbus_signal_failure): generalize function for all VPN error signals
16351                 - (nm_vpnc_dbus_signal_launch_failed): remove
16352                 - (nm_vpnc_dbus_signal_connect_failed): remove
16353                 - (nm_vpnc_helper_timer_cb): update for new generalized error signal function
16354                 - (nm_vpnc_schedule_helper_timer): increase timeout to 10s
16355                 - (vpnc_watch_cb): don't whine about exit code if vpnc exited cleanly, update
16356                         for new generalized error signal function, remove config file stuff
16357                 - (nm_vpnc_start_vpnc_binary): grab a stdin pipe to vpnc after spawning it so
16358                         we can write configuration options to it
16359                 - (nm_vpnc_config_file_generate): removed
16360                 - (nm_vpnc_config_write): write configuration options to the vpnc stdin pipe
16361                 - (nm_vpnc_config_options_validate): validate the config options we receive
16362                         from NetworkManager to block potential exploits
16363                 - (nm_vpnc_dbus_handle_start_vpn): call option validation function before
16364                         starting vpnc
16365                 - (nm_vpnc_dbus_process_helper_config_error): actually propogate config error
16366                         to NetworkManager
16367
16368 2005-05-16  Dan Williams  <dcbw@redhat.com>
16369
16370         * vpn-daemons/vpnc/nm-vpnc-service-vpnc-helper.c
16371                 - (main): Work correctly with vpnc 0.3.3 by exiting if the "reason" code
16372                         is not "connect"
16373
16374 2005-05-16  Dan Williams  <dcbw@redhat.com>
16375
16376         Patch from Tomislav Vujec <tvujec@redhat.com>
16377         * gnome/applet/applet-dbus-info.c
16378                 - (nmi_dbus_get_vpn_connection_routes): new function, pull routes out of
16379                         GConf and pass them to NetworkManager.  New key is 'routes' under
16380                         the VPN connection, and should be a string list
16381
16382         * src/NetworkManagerSystem.c
16383                 - (nm_system_vpn_device_set_from_ip4_config): if user-defined routes exist,
16384                         set them on the device when we set the rest of the VPN config.  Ensure
16385                         they are in the correct format since they are passed directly to the
16386                         command line.
16387
16388         * src/backends/NetworkManagerRedHat.c
16389           src/backends/NetworkManagerDebian.c
16390                 - (nm_system_device_add_route_via_device_with_iface): new function
16391
16392         * src/vpn-manager/nm-dbus-vpn.c
16393                 - (nm_dbus_vpn_get_routes): grab VPN routes from NetworkManagerInfo
16394
16395         * src/vpn-manager/nm-vpn-manager.c
16396                 - (nm_vpn_manager_handle_ip4_config_signal): grab routes from NMI and pass
16397                         them into the IP4 config functions
16398
16399 2005-05-15  Dan Williams  <dcbw@redhat.com>
16400
16401         From Filip Miletic:
16402         * po/sr.po
16403           po/sr@Latn.po
16404           configure.in
16405                 - Serbian translation added
16406
16407 2005-05-15  Dan Williams  <dcbw@redhat.com>
16408
16409         * dispatcher-daemon/NetworkManagerDispatcher.c
16410                 - (main): sync arguments with NetworkManager and the applet, now use
16411                         "--no-daemon" rather than "daemon=no"
16412                 - (nmd_print_usage): Fix script path in usage message
16413
16414 2005-05-15  Dan Williams  <dcbw@redhat.com>
16415
16416         * src/NetworkManagerDevice.[ch]
16417           src/NetworkManagerPolicy.c
16418           src/NetworkManager.c
16419           src/nm-dbus-nm.c
16420                 - Remove the "just_added" parameter from nm_device_deactivate().  We no
16421                         longer send the DeviceNoLongerActive signal unconditionally, but only
16422                         when the device is actually active.
16423
16424         * dispatcher-daemon/NetworkManagerDispatcher.c
16425                 - (nmd_execute_scripts): convert to GLib directory functions from opendir(),
16426                         and simplify the logic
16427                 - (nmd_get_device_name): copy value from dbus reply so we don't segfault when
16428                         we free it later on
16429
16430         * initscript/RedHat/Makefile.am
16431           initscript/RedHat/NetworkManagerDispatcher
16432                 - Add initscript for NetworkManagerDispatcher
16433
16434
16435         Patch from Bill Moss:
16436         * dispatcher-daemon/NetworkManagerDispatcher.c
16437                 - Remove IP4AddressChange signal code including nmd_get_device_ip4_address()
16438
16439         * src/NetworkManagerDbus.c
16440                 - (nm_dbus_signal_device_ip4_address_change): remove.  If the device goes up,
16441                         and DeviceNowActive gets signaled, then the device has a new IP address
16442                         anyway.  There's no need for a separate signal.
16443
16444         * src/NetworkManagerDevice.c
16445                 - (nm_device_update_ip4_address): Don't send IP4AddressChange signal
16446
16447         * src/NetworkManagerPolicy.c
16448                 - (nm_policy_activation_finish): Send DeviceNowActive signal when the device
16449                         activates successfully.  This kind of went missing when I reworked the
16450                         activation code.
16451
16452 2005-05-15  Dan Williams  <dcbw@redhat.com>
16453
16454         * configure.in
16455                 - Check for dhcdbd and error if its not found
16456
16457         * src/dhcp-manager/Makefile.am
16458           src/dhcp-manager/nm-dhcp-manager.c
16459                 - Use path to dhcdbd that configure found
16460
16461 2005-05-14  Dan Williams  <dcbw@redhat.com>
16462
16463         * gnome/applet/nm-device.c
16464                 - (network_device_sort_wireless_networks, sort_networks_function): New functions to
16465                         sort wireless networks alphabetically
16466
16467         * gnome/applet/applet-dbus-devices.c
16468                 - (mwa_dbus_devices_lock_and_copy): Sort network device's wireless network lists
16469                         before copying them over to the GUI
16470
16471 2005-05-14  Dan Williams  <dcbw@redhat.com>
16472
16473         * src/NetworkManager.c
16474                 - (device_stop_and_free): Deactivate VPN connections before deactivating devices,
16475                         fixes a deadlock on shutdown with a VPN connection active.  This function locks
16476                         the device list, as does nm_get_active_device() which is called from
16477                         nm_vpn_manager_deactivate_vpn_connection().
16478
16479 2005-05-14  Dan Williams  <dcbw@redhat.com>
16480
16481         * NetworkManager.h
16482                 - Add signals for VPN Launch and Connect failures
16483
16484         * gnome/applet/applet-dbus.c
16485                 - (nmwa_dbus_filter): Trap new VPN launch & connect failure signals
16486
16487         * gnome/applet/applet.c
16488                 - (nmwa_show_vpn_failure_dialog): generalize old nmwa_show_vpn_login_failure_dialog()
16489                         function to handle all VPN failure messages
16490                 - (nmwa_schedule_vpn_failure_dialog): generalize old  nmwa_schedule_vpn_login_failure_dialog()
16491                         function to hanlde all VPN failure  messages
16492                 - (show_warning_dialog): work around focus-stealing prevention
16493
16494         * gnome/applet/other-network-dialog.c
16495           gnome/applet/passphrase-dialog.c
16496                 - (update_button_cb): Make sure the OK button is enabled when it should be, fixes
16497                         problem where it never enabled for ASCII Key and Hex Key types
16498
16499         * gnome/applet/wireless-applet.glade
16500                 - Add window title to Other Wireless Network Dialog
16501
16502         * src/vpn-manager/nm-dbus-vpn.c
16503                 - (nm_dbus_vpn_signal_vpn_failed): generalize old nm_dbus_vpn_signal_vpn_login_failed()
16504                         function to handle all VPN failure messages
16505
16506         * src/vpn-manager/nm-vpn-manager.c
16507                 - (nm_vpn_manager_process_signal): trap and proxy VPN launch & connect failure signals too
16508
16509         * vpn-daemons/vpnc/nm-vpnc-service.c
16510                 - (nm_vpnc_dbus_signal_launch_failed): new function
16511                 - (nm_vpnc_dbus_signal_connect_failed): new function
16512                 - (nm_vpnc_helper_timer_cb): signal connect failure on timeout
16513                 - (vpnc_watch_cb): signal connection failure when vpnc exits with connection failure
16514                 - (nm_vpnc_start_vpnc_binary): search a number of locations for vpnc
16515                 - (nm_vpnc_dbus_handle_start): send launch failure signal when we fail to launch vpnc
16516
16517 2005-05-11  Dan Williams  <dcbw@redhat.com>
16518
16519         * vpn-daemons/vpnc/nm-vpnc-service.c
16520                 - (nm_vpnc_start_vpnc_binary): NULL-ify GError before using it
16521                 - (nm_vpnc_config_file_generate): Attempt to ensure that the path for the config
16522                         file exists before trying to write it out.
16523
16524 2005-05-10  Dan Williams  <dcbw@redhat.com>
16525
16526     * gnome/applet/applet-dbus-device.c
16527         - (nmwa_dbus_set_device): remove check for valid key and key type, which 
16528             prevented just entering ESSID and leaving key and key type up to
16529             NetworkManager (which should have them already cached)
16530
16531 2005-05-08  Dan Williams  <dcbw@redhat.com>
16532
16533         * src/NetworkManagerPolicy.c
16534                 - (nm_policy_activation_finish): Don't set NM_ACT_STAGE_ACTIVATED here, instead...
16535                 - (nm_policy_schedule_activation_finish): Set NM_ACT_STAGE_ACTIVATED here to
16536                         fix a situation where NM is told to terminate and the device stops activation,
16537                         but the main thread isn't aware of that because it would never have run
16538                         nm_policy_activation_finish() to set the ACTIVATED flag, because the main loop
16539                         had already quit.
16540
16541         * src/NetworkManagerDevice.c
16542                 - (nm_device_probe_wired_link_state): cosmetic fixes
16543                 - (nm_device_activate_stage5_ip_config_commit): Don't check link state if
16544                         we've failed to activate or been canceled.
16545                 - (nm_ac_test): nm_debug -> nm_info for "waiting for device to cancel" message
16546
16547 2005-05-08  Dan Williams  <dcbw@redhat.com>
16548
16549         * src/NetworkManagerWireless.c
16550                 - (nm_wireless_qual_to_percent): Fix #if -> #ifdef, print out the "updated"
16551                         value of WEXT quality structures, and add a debug message when we cannot
16552                         determine any quality % at all
16553
16554 2005-05-08  Dan Williams  <dcbw@redhat.com>
16555
16556         * src/dhcp-manager/nm-dhcp-manager.c
16557                 - (nm_dhcp_manager_begin_transaction): Tell dhclient to release leases when
16558                         it goes down.
16559
16560 2005-05-06  Dan Williams  <dcbw@redhat.com>
16561
16562         * gnome/applet/applet-dbus-device.c
16563           gnome/applet/applet-dbus-info.c
16564           gnome/applet/applet-dbus.c
16565           gnome/applet/applet.c
16566           gnome/applet/applet.h
16567                 - (nmwa_get_device_for_nm_device) -> (nmwa_get_device_for_nm_path)
16568
16569         * gnome/applet/applet-dbus.c
16570                 - (nmwa_dbus_filter): trap DeviceCarrierOn/DeviceCarrierOff signals
16571                         so we notice when wired device's carriers come back on.  Should
16572                         fix issue with wired devices being grayed out even if the cable
16573                         is in, for devices that support carrier detection.
16574
16575         * gnome/applet/applet.c
16576                 - (nmwa_driver_notify): bash focus-stealing prevention in the face
16577                 - (nmwa_act_stage_to_pixbuf): Clarify wireless ACT_STAGE_DEVICE_CONFIG
16578                         tooltip message
16579                 - (nmwa_menu_item_activate, nmwa_menu_add_device_item, nmwa_menu_item_data_free):
16580                         Fix situation where applet wouldn't respond to menu selections
16581
16582         * src/NetworkManager.c
16583           src/NetworkManagerDevice.c
16584           src/NetworkManagerDbus.c
16585           src/NetworkManagerDbus.h
16586                 - (nm_dbus_signal_device_status_change) -> (nm_dbus_schedule_device_status_change_signal)
16587
16588         * src/NetworkManagerDbus.c
16589                 - (nm_dbus_send_network_not_found, nm_dbus_schedule_network_not_found_signal):
16590                         Remove, no longer used or relevant
16591                 - (nm_dbus_signal_device_status_change): Better signal enum->string matching
16592                 - (nm_dbus_schedule_device_status_change_signal): add
16593
16594         * src/NetworkManagerDevice.c
16595                 - (nm_device_worker_thread_stop): don't try to join a NULL worker thread
16596                 - (nm_device_set_link_active): Fix up switching for non-carrier-detect devices,
16597                         ie don't deactivate them unless explicitly told to by the user.  Also send
16598                         CARRIER_OFF / CARRIER_ON signals when link changes
16599                 - (nm_device_set_essid, nm_device_set_enc_key, nm_device_is_up, nm_device_set_mode):
16600                         Don't print error message when device is no longer around
16601                 - (nm_device_deactivate): kill any current DHCP process attached to this device,
16602                         not just during activation
16603
16604         * src/NetworkManagerPolicy.c
16605                 - (nm_policy_auto_get_best_device): Ignore semi-supported devices completely from
16606                         auto-device-selection.
16607                 - (nm_policy_device_change_check): Don't interrupt semi-supported devices
16608
16609         * src/NetworkManagerSystem.c
16610                 - (nm_system_device_set_up_down_with_iface): Quiet first warning message when device
16611                         is no longer present (Bill Moss)
16612
16613         * src/backends/shvar.c
16614                 - (svOpenFile): Open read-only to make SELinux happy
16615
16616         * src/backends/NetworkManagerRedHat.c
16617                 - (nm_system_device_get_system_config): Use SYSCONFDIR rather than hardcoding
16618                         the path to the ifcfg-* files
16619
16620 2005-05-05  Dan Williams  <dcbw@redhat.com>
16621
16622         * Expose activation stages to NetworkManager clients, like the applet
16623         * Add Diana's progress icons to the applet, cued off NM activation stage
16624         * Use more descriptive tooltips, cued off NM activation stage
16625
16626 2005-05-05  Ray Strode  <rstrode@redhat.com>
16627
16628         * src/nm-netlink-monitor.c:
16629                 - Use clear_event_source instead of g_nullify_pointer() again.
16630
16631 2005-05-05  Dan Williams  <dcbw@redhat.com>
16632
16633         * gnome/applet/main.c
16634                 - Fix session management so the applet is actually managed now
16635
16636         * gnome/applet/passphrase-dialog.c
16637                 - (nmi_passphrase_dialog_show): bash focus-stealing prevention in the face
16638
16639 2005-05-05  Dan Williams  <dcbw@redhat.com>
16640
16641         Patch from Bill Moss:
16642         * gnome/libnm_glib/libnm_glib.c
16643                 - Fix for dbus-0.33
16644
16645 2005-05-05  Dan Williams  <dcbw@redhat.com>
16646
16647         Suggestion from Bill Moss:
16648         * src/NetworkManagerSystem.c
16649                 - (nm_system_device_set_up_down_with_iface): ignore ENODEV
16650
16651
16652         * src/NetworkManager.c
16653                 - (nm_data_free): move destruction of the various managers after
16654                         release of device list, because deactivating and freeing a device
16655                         requires at least the named manager
16656                 - (nm_poll_and_update_wireless_link_state):
16657                   (nm_device_link_activated):
16658                   (nm_device_link_deactivated):
16659                         don't grab the device list lock when actually updating device
16660                         link status or strength, since nm_device_set_link_active()
16661                         needs to call nm_get_active_device(), which also locks the device list.
16662
16663         * src/NetworkManagerDevice.c
16664                 - (nm_device_set_link_active): if a device's link switches from off->on,
16665                         and it's wired, and the active device is wireless (or there is no
16666                         active device), activate the new device whose link just came on
16667                 - (link_to_specific_ap): try to smooth over intermittency in wireless links
16668                         my only calling the link to the current ap "failed" when more than 2
16669                         consecutive link checks have failed
16670
16671 2005-05-04  Dan Williams  <dcbw@redhat.com>
16672
16673         * src/NetworkManagerDevice.c
16674                 - (nm_device_probe_wireless_link_state): don't lock the scan mutex here
16675                         but let link_to_specific_ap() do the locking where it needs
16676
16677         Patch from Bill Moss:
16678         * src/NetworkManagerSystem.c
16679                 - Set MTU of VPN devices to 1412
16680
16681 2005-05-04  Dan Williams  <dcbw@redhat.com>
16682
16683         * Remove NM_STATE_SCANNING from NetworkManager.h and applet code
16684
16685         * Fix some holes in device activation and retaining the currently connected
16686                 access point
16687
16688 2005-05-03  Dan Williams  <dcbw@redhat.com>
16689
16690         * Kill dhcpcd.  We now use "dhcdbd", a dbus daemon that controls dhclient.
16691           This means that NetworkManager shouldn't have DHCP issues anymore.  It also
16692           means you need dhcdbd, which you can get here (get the latest one):
16693
16694                 http://people.redhat.com/jvdias/dhcdbd/
16695
16696           Technically NetworkManager can use any DHCP daemon that uses the same DBUS
16697           interface as dhcdbd.
16698
16699         * Rewrite device activation to facilitate the new DHCP infrastructure and
16700           future improvements.  Its now "activation request" based, ie there is a single
16701           activation request composed of the device, access point, and other info which
16702           follows the entire activation process.  There are 5 stages of the activation
16703           process which correspond to:
16704
16705                 1) Device preparation
16706                 2) Device configuration (bring it up, set ESSID/Key/etc)
16707                 3) IP Config Start (fire off DHCP if we're using it)
16708                 4) IP Config Get (grab config from DHCP or static config files)
16709                 5) IP Config Commit (set device's IP address, DNS, etc)
16710
16711           Note that there is no longer a "scanning" step, since the access point must
16712           be known _before_ activation starts.  If the access point drops out or does
16713           not exist for some reason, the entire activation process fails and must be
16714           restarted for a different access point or device.
16715
16716         Patch from Bill Moss:
16717         * gnome/applet/applet.c
16718                 - Fix type of vpn_failure dialog -> vpn_banner dialog
16719
16720 2005-04-27  Dan Williams  <dcbw@redhat.com>
16721
16722         * gnome/applet/applet-dbus-vpn.c
16723           gnome/applet/applet.c
16724           gnome/applet/applet.h
16725                 - Fix up active VPN handling so that we reliably know when a VPN
16726                         connection has been deactivated
16727
16728         * src/vpn-manager/nm-vpn-manager.c
16729                 - Remove duplicate VPNConnectionChange signal
16730
16731 2005-04-27  Dan Williams  <dcbw@redhat.com>
16732
16733         Patch from Peter Jones:
16734         * Remove usage of varargs to fix crashes on PPC (RH #154336)
16735
16736         Patch from Bill Moss:
16737         * src/NetworkManagerSystem.c
16738                 - Fix checking of return value from ioctl()
16739
16740 2005-04-27  Dan Williams  <dcbw@redhat.com>
16741
16742         * Fix choosing of wireless networks and "Other wireless network..." from the applet
16743         * Warn and exit if icons cannot be found
16744
16745 2005-04-27  Dan Williams  <dcbw@redhat.com>
16746
16747         Patch from Tom Parker:
16748         * Update debian backend
16749
16750 2005-04-27  Dan Williams  <dcbw@redhat.com>
16751
16752         * Merge the applet and the info-daemon, and move the converged
16753                 applet under gnome/applet
16754         * Move libnm_glib to gnome/libnm_glib
16755         * Convert most dbus calls between the applet, info-daemon, and NM
16756                 into async calls
16757         * Fix a few things valgrind noticed
16758         * Make NM broadcast state more reliably
16759
16760 2005-04-22  Pawan chitrakar  <pawan@nplinux.org>
16761
16762         * configure.in: Added ne in ALL_LINGUAS
16763
16764 2005-04-15  Dan Williams  <dcbw@redhat.com>
16765
16766         * libnm_glib/libnm_glib: Fix up for dbus-0.32, and remove
16767                 code for dbus 0.2x versions
16768
16769 2005-04-15  Dan Williams  <dcbw@redhat.com>
16770
16771         Patches from Tom Parker:
16772         - Fix memleaks
16773         - Join with worker thread rather than polling for its exit
16774
16775         Patch from Bill Moss:
16776         - Cull duplicate ESSIDs from the scan list, taking highest strength AP
16777
16778 2005-04-15  Dan Williams  <dcbw@redhat.com>
16779
16780         - Fixes to pass 'make distcheck'
16781
16782 2005-04-15  Dan Williams  <dcbw@redhat.com>
16783
16784         Initial VPN Support
16785                 - supports 'vpnc'
16786                 - reworks device IP configuration, backend files have changed and will need
16787                         to be updated for all distributions.  I will try to do what I can for
16788                         them, but I cannot test them.
16789
16790         - Move named directory to src/named-manager
16791         - Make backends directory self-contained
16792
16793 2005-04-06  Dan Williams  <dcbw@redhat.com>
16794
16795         Add debug code for socket/file descriptor leaks.  We register every socket
16796         that we open (except for stuff in dhcpcd/) for tracking, and print out the
16797         list of sockets that we forgot to close on shutdown.  This also consolidates
16798         about 4 places where we opened sockets into 1 function in NetworkManagerUtils.c
16799
16800 2005-04-06  Dan Williams  <dcbw@redhat.com>
16801
16802         * dhcpcd/dhcpcd.c
16803                 - (dhcp_interface_free): fix a file descriptor leak that may have
16804                         caused network drivers to not unload due to refcounts > 0
16805
16806 2005-04-04  Dan Williams  <dcbw@redhat.com>
16807
16808         * panel-applet/NMWirelessAppletDbus.c
16809                 - (nmwa_dbus_call_nm_method): remove some commented code
16810
16811         * src/NetworkManagerAPList.[ch]
16812                 - (nm_ap_list_remove_ap_by_essid): new function
16813
16814         * src/NetworkManagerDevice.c
16815                 - (nm_device_wireless_force_use): remove access points from the ignore list
16816                         when the user forces them
16817
16818         * src/nm-dbus-device.c
16819                 - (nm_dbus_device_get_active_network): fix up escaping of object paths
16820
16821 2005-04-04  Dan Williams  <dcbw@redhat.com>
16822
16823         Patch from Tom Parker: include "nm-utils.h" for backend files that need it
16824
16825 2005-04-04  Dan Williams  <dcbw@redhat.com>
16826
16827         * src/NetworkManagerDevice.c:
16828                 - (nm_completion_scan_has_results): restore pre-completion-patch behavior
16829                         of only erroring after the second consecutive scan times out.  Also
16830                         don't exit when the card requires more time than we can give it, just
16831                         log the event and continue.
16832
16833 2005-04-01  Steve Murphy  <murf@e-tools.com>
16834
16835         * configure.in: Added "rw" to ALL_LINGUAS.
16836
16837 2005-04-01  Dan Williams <dcbw@redhat.com>
16838
16839         Perform scans during device activation, if needed.  Both activation 
16840         and scans run in the same GMainContext.  Therefore, if an access point
16841         is not found by the time the device starts activation, it will not
16842         be available until after activation.  We now try to scan during
16843         activation (in nm_wa_test) every 15s so that all available access
16844         points are more likely to be found and available for the activation
16845         procedure.
16846
16847         Also change nm_wireless_link_state_handle() to only update the "best"
16848         AP if we are not forcing a device and if we are not about to change
16849         state.  This attempts to work around a race when forcing a device,
16850         where the forced AP would get cleared out too soon by the link state
16851         checking timeout in the main thread, and the activation attempt with
16852         that AP would fail.
16853
16854 2005-04-01  Dan Williams <dcbw@redhat.com>
16855
16856         * po/POTFILES.in
16857                 - Update with new translatables
16858
16859 2005-03-31  Dan Williams <dcbw@redhat.com>
16860
16861         * panel-applet/NMWirelessAppletDbus.c
16862                 - Fix device names now that hal has changed device parenting for
16863                         network devices.
16864
16865 2005-03-31  Dan Williams <dcbw@redhat.com>
16866
16867         Tighten up handling of wireless devices that don't support wireless
16868         scanning (ie, Orinoco).  Due to restructuring of code, these devices
16869         hadn't been doing pseudo-scanning for a while either and would just
16870         spin waiting for an access point.  They are now manual devices where
16871         the user must choose the access point from the menu every time.  All
16872         "allowed" access points are listed in the applet's menu regardless
16873         of whether or not they can be seen by the card, since it can't scan
16874         anyway.
16875
16876         * src/NetworkManager.c
16877                 - (nm_wireless_link_state_handle): new function, but only update
16878                         the "best" ap for non-scanning devices when its not activating,
16879                         and when no device is being forced on the card
16880                 - (nm_link_state_monitor): split wireless link state handling out
16881                         into separate function
16882
16883         * src/NetworkManagerDevice.c
16884                 - (nm_device_copy_allowed_to_dev_list): new function
16885                 - (nm_device_new): populate non-scanning cards' AP lists with
16886                         access points from the "allowed" list
16887                 - (nm_device_new): don't start a scanning timeout for devices that
16888                         can't scan
16889                 - (nm_device_activation_schedule_finish): new parameter, should be
16890                         the AP that failed to be connected to, pass it on to the
16891                         activation finish function in NetworkManagerPolicy.c
16892                 - (nm_device_activate_wireless): don't ever try to get a new AP
16893                         for non-scanning devices, just fail.  The user must choose
16894                         a new access point manually.
16895                 - (nm_device_activate): grab the AP that failed connection and
16896                         pass it on
16897                 - (nm_device_update_best_ap): Clear the best AP if we don't have
16898                         a link to it, user must manually choose a new one
16899                 - (nm_device_do_pseudo_scan): remove function
16900                 - (nm_device_wireless_process_scan_results): remove bits for non-
16901                         scanning cards since they never get here
16902                 - (nm_device_wireless_scan): remove bits for non-scanning devices,
16903                         and fake the scan list for test devices a bit earlier
16904
16905         * src/NetworkManagerPolicy.c
16906                 - (nm_policy_activation_finish): use the failed_ap that we get
16907                         passed rather than getting the best_ap from the card, which
16908                         may have changed since we were scheduled
16909                 - (nm_policy_allowed_ap_list_update): for non-scanning devices,
16910                         update their scan list directly from the allowed list when
16911                         we get updates to the allowed list from NetworkManagerInfo
16912
16913         * src/NetworkManagerPolicy.h
16914                 - New member for failed access point in NMActivationResult
16915
16916   -------------------------------------
16917
16918         Driver Notification patch: notifies the user when their driver
16919                 sucks.  Gives them the option to ignore further insertions
16920                 of the card that has the sucky driver.
16921
16922         * NetworkManager.h
16923                 - Remove the SEMI_SUPPORTED member from the NMDriverSupportLevel
16924                         enum and replace it with NO_CARRIER_DETECT and
16925                         NO_WIRELESS_SCAN
16926
16927         * panel-applet/NMWirelessApplet.[ch]
16928                 - Merge essid.glade -> wireless-applet.glade
16929                 - Implement the "Your driver sucks" notification dialog
16930
16931         * panel-applet/NMWirelessAppletDbus.c
16932                 - Change stuff from getSupportsCarrierDetect->getDriverSupportLevel
16933                 - Grab hardware address for each device from NM too
16934                 - Check whether the driver for each device sucks or not whenever
16935                         a new device is noticed
16936
16937         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
16938                 - Deal with stuff being in wireless-applet.glade now rather than essid.glade
16939
16940         * src/NetworkManager.c
16941                 - Fix a double-unref on device removal
16942
16943         * src/NetworkManagerUtils.c
16944                 - Set appropriate driver support level on a device that doesn't
16945                         support scanning or carrier detection
16946
16947         * src/nm-dbus-device.c
16948                 - New "getHWAddress" dbus method on devices
16949                 - getSupportsCarrierDetect -> getDriverSupportLevel
16950
16951 2005-03-31  Dan Williams <dcbw@redhat.com>
16952
16953         * src/NetworkManagerDevice.c
16954                 - (nm_device_wireless_scan): Fix leak of scan results in some
16955                         instances
16956
16957 2005-03-29  Dan Williams <dcbw@redhat.com>
16958
16959         * src/NetworkManager.c
16960                 - (nm_poll_and_update_wireless_link_state): make code less indented
16961
16962         Patch from Bill Moss:
16963         * src/NetworkManager.c
16964                 - (nm_device_update_link_state): Update signal strength on wireless
16965                         devices every time we update link state too.
16966
16967 2005-03-29  Dan Williams <dcbw@redhat.com>
16968
16969         * src/NetworkManagerDevice.c
16970                 - (nm_device_set_essid): Work around Orinoco cards which need
16971                         extra time after setting the ESSID
16972
16973 2005-03-29  Dan Williams <dcbw@redhat.com>
16974
16975         * src/NetworkManagerDevice.c
16976                 - Merge one more bit of Peter Jones' completion patch
16977
16978 2005-03-29  Dan Williams <dcbw@redhat.com>
16979
16980         * src/NetworkManagerDevice.c
16981                 - (nm_device_force_use): Fix possible segfault
16982
16983 2005-03-29  Dan Williams <dcbw@redhat.com>
16984
16985         * src/NetworkManagerDevice.c
16986                 - Use iw_get_ext() where we should rather than iw_set_ext()
16987
16988 2005-03-29  Dan Williams <dcbw@redhat.com>
16989
16990         * src/NetworkManagerDevice.c
16991                 - (nm_device_set_up_down): remove check for unsupported devices
16992                         that caused NM to not bring devices up when they were
16993                         added to the device list.
16994
16995 2005-03-28  Dan Williams <dcbw@redhat.com>
16996
16997         * src/NetworkManagerDevice.c
16998                 - (mdio_read): Fix two bugs that caused all devices to fail
16999                         the MII carrier detection support checks
17000
17001 2005-03-26  Dan Williams <dcbw@redhat.com>
17002
17003         * src/NetworkManagerDevice.c
17004                 - (nm_device_wireless_scan): Remove duplicated scanning code
17005
17006 2005-03-25  Dan Williams <dcbw@redhat.com>
17007
17008         * panel-applet/NMWirelessApplet.c
17009                 - (nmwa_about_cb): Add some more contributors
17010                 - (nmwa_update_state): show the applet when there's no connection
17011                 - Enable the "Stop/Resume all wireless devices" option in the
17012                         context menu
17013                 - New "no connection" icon
17014
17015         * src/NetworkManager.c
17016                 - (nm_poll_and_update_wireless_link_state): don't do anything if
17017                         wireless is disabled or we're asleep
17018
17019         * src/NetworkManagerDHCP.c
17020                 - Remove trailing "\n" on debug messages
17021
17022         * src/NetworkManagerDbus.c
17023                 - (nm_dbus_network_status_from_data): new state "asleep"
17024
17025         * src/NetworkManagerDevice.c
17026                 - Merge most of Peter Jones' "completion" patch that greatly reduces
17027                         latency and wait times for most operations
17028                 - (nm_device_wireless_scan): Don't scan when asleep
17029
17030         * src/NetworkManagerPolicy.c
17031                 - (nm_policy_get_best_device): return no device when asleep
17032                 - (nm_policy_allowed_ap_list_update): From Bill Moss: merge properties
17033                         for all wireless devices on update, not just active device
17034
17035         * src/NetworkManagerUtils.c
17036                 - Merge Peter Jones' "completion" patch
17037
17038         * src/nm-dbus-nm.c
17039                 - (nm_dbus_nm_set_wireless_enabled): bring down wireless devices when
17040                         we're told to disable them
17041                 - (nm_dbus_nm_sleep, nm_dbus_nm_wake): new functions for sleep/wake
17042
17043         * utils/nm-utils.h
17044                 - New variants of the warn/info/error/debug print functions that can take
17045                         variables rather than static strings
17046
17047 2005-03-24  Dan Williams <dcbw@redhat.com>
17048
17049         * src/NetworkManagerUtils.c
17050                 - (nm_get_device_driver_name): driver names are now on the parents of
17051                         "Network Interface" objects, so look for them there
17052
17053 2005-03-24  Dan Williams <dcbw@redhat.com>
17054
17055         * test/nmtest.c
17056                 - Escape some forgotten object paths before we shove them through dbus
17057
17058 2005-03-24  Dan Williams <dcbw@redhat.com>
17059
17060         * dhcpcd/dhcpcd.[ch]
17061           src/NetworkManagerDHCP.c
17062                 - Switch names from "*_record_*" -> "*_element_*" to clarify things a bit
17063                         (ie, dhcp_option_record_len -> dhcp_option_element_len)
17064
17065         * src/NetworkManagerDbus.c
17066                 - spacing cleanups
17067
17068         * src/nm-dbus-dhcp.c
17069                 - Make the API suck less.  There is now only 1 type of each function,
17070                         ie only "getInteger" and no longer also "getIntegerv".  All types
17071                         are returned encapsulated in a DBUS_TYPE_ARRAY, even for options
17072                         that will never have more than 1 element.  This should simplify
17073                         things greatly.
17074
17075         * test/nm-dhcp-opt-test.c
17076                 - Make the tool not segfault
17077                 - adapt to new DHCP Options API
17078
17079 2005-03-22  Dan Williams <dcbw@redhat.com>
17080
17081         * src/NetworkManager.c
17082                 - (nm_wired_link_deactivated): actually ignore netlink events from
17083                         wireless devices.
17084
17085 2005-03-22  Dan Williams <dcbw@redhat.com>
17086
17087         * src/NetworkManager.c
17088                 - (nm_wired_link_activated): actually ignore netlink events from
17089                         wireless devices.
17090
17091 2005-03-17  Dan Williams <dcbw@redhat.com>
17092
17093         Patch from Tom Parker:
17094         * src/nm-netlink-monitor.c
17095                 - Include unistd.h
17096         * info-daemon/NetworkManagerInfoDbus.c
17097                 - (nmi_dbus_update_network_auth_method): free GConf values
17098
17099         Patch from Nathaniel McCallum <npmccallum@gentoo.org>:
17100         * src/NetworkManagerDevice.c
17101                 - (nm_device_set_wireless_config): wait for successful
17102                         association longer for some cards (Atheros a/b/g)
17103
17104 2005-03-15  Ray Strode  <rstrode@redhat.com>
17105
17106         * src/NetworkManager.c:
17107         (sigterm_pipe_handler):
17108         remove bogus FIXME
17109
17110 2005-03-15  Ray Strode  <rstrode@redhat.com>
17111
17112         * src/NetworkManagerDbus.c:
17113         Fix some sign weirdness that gcc4 doesn't like,
17114         and add a header file so PPC can hopefully find
17115         SIGTRAP
17116
17117 2005-03-14  Ray Strode  <rstrode@redhat.com>
17118         
17119         Fourth (probably working) cut at porting to
17120         dbus 0.30 api and new hal. This cut adds
17121         some new logging macros to make debugging
17122         easier.
17123
17124         * dispatcher-daemon/NetworkManagerDispatcher.c:
17125         * info-daemon/NetworkmanagerInfo.c:
17126         * info-daemon/NetworkManagerInfoPassphraseDialog.c:
17127         * info-daemon/NetworkManagerInfoVPN.c:
17128         * src/NetworkManager.c:
17129         * src/NetworkManagerAP.c:
17130         * src/NetworkManagerAPList.c:
17131         * src/NetworkManagerDHCP.c:
17132         * src/NetworkManagerDbus.c:
17133         * src/NetworkManagerDevice.c:
17134         * src/NetworkManagerPolicy.c:
17135         * src/NetworkManagerSystem.c:
17136         * src/NetworkManagerUtils.c:
17137         * src/NetworkManagerWireless.c:
17138         * src/autoip.c:
17139         * src/nm-dbus-nm.c:
17140         * src/backends/NetworkManagerDebian.c:
17141         * src/backends/NetworkManagerGentoo.c:
17142         * src/backends/NetworkManagerRedHat.c:
17143         * src/backends/NetworkManagerSlackware.c:
17144         use new logging macros.
17145
17146         * dispatcher-daemon/NetworkManagerDispatcher.c:
17147         (nmd_dbus_filter): s/dbus_free/g_free/
17148
17149         * info-daemon/Makefile.am: link in utils library.
17150         * info-daemon/NetworkmanagerInfo.c: use new logging 
17151         macros.
17152         (nmi_dbus_get_network): don't assume enumerations
17153         are 32-bit.
17154         (nmi_dbus_nmi_message_handler): don't free what 
17155         doesn't belong to us.
17156
17157         * libnm_glib/libnm_glib.c:
17158         (libnm_glib_get_nm_status): 
17159         (libnm_glib_init): don't free what doesn't
17160         belong to us.
17161         (libnm_glib_dbus): strdup result, so it doesn't get
17162         lost when message is unref'd.
17163
17164         * panel-applet/NMWirelessAppletDbus.c:
17165         (nmwa_dbus_update_devices): s/dbus_free/g_free/
17166
17167         * src/NetworkManager.c:
17168         (nm_monitor_wired_link_state): request initial status 
17169         dump of all cards when we start up, instead of relying
17170         on /sys/.../carrier.
17171         (nm_info_handler), (nm_set_up_log_handlers): 
17172         log handlers to specify what syslog priorites 
17173         the logging macros default to.
17174
17175         * src/NetworkManagerAPList.c: 
17176         (nm_ap_list_populate_from_nmi):
17177         s/dbus_free_string_array/g_strfreev/
17178
17179         * src/NetworkManagerDbus.c:
17180         (nm_dbus_get_network_object):
17181         validate d-bus message argument types.
17182         Advance message iterator after reading argument,
17183         prepend instead of append to GSList.
17184
17185         * src/NetworkManagerDevice.c:
17186         (nm_device_probe_wired_link_status):
17187         remove redundant /sys in /sys path. remove wrong
17188         contents == NULL means has carrier assumption.
17189
17190         * src/nm-netlink-monitor.c 
17191         (nm_netlink_monitor_request_status): implement
17192         function to ask kernel to dump interface link
17193         status over netlink socket.
17194
17195         * test/*.c: s/dbus_free/g_free/
17196
17197         * utils/nm-utils.h:
17198         (nm_print_backtrace): new macro to print backtrace.
17199         (nm_get_timestamp): new macro to get sub-second precise
17200         unix timestamp.
17201         (nm_info), (nm_debug), (nm_warning), (nm_error):
17202         new logging functions. nm_info just prints,
17203         nm_debug includes timestamp and function,
17204         nm_warning includes function, nm_error includes
17205         backtrace and sigtrap.
17206
17207 2005-03-11  Ray Strode  <rstrode@redhat.com>
17208
17209         Third (unfinished, partially working) cut at porting to 
17210         dbus 0.30 api and new hal.
17211
17212         * info-daemon/NetworkManagerInfoDbus.c:
17213                 don't free null arrays.
17214
17215         * panel-applet/NMWirelessAppletDbus.c: 
17216         * src/nm-dbus-device.c:
17217         * src/nm-dbus-net.c: 
17218         * src/NetworkManagerDbus.c: more 
17219         STRING -> OBJECT_PATH fun
17220         * src/NetworkManagerDevice.c:
17221         * src/NetworkManagerDevice.h:
17222         (rename nm_device_get_link_active): rename to 
17223         nm_device_has_active_link
17224         (nm_device_wireless_link_active): rename to
17225         nm_device_probe_wireless_link_state
17226         (nm_device_wired_link_active): rename to
17227         nm_device_probe_wired_link_state.  Rewrite to
17228         use carrier file since hal doesn't maintain
17229         link state anymore.
17230         (nm_device_update_link_active): rename to
17231         nm_device_update_link_state
17232         * src/NetworkManagerPolicy.c 
17233           (nm_policy_activation_finish): check for NULL
17234           MAC address.
17235
17236         * src/Makefile.am:
17237         * src/NetworkManagerMain.h: 
17238         * src/NetworkManager.c:
17239         * src/nm-netlink-monitor.c:
17240         * src/nm-netlink-monitor.h: New class to support
17241         monitoring wired ethernet link status, since HAL
17242         doesn't export that information anymore.
17243
17244 2005-03-09  Ray Strode  <rstrode@redhat.com>
17245
17246         Second (unfinished, unworking) cut at porting to 
17247         dbus 0.30 api.
17248
17249         * dispatcher-daemon/NetworkManagerDispatcher.c:
17250         * info-daemon/NetworkManagerInfoDbus.c:
17251         * panel-applet/NMWirelessAppletDbus.c:
17252         * src/NetworkManagerDbusUtils.c:
17253         * src/NetworkManagerDbusUtils.h:
17254         * src/nm-dbus-device.c:
17255         * src/nm-dbus-nm.c:
17256         * test/nmtest.c: support dbus "object path" type
17257
17258         * configure.in: 
17259         * Makefile.am:
17260         * info-daemon/Makefile.am:
17261         * libnm_glib/Makefile.am:
17262         * panel-applet/Makefile.am:
17263         * dispatcher-daemon/Makefile.am
17264         * src/Makefile.am:
17265         * test/Makefile.am:
17266         * utils/Makefile.am: 
17267         * utils/nm-utils.c: 
17268         * utils/nm-utils.h: new utils static lib
17269
17270 2005-03-07  Ray Strode  <rstrode@redhat.com>
17271
17272         * info-daemon/NetworkManagerInfoDbus.c:
17273         * libnm_glib/libnm_glib.c:
17274         * panel-applet/NMWirelessAppletDbus.c:
17275         * src/NetworkManager.c:
17276         * src/NetworkManagerDbus.c:
17277         * src/NetworkManagerDevice.c:
17278         * src/NetworkManagerUtils.c:
17279         * src/nm-dbus-device.c:
17280         * src/nm-dbus-dhcp.c:
17281         * src/nm-dbus-net.c:
17282         * src/nm-dbus-nm.c:
17283         * test/nminfotest.c:
17284         First (unfinished, unworking) cut at porting to dbus 0.30 api.
17285
17286 2005-03-04  Dan Williams  <dcbw@redhat.com>
17287
17288         * configure.in
17289                 - Mark HEAD as 0.4
17290
17291 2005-03-04  Dan Williams  <dcbw@redhat.com>
17292
17293         Patch from Peter Jones:
17294         - Make stuff work with gcc 4.0
17295
17296 2005-02-28  Maxim Dziumanenko <mvd@mylinux.com.ua>
17297
17298         * uk.po: Added "uk" (Ukrainian) to ALL_LINGUAS.
17299
17300 2005-02-27  Jim Huang  <jserv@kaffe.org>
17301
17302         * configure.in: Added "zh_TW" (Traditional Chinese) to ALL_LINGUAS.
17303
17304 2005-02-27  Dan Williams  <dcbw@redhat.com>
17305
17306         Patch from Bill Moss:
17307         * panel-applet/NMWirelessAppletDbus.c
17308                 - Make sure strength for current access point is up-to-date when we
17309                         update the gui data model
17310
17311 2005-02-27  Alessio Frusciante  <algol@firenze.linux.it>
17312
17313         * configure.in: Added "it" (Italian) to ALL_LINGUAS.
17314
17315 2005-02-27  Dan Williams  <dcbw@redhat.com>
17316
17317         * src/backends/NetworkManagerRedHat.c
17318                 - (nm_system_init): Kill any dhclient processes lying around as well
17319                         as stopping 'nifd' if its already been started.  NetworkManager
17320                         subsumes the functions of nifd (kicking mDNSResponder, autoip)
17321
17322 2005-02-27  Dan Williams  <dcbw@redhat.com>
17323
17324         * panel-applet/NMWirelessApplet.c
17325                 - (nmwa_destroy): Really mean to destroy GUI data model first, then
17326                         dbus data model, not the GUI data model twice.
17327
17328 2005-02-27  Dan Williams  <dcbw@redhat.com>
17329
17330         * panel-applet/NMWirelessApplet.[ch]
17331           panel-applet/NMWirelessAppletDbus.[ch]
17332                 - Move to incremental network updates.  Instead of blowing away our list
17333                         of devices every time we get a signal from NetworkManager, we now
17334                         incrementally add/remove networks when NetworkManager notifies us that
17335                         a new network has appeared or disappered.  Strength updates now happen
17336                         on-the-fly for each access point as well.  There are now two copies of
17337                         data from NetworkManager: one for the dbus side, and one for the gui side.
17338                         When the dbus side data is modified, it is copied over to the gui side
17339                         so we don't have to hold the data_mutex for long periods of time (and
17340                         therefore block animation of the applet's icon).
17341                 - Clean up some memleaks too
17342
17343         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17344                 - Minor code beautification
17345
17346         * src/NetworkManagerAPList.c
17347                 - (nm_ap_list_merge_scanned_ap): return whether or not the access point is
17348                         completely new and whether or not an existing one's strength was updated.
17349                         Try to fix multiple access points and signal strength by using the highest
17350                         signal strength in each scan for any given ESSID.
17351
17352         * src/NetworkManagerDbus.[ch]
17353                 - (nm_dbus_signal_wireless_network_change): consolidate signals that deal with
17354                         wireless networks; now we have only WirelessNetworkUpdate which includes
17355                         a UINT32 for Appeared, Disappeared, or StrengthChanged (see NetworkManager.h).
17356                 - Kill usage of DbusMessageIter
17357
17358         * src/NetworkManagerDevice.c
17359                 - (nm_device_wireless_process_scan_results): Use the same timestamp for all APs
17360                         in the same scan result list.  Copy ESSIDs-by-address earlier on, for each
17361                         AP rather than all-at-once.  Also don't ever remove the AP a card is
17362                         currently associated with from the network list.
17363                 - Update for new signals during scan, send out Appeared, Disappeared, or
17364                         StrengthChanged when necessary.
17365
17366 2005-02-25  Dan Williams  <dcbw@redhat.com>
17367
17368         * README
17369                 - Line break the README
17370
17371 2005-02-25  Dan Williams  <dcbw@redhat.com>
17372
17373         * panel-applet/NMWirelessAppletOtherNetworkDialog.c
17374                 - Remove usage of gtk_window_set_default_size()
17375
17376         * panel-applet/essid.glade
17377                 - Stick default size here
17378                 - Add in random crap that current glade wants to add in now
17379
17380 2005-02-25  Dan Williams  <dcbw@redhat.com>
17381
17382         * src/backends/NetworkManagerRedHat.c
17383                 - For non-caching-nameserver/non-named case, ensure that nscd is running
17384                         and that we actually tell nscd to reload the hosts cache when it changes
17385
17386 2005-02-25  Dan Williams  <dcbw@redhat.com>
17387
17388         * info-daemon/NetworkManagerInfoDbus.c
17389                 - (nmi_dbus_get_network_properties): whack usage of DbusMessageIter
17390
17391         * test/nminfotest.c
17392                 - Whack usage of DbusMessageIter
17393                 - Clean up DbusError and DbusMessage handling and freeing
17394                 - Remove unused unregister handler
17395
17396         * test/nmtest.c
17397                 - Whack usage of DbusMessageIter
17398
17399         * test/nmtestdevices.c
17400                 - Whack usage of DbusMessageIter
17401
17402 2005-02-25  Dan Williams  <dcbw@redhat.com>
17403
17404         * NetworkManager.h
17405                 - New signal type NMNetworkStatus in preparation for the "WirelessNetworkUpdate"
17406                         signal
17407
17408 2005-02-25  Dan Williams  <dcbw@redhat.com>
17409
17410         * named/nm-named-manager.c
17411                 - Ensure that pid and watch variables for child named process get cleared out
17412                         when the child goes away.
17413
17414 2005-02-22  Dan Williams  <dcbw@redhat.com>
17415
17416         * src/NetworkManagerPolicy.c
17417                 - (nm_policy_activation_finish): Deactivate a device if its activation fails,
17418                         and NULL out data->active_device so that we have to choose another one.
17419                         This may make NetworkManager keep attempting to connect to a wired network
17420                         if it fails, but if it keeps failing the wired network has more problems than
17421                         just NetworkManager.
17422
17423         * src/backends/NetworkManagerRedHat.c
17424                 - (nm_system_update_dns): fix to actually run nscd -i hosts when nscd
17425                         is already running
17426
17427         * named/nm-named-manager.c
17428                 - (rewrite_resolv_conf): Call nm_system_update_dns() when not using
17429                         named so that the distro can flush whatever name service caching
17430                         daemon it uses
17431
17432 2005-02-21  Dan Williams  <dcbw@redhat.com>
17433
17434         * src/NetworkManagerDHCP.[ch]
17435                 - (nm_device_dhcp_remove_timeouts): new function
17436
17437         * src/NetworkManagerDevice.c
17438                 - Use nm_device_dhcp_remove_timeouts() everywhere that we need to
17439                         remove the DHCP timeouts.
17440
17441 2005-02-21  Dan Williams  <dcbw@redhat.com>
17442
17443         * panel-applet/NMWirelessApplet.[ch]
17444           panel-applet/menu-info.[ch]
17445                 - Give the panel applet some major love: menu items are no longer
17446                         subclasses of GtkCheckMenuItem, they are actual GtkCheckMenuItems.
17447                         This allows the applet to actually reflect theme changes correctly,
17448                         since themeing of subclassed items in GTK _sucks_.
17449
17450 2005-02-18  Dan Williams  <dcbw@redhat.com>
17451
17452         * libnm_glib/libnm_glib.[ch]
17453           test/libnm_glib_test.c
17454                 - Clean up libnm_glib API a bit, callback is now passed a libnm_glib_ctx
17455                         and its data, and doesn't have to free the callback data anymore
17456
17457 2005-02-18  Dan Williams  <dcbw@redhat.com>
17458
17459         * panel-applet/NMWirelessApplet.c
17460                 - Revert 2005-02-18 William Jon McCann fix for standard
17461                         copyright string until it passes 'make distcheck'.
17462                         With standard copyright string, xgettext complains
17463                         about "Non-ASCII string at ...".
17464
17465 2005-02-18  Dan Williams  <dcbw@redhat.com>
17466
17467         * panel-applet/essid.glade
17468           panel-applet/NMWirelessAppletOtherNetworksDialog.c
17469                 - Correct spelling of "adaptor"->"adapter"
17470
17471 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17472
17473         * panel-applet/NMWirelessApplet.c: Use GTK_CHECK_VERSION() macro.
17474         (nmwa_about_cb): Use standard copyright string.  Update comment
17475         text to reflect that it is a notification area applet.  Remove
17476         leading newline in authors list.
17477         (nmwa_menu_show_cb, nmwa_setup_widgets): Populate menu on show
17478         instead of on parent menu item activation.  Fixes #167550.
17479
17480 2005-02-18  William Jon McCann  <mccann@jhu.edu>
17481
17482         * panel-applet/essid.glade: Capitalize items as per HIG.
17483           Fixes #167632
17484
17485 2005-02-16  William Jon McCann  <mccann@jhu.edu>
17486
17487         * panel-applet/gtkcellrendererprogress.[ch]: Only compile these
17488         files for GTK 2.4 or lower, since now public in GTK 2.6.
17489
17490         * panel-applet/essid.glade: Don't specify window size.
17491         
17492 2005-02-17  Dan Williams  <dcbw@redhat.com>
17493
17494         Caught by Bill Moss:
17495         * dhcpcd/client.c
17496                 - Time remaining for DHCP transaction calculation was incorrectly
17497                         inside a #ifdef DEBUG
17498
17499 2005-02-15  Christophe Merlet  <redfox@redfoxcenter.org>
17500
17501         * configure.in: Added fr (French) to ALL_LINGUAS.
17502
17503 2005-02-14  Dan Williams  <dcbw@redhat.com>
17504
17505         * src/NetworkManagerDHCP.c
17506                 - (set_domain_searches): Fix free of invalid pointer
17507
17508 2005-02-14  Dan Williams  <dcbw@redhat.com>
17509
17510         Patch from Peter Jones:
17511         * dhcpcd/client.c
17512                 - Ensure we return RET_DHCP_CEASED everywhere we should
17513         * dhcpcd/udpipgen.c
17514                 - Use faster TOS for IP packets
17515                 - Don't set ip_id since we're UDP
17516
17517         Patch from Tomislav Vujec:
17518         * src/nm-dbus-dhcp.c
17519           test/nm-dhcp-opt-test.c
17520                 - Clean up warnings to enable cvs tree compilation.
17521
17522 2005-02-14  Tomislav Vujec  <tvujec@redhat.com>
17523
17524         * configure.in
17525           po/hr.po
17526                 - Add the Croatian locale.
17527
17528 2005-02-14  Colin Walters  <walters@verbum.org>
17529
17530         * src/NetworkManagerDHCP.c (set_domain_searches): Handle space-separated
17531         list of domains to search.
17532         
17533         * src/NetworkManagerMain.h (NMData): Handle multiple domain searches.
17534
17535 2005-02-13  Dan Williams  <dcbw@redhat.com>
17536
17537         * dhcpcd/client.c
17538                 - Debug output cleanups of DHCP option printing and parsing.
17539
17540 2005-02-13  Dan Williams  <dcbw@redhat.com>
17541
17542         Patch from Dan Reed:  DHCP options D-BUS API
17543                 Exposes the DHCP options that a device receives to clients over D-BUS.
17544
17545         * configure.in
17546                 - A few cleanups
17547
17548         * dhcpcd/client.h
17549                 - Correct names, option length, and types for DHCP options
17550
17551         * dhcpcd/dhcpcd.[ch]
17552                 - Clarify function names that access DHCP options & data
17553
17554         * src/NetworkManagerDHCP.c
17555                 - Use new DHCP data access functions
17556
17557         * src/NetworkManagerDbus.c
17558                 - Message handler for DHCP functions
17559
17560         * src/nm-dbus-dhcp.[ch] (new)
17561                 - DHCP dbus methods
17562
17563         * test/nm-dhcp-opt-test.c
17564                 - Test DHCP D-BUS API and return all present DHCP options
17565
17566 2005-02-12  Dan Williams  <dcbw@redhat.com>
17567
17568         * test/Makefile.am
17569           test/nmclienttest.c
17570           test/nmtest.c
17571                 - Move nmclienttest.c -> nmtest.c
17572
17573 2005-02-12  Dan Williams  <dcbw@redhat.com>
17574
17575         * dhcpcd/buildmsg.c
17576                 - Pad DHCP packets until they are at least 300 bytes in size.
17577
17578 2005-02-11  Dan Williams  <dcbw@redhat.com>
17579
17580         * dhcpcd/client.c
17581                 - (dhcp_init): only print out client ID and class ID if they are specified
17582
17583         * src/NetworkManagerDbus.[ch]
17584           src/nm-dbus-nm.[ch]
17585           src/nm-dbus-device.[ch]
17586           src/nm-dbus-net.[ch]
17587                 - Move NM, Device, and Net functions to separate files and use the
17588                         dbus method list stuff in NetworkManagerDbusUtils.c to do
17589                         method dispatching
17590
17591         * src/NetworkManagerDbusUtils.c
17592                 - Add new validate_method called before each dispatch (if present)
17593                         that can validate the method call
17594
17595         * src/NetworkManagerWireless.c
17596                 - (nm_wireless_qual_to_percent): Fix misplaced "!" that caused signal
17597                         levels never to be evaluated
17598
17599         Patch from j@bootlab.org
17600         * src/NetworkManagerDevice.c
17601                 - Add typedef for "u64"
17602
17603         * src/backends/NetworkManagerDebian.c
17604                 - Copy in Dave Woodhouse's fixes for IPv6
17605
17606 2005-02-11  Dan Williams  <dcbw@redhat.com>
17607
17608         Patch from Dave Woodhouse for IPv6:
17609         * src/NetworkManagerUtils.c
17610                 - (nm_ethernet_address_is_valid): Check for prism54 dummy MAC address
17611                         and multicast addresses
17612
17613         * src/NetworkManagerDevice.c
17614                 - (nm_device_set_up_down): make sure our cached MAC address is up-to-date
17615                         after bringing up a card.
17616
17617 2005-02-10  Dan Williams  <dcbw@redhat.com>
17618
17619         Patch from Dave Woodhouse:
17620         * src/NetworkManagerSystem.h
17621           src/backends/NetworkManagerDebian.c
17622           src/backends/NetworkManagerGentoo.c
17623           src/backends/NetworkManagerSlackware.c
17624                 - New nm_system_device_add_ip6_link_address() function to add link-local
17625                         address on an interface.  Stubbed in Debian, Gentoo, and Slackware.
17626
17627         * src/backends/NetworkManagerRedHat.c
17628                 - (nm_system_device_add_ip6_link_address): implement
17629                 - (nm_system_device_flush_addresses): revert to previous behavior of
17630                         flushing all addresses
17631
17632 2005-02-10  Dan Williams  <dcbw@redhat.com>
17633
17634         Patch from Tom Parker:
17635         * src/NetworkManagerDevice.c
17636                 - Remove the "#include <pci/types.h>" since both the ethtool.h and
17637                         mii.h headers are broken, and instead use our own typedefs
17638
17639 2005-02-10  Dan Williams  <dcbw@redhat.com>
17640
17641         * dhcpcd/buildmsg.c
17642                 - (fill_host_and_class_id): only fill in client and class IDs if
17643                         they are set by callers.
17644
17645         * dhcpcd/client.c
17646                 - (class_id_setup): don't autogenerate a class ID, only use one
17647                         we're given, if any.
17648                 - (client_id_setup): don't autogenerate a client ID, only use one
17649                         we're given, if any.
17650
17651         * dhcpcd/dhcpcd.c
17652                 - (dhcp_interface_init): ensure that client options are correctly
17653                         NULL terminated
17654
17655         * src/NetworkManagerDHCP.c
17656                 - (nm_device_dhcp_request): pass hostname to dhcp library
17657
17658 2005-02-10  Dan Williams  <dcbw@redhat.com>
17659
17660         * dhcpcd/client.c
17661                 - #rh147661# Don't send kernel version in DHCP requests
17662
17663         * src/NetworkManagerSystem.h
17664           src/backends/NetworkManagerDebian.c
17665           src/backends/NetworkManagerGentoo.c
17666           src/backends/NetworkManagerRedHat.c
17667           src/backends/NetworkManagerSlackware.c
17668                 - Remove the nm_system_device_run_dhcp() and nm_system_device_stop_dhcp()
17669                         functions, they are no longer used anyway
17670
17671         * src/backends/NetworkManagerRedHat.c
17672                 - (nm_system_device_flush_addresses): only flush "scope global" and "scope site"
17673                         addresses in an attempt to keep IPv6 local-scope addresses around
17674
17675 2005-02-10  Dan Williams  <dcbw@redhat.com>
17676
17677         * src/NetworkManager.c
17678                 - (nm_create_device_and_add_to_list): change the add message slightly
17679
17680         * src/NetworkManagerUtils.c
17681                 - (nm_get_wireless_driver_support_level, nm_get_wired_driver_support_level):
17682                         Return driver name to calling function
17683                 - (nm_get_driver_support_level): print out the driver a device is using
17684                         during the support check
17685
17686         Patch from Dave Woodhouse:
17687         * dhcpcd/udpipgen.c
17688                 - (in_cksum): copy last byte of odd-sized packets into a
17689                         'u_short' rather than a 'u_char', should fix wrong checksums
17690                         on big-endian platforms
17691
17692 2005-02-09  Dan Williams  <dcbw@redhat.com>
17693
17694         * Clean up usage of GSList objects and looping through their members
17695         * Clean up DHCP rebind/renew timeouts, hopefully they will work correctly
17696                 now.
17697         * Fix problem where even if scanning was turned off, card would still
17698                 cycle through frequencies.
17699
17700 2005-02-08  Dan Williams  <dcbw@redhat.com>
17701
17702         * panel-applet/NMWirelessApplet.c
17703                 - Fix for gtk 2.4
17704
17705 2005-02-08  Dan Williams  <dcbw@redhat.com>
17706
17707         Patch from Bill Moss
17708         * panel-applet/NMWirelessApplet.c
17709                 - Restore correct ESSID in tooltips
17710
17711 2005-02-07  Dan Williams  <dcbw@redhat.com>
17712
17713         * panel-applet/NMWirelessApplet.[ch]
17714                 - Add a context menu that contains:
17715                         Pause/Resume Wireless Scanning
17716                         Stop/Start All Wireless Devices
17717                         About...
17718                 - Grab active device strength off active device,
17719                         not its network
17720
17721         * panel-applet/NMWirelessAppletDbus.[ch]
17722                 - Add DBUS accessors for "getSupportsCarrierDetect", "setScanningEnabled",
17723                         "getScanningEnabled", "setWirelessEnabled", and "getWirelessEnabled"
17724                 - Update active device strength every 2 seconds, not every 1 second
17725
17726         * panel-applet/menu-info.c
17727                 - Only disable wired devices in the menu when they support carrier detection,
17728                         and don't currently have a link.  Non-carrier-detect devices will always
17729                         remain choosable
17730
17731         * src/Makefile.am
17732           src/NetworkManagerDbusUtils.[ch]
17733                 - Add new new dbus utils sources
17734
17735         * src/NetworkManager.c
17736                 - Fixes for new link detection, we no longer need to call nm_device_update_link_active()
17737                         with the boolean parameter
17738                 - Set scanning_enabled & wireless_enabled to TRUE
17739
17740         * src/NetworkManagerDbus.c
17741                 - Use new dbus util method dispatcher functions for org.freedesktop.NetworkManager methods
17742                 - Implement scanning & wireless enable/disable calls
17743                 - Remove the dbus vtable unregister handlers, weren't doing anything with them anyway
17744
17745         * src/NetworkManagerDevice.c
17746                 - New link detection stuff again...
17747                         o  Create device's mainloop earlier (but don't run it earlier)
17748                         o  Hook up new carrier-detect support stuff
17749                         o  Add in the ethtool & mii support detection code
17750                 - Don't scan if scanning is disabled
17751
17752         * src/NetworkManagerPolicy.c
17753                 - Never automatically choose a device that doesn't support carrier detection
17754                 - Don't automatically choose a wireless device if wireless is disabled
17755
17756 2005-02-07  Dan Williams  <dcbw@redhat.com>
17757
17758         * libnm_glib/libnm_glib.c
17759                 - Small cleanup in element list iteration
17760
17761 2005-02-07  Dan Williams  <dcbw@redhat.com>
17762
17763         * src/NetworkManagerWireless.c
17764                 - (nm_wireless_qual_to_percent): Fix up wireless quality calculations
17765                         to be in line with the WEXT quality specification
17766
17767 2005-02-02  Dan Williams  <dcbw@redhat.com>
17768
17769         Patch from Nathan Fredrickson <nathan@silverorange.com>
17770         * Fix up compile for deprecation of libgnomeui
17771                 - Switch to <glib/gi18n.h> from <libintl.h>
17772                 - Remove <libgnomeui/libgnomeui.h> includes
17773                 - Use gtk_window_set_default_icon_from_file() rather than
17774                         gnome_window_set_default_icon_from_file()
17775
17776         * named/nm-named-manager.c
17777                 - (generate_named_conf): Fix return-nothing in non-void
17778                         function
17779
17780 2005-02-02  Dan Williams  <dcbw@redhat.com>
17781
17782         * Clean up unused variables and the like
17783
17784 2005-02-02  Dan Williams  <dcbw@redhat.com>
17785
17786         * src/NetworkManagerAPList.c
17787                 - (nm_ap_list_merge_scanned_ap): merge strength too
17788
17789         * src/NetworkManagerUtils.c
17790                 - (nm_lock_mutex, nm_register_mutex_desc): new calls to facilitate debugging
17791                         of locking issues by printing out prettier information than g_mutex_lock
17792                 - Print out names of mutexes registered with nm_register_mutex_desc()
17793                 - (nm_try_lock_mutex): don't do the waiting thing when trying to lock, causes
17794                         us to seemingly block here for too long
17795
17796         * src/NetworkManager.c
17797           src/NetworkManagerAPList.c
17798           src/NetworkManagerDevice.c
17799                 - Convert to using nm_lock_mutex/nm_unlock_mutex rather than the glib variants
17800                         so we get better debug information printed
17801
17802         * src/NetworkManagerDbus.c
17803                 - (nm_dbus_devices_handle_request): reduce usage of nm_device_need_ap_switch()
17804                         since it sometimes has locking side effects
17805                 - (nm_device_get_association_pause_value): Reduce 802.11a card pause value to 8s
17806                         from 10s
17807                 - (nm_device_need_ap_switch): If we can't acquire the scan lock, return saying
17808                         we don't need a switch.  This gets called often enough that we can't block
17809                         until the scan mutex is acquired, because we'll block on device activation
17810                         and a few other things, which hangs main thread for too long.
17811
17812         * src/NetworkManagerPolicy.c
17813                 - (nm_policy_auto_get_best_device): reduce the possiblity that
17814                         nm_device_need_ap_switch() will be called               
17815
17816 2005-02-02  Dan Williams  <dcbw@redhat.com>
17817
17818         * panel-applet/NMWirelessApplet.c
17819                 - Display name of wireless network we are connecting to or connected to
17820                         in the tooltip of the applet
17821
17822 2005-02-02  Dan Williams  <dcbw@redhat.com>
17823
17824         * src/NetworkManagerDHCP.c
17825                 - Hopefully fix double-default-route problem by cleaning up the default
17826                         route added by DHCP code right before the DHCP transaction begins
17827
17828 2005-02-02  Dan Williams  <dcbw@redhat.com>
17829
17830         * named/nm-named-manager.c
17831                 - Write out valid resolv.conf when we exit
17832
17833 2005-02-01  Dan Williams  <dcbw@redhat.com>
17834
17835         Patch from Colin Walters:
17836         * named/nm-named-manager.c
17837                 - Make multi-domain search options work
17838
17839 2005-01-31  Dan Williams  <dcbw@redhat.com>
17840
17841         * info-daemon/NetworkManagerInfoDbus.c
17842                 - (nmi_dbus_nmi_message_handler): make sure 'dialog' exists before using it
17843
17844         * src/NetworkManagerDevice.c
17845                 - (nm_device_new): Don't store the entire range struct, use only what we need
17846                         (which is currently avg_quality, max_quality, and frequencies).  Also
17847                         zero device structure when we've free'd it to maybe expose errors down
17848                         the line.
17849                 - (nm_device_update_signal_strength): grab the scan mutex before getting
17850                         quality data from the card since quality will be useless during a scan.
17851                         Call updated wireless qual-to-percent function with values stored in
17852                         nm_device_new() earlier.
17853                 - Remove some unused functions (nm_device_get_max_quality(), nm_device_get_noise(),
17854                         nm_device_get_bad_crypt_packets())
17855                 - (nm_device_activate_wireless_adhoc): use new frequency values we go in
17856                         nm_device_new()
17857                 - (get_initial_auth_method): always use the Auth method that's in the allowed
17858                         list if available.  Problem was this: when the WEP key is wrong, NM will
17859                         try OS then SK modes, and then get stuck in SK mode after that.  This
17860                         should reset it.
17861                 - (nm_device_wireless_process_scan_results): work with new qual-to-percent
17862                         function
17863
17864         * src/NetworkManagerWireless.c
17865                 - (nm_wireless_qual_to_percent): try to make this function actually work and
17866                         mimic iwlib behavior.  Use card's idea of quality divided by max_qual
17867                         if that's all present, otherwise fall back to signal-to-noise ratios.
17868
17869 2005-01-29  Dan Williams  <dcbw@redhat.com>
17870
17871         * initscript/RedHat/NetworkManager
17872                 - Don't spit out sysctl stuff to console
17873
17874         * libnm_glib/libnm_glib.c
17875                 - (libnm_glib_init): call dbus_g_thread_init()
17876
17877         * panel-applet/NMWirelessAppletDbus.c
17878                 - (nmwa_dbus_worker): call dbus_g_thread_init()
17879
17880         * src/NetworkManager.c
17881                 - (main): call dbus_g_thread_init()
17882
17883         * src/NetworkManagerAPList.c
17884                 - (nm_ap_list_print_members): use LOG_ERR instead of LOG_DEBUG
17885                         so we can actually see what's there in a normal syslog
17886
17887         * src/NetworkManagerDevice.c
17888                 - (nm_device_activate_wireless): print out the "waiting for access point"
17889                         message only once, then say what access point we actually got after
17890                         the wait.
17891                 - (nm_device_need_ap_switch): If a scan is in progress when we're in this
17892                         function, wait until the scan is done.  Scans may change the ESSID of
17893                         the card, making this function think we need to switch access points
17894                 - (nm_device_wireless_process_scan_results): for artificial access points
17895                         don't check against the card's ESSID, but the best_ap's ESSID.  This
17896                         prevents collisions with the scanning code, which may change the card's
17897                         ESSID and cause the access point to get dropped from the device's AP
17898                         list.  Also increase the keep-around time to 2m from 60s since the max
17899                         scan interval could be 60s in some cases.
17900
17901         * src/NetworkManagerPolicy.c
17902                 - (nm_policy_activation_finish): Don't add invalid MAC addresses to GConf
17903                 - (nm_policy_allowed_ap_list_update): When we update, make sure we copy over
17904                         the new properties and ESSIDs to the device's AP list.  Fixes some races
17905                         between NM and NMI.
17906
17907 2005-01-27  Dan Williams  <dcbw@redhat.com>
17908
17909         * info-daemon/NetworkManagerInfoDbus.c
17910                 - (nmi_dbus_add_network_address): if the network doesn't yet exist in
17911                         GConf, make a minimal entry for it (essid & timestamp)
17912
17913         * src/NetworkManagerAPList.c
17914                 - (nm_ap_list_populate_from_nmi): Don't try to grab network data if
17915                         NetworkManagerInfo isn't running
17916
17917         * src/NetworkManagerDbus.[ch]
17918                 - (nm_dbus_nmi_is_running): new function
17919
17920         * src/NetworkManagerDevice.c
17921                 - (nm_device_wireless_force_use): Don't set the created AP's MAC
17922                         address to garbage.
17923
17924         * src/NetworkManagerPolicy.c
17925                 - (nm_policy_activation_finish): On successful activation, make sure
17926                         the "best" AP has a MAC address, and don't tell NMI to add the
17927                         current AP's MAC address to GConf if the AP is an Ad-hoc AP.
17928                 - (nm_policy_allowed_ap_list_update): Update a wireless card's "best"
17929                         access point after refreshing our allowed list if it doesn't already
17930                         have a "best" access point.
17931
17932 2005-01-25  Dan Williams  <dcbw@redhat.com>
17933
17934         * panel-applet/NMWirelessAppletDbus.c
17935                 - (nmwa_dbus_filter): Fix dbus 0.23 ServiceOwnerChanged checks
17936                         so we check for NM_DBUS_SERVICE rather than not for it
17937
17938         * libnm_glib/libnm_glib.c
17939                 - (libnm_glib_dbus_filter): Fix for dbus 0.23, trapping
17940                         ServiceOwnerChanged signal
17941
17942 2005-01-25  Dan Williams  <dcbw@redhat.com>
17943
17944         * configure.in
17945                 - Check DBUS version in configure, and set the C macros
17946                         DBUS_VERSION_[MAJOR,MINOR,MICRO]
17947
17948         * info-daemon/NetworkManagerInfoDbus.c
17949                 - Remove #if 0-d section of code that quit NMI if NM went away.
17950
17951         * panel-applet/NMWirelessAppletDbus.c
17952                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
17953
17954         * src/NetworkManager.c
17955           src/NetworkManagerMain.h
17956           src/NetworkManagerDbus.c
17957                 - Trap the "ServiceOwnerChanged" signal that's new in dbus-0.23
17958                 - Make updating of our Allowed Wireless Network lists from NMI
17959                         an idle function in the main thread now, with a high priority.
17960
17961 2005-01-24  Dan Williams  <dcbw@redhat.com>
17962
17963         * panel-applet/gtkcellview.[ch]
17964           panel-applet/menu-info.c
17965                 - Fix GTK version checks to be <= rather than <
17966
17967         * test/Makefile.am
17968                 - Include the libtool archive of libnm_glib rather than
17969                         trying to pull in the .so
17970
17971 2005-01-24  Dan Williams  <dcbw@redhat.com>
17972
17973         * src/NetworkManagerDevice.c
17974           src/NetworkManagerDevicePrivate.h
17975                 - Block nm_device_new() until our device's worker thread has had a
17976                         chance to start up.  Fixes a race between main thread and worker
17977                         thread starting that caused activation requests to get lost.
17978
17979 2005-01-24  Dan Williams  <dcbw@redhat.com>
17980
17981         * initscript/RedHat/NetworkManager
17982                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
17983                         to add the NM startup script at priority 50, which was
17984                         way too early
17985
17986 2005-01-24  Colin Walters  <walters@redhat.com>
17987
17988         * named/named.conf: Use any port for query source instead of
17989         restricting to port 53.
17990
17991 2005-01-24  Dan Williams  <dcbw@redhat.com>
17992
17993         * initscript/RedHat/NetworkManager
17994                 - Remove the ### BEGIN INIT INFO section, which caused chkconfig
17995                         to add the NM startup script at priority 50, which was
17996                         way too early
17997
17998 2005-01-24  Dan Williams  <dcbw@redhat.com>
17999
18000         Patch from Tom Parker <palfrey@tevp.net>
18001         * Fix up compile warnings & errors in the wireless applet
18002
18003 2005-01-24  Dan Williams  <dcbw@redhat.com>
18004
18005         * panel-applet/NMWirelessApplet.c
18006                 - Convert 24x24 icons back to 22x22 and use the 22x22 ones
18007
18008 2005-01-24  Dan Williams  <dcbw@redhat.com>
18009
18010         * panel-applet/gtkcellview.[ch]
18011                 - Only compile these files for GTK 2.4 or lower, since 
18012                         GtkCellView is now public in GTK 2.6.  Fixes crasher
18013                         when choosing "Other Wireless Networks" from the panel
18014                         applet menu
18015
18016 2005-01-21  Dan Williams  <dcbw@redhat.com>
18017
18018         * src/NetworkManager.c
18019                 - Daemonize earlier so that glib doesn't get confused (?)
18020
18021 2005-01-21  Dan Williams  <dcbw@redhat.com>
18022
18023         * panel-applet/NMWirelessApplet.[ch]
18024           panel-applet/NMWirelessAppletDbus.c
18025           panel-applet/menu-info.c
18026           src/NetworkManagerDevice.c
18027                 - Disable wired devices in the menu when they have no link.
18028
18029 2005-01-21  Dan Williams  <dcbw@redhat.com>
18030
18031         * Cache last-known-good wireless authentication method in
18032                 NetworkManagerInfo, and use that method first during
18033                 wireless device activation.  Should speed up devices that
18034                 need Shared Key authentication method since Open System is
18035                 now the default.
18036
18037         * Remove the hack to not do full activation on wired connections
18038                 that are active when we launch, it causes too many problems
18039                 with name resolution and was a hack in the first place.
18040
18041         * Re-work wireless device activation again somewhat to have a
18042                 clearer chain of events and to use last-known-good
18043                 authentication method of the access point.  Also provide
18044                 better status throughout activation to ensure the applet
18045                 can tell the user exactly what's going on.
18046
18047         * Remove the "find wireless network" code and now simply attempt
18048                 to activate with that access point.  This reduces the delay
18049                 between selecting "Other wireless Network" and actually
18050                 connecting to that network.
18051
18052         * Correctly stop the device's worker thread when its removed.
18053
18054 2005-01-21  Dan Williams  <dcbw@redhat.com>
18055
18056         * dhcpcd/client.c
18057                 - Clean up some of the debug messages
18058
18059 2005-01-21  Dan Williams  <dcbw@redhat.com>
18060
18061         * Add new icons, more frames of animation
18062         * Remove some hacks to get the panel applet to display correct
18063                 status, an NM update will soon follow that will fix the
18064                 real issue.
18065
18066 2005-01-19  Kjartan Maraas  <kmaraas@gnome.org>
18067
18068         * panel-applet/NMWirelessApplet.c: #include <config.h> must be
18069         the first include for working i18n. Also, don't include it in .h files
18070         * panel-applet/NMWirelessApplet.h: Same
18071         * panel-applet/NMWirelessAppletOtherNetworkDialog.c: Same
18072         * panel-applet/menu-info.c: Same
18073
18074 2005-01-18  Dan Williams <dcbw@redhat.com>
18075
18076         * dhcpcd/client.c
18077                 - Remove some debug messages
18078                 - Wrap others in #ifdef DEBUG/#endif
18079
18080         * src/NetworkManager.c
18081                 - Remove some debug messages
18082                 - Clarify some debug messages
18083                 - Remove code related to old single-thread wireless scanning
18084
18085         * src/NetworkManagerAP.[ch]
18086                 - New AP property "last_seen" to track how recently an AP was
18087                         found in a scan
18088                 - Start using 'const' more in function arguments
18089
18090         * src/NetworkManagerAPList.[ch]
18091                 - (nm_ap_list_merge_scanned_ap): new, selectively update attributes
18092                         of an AP found in an AP list from a source AP, or if not found
18093                         in the list add the source AP
18094                 - (nm_ap_list_combine): remove, no longer needed
18095
18096         * src/NetworkManagerDevice.c
18097                 - Each device now has a "worker" thread from start to end of its life.
18098                         Scanning for wireless devices now happens in that thread,
18099                         not in a single "wireless scanning thread" for all devices as
18100                         previously.  Activation consists of adding an idle handler to the
18101                         thread's main loop/context, which gets run at the next available
18102                         opportunity.
18103                 - Wireless scanning is also simplified, there is now only one list of
18104                         access points per wireless device, and APs older than 60s are
18105                         removed from the list.  Previously, we kept results for the last
18106                         3 scans and merged whole lists, which was complicated.
18107                 - Cleaned up activation debug messages.
18108                 - Wireless activation and access-point search routines now use Open System
18109                         authentication before trying Shared Key.
18110                 - Removed some code in nm_device_update_best_ap() that could cause cards
18111                         to loose their link to the access point.
18112                 - Scanning now uses a backoff algorithm, where the inverval becomes
18113                         progressively longer between scans when the list of scanned access
18114                         points doesn't change.  A change will revert to the shortest scan
18115                         interval (20s).
18116
18117         * src/NetworkManagerWireless.[ch]
18118                 - Remove code related to old single-thread wireless scanning
18119
18120 2005-01-18  Colin Walters  <walters@redhat.com>
18121
18122         * src/NetworkManagerDHCP.c (set_nameservers): Free and clear list
18123         of older nameservers.
18124
18125 2005-01-18  Colin Walters  <walters@redhat.com>
18126
18127         * named/nm-named-manager.c (generate_named_conf): Many fixes
18128         to config file generation.
18129         (safer_kill): Remove, was too much trouble for little gain.
18130         (nm_named_manager_start): Run named as NM_NAMED_USER.
18131
18132         * configure.in: Add option --with-named-user.
18133
18134 2005-01-14  Colin Walters  <walters@redhat.com>
18135
18136         Patch from ed@catmur.co.uk (Ed Catmur)
18137
18138         * named/nm-named-manager.c: Add "context" property.
18139         Use it to add child watch source in specific GMainContext.
18140
18141         * src/NetworkManager.c (nm_data_new): Initialize
18142         named with correct main context.  Start named only
18143         after forking.
18144
18145 2005-01-14  Colin Walters  <walters@redhat.com>
18146
18147         * named/nm-named-manager.c (generate_named_conf): Write config
18148         and pid files into NM_NAMED_DATA_DIR; this allows things to
18149         work better with FC3 named SELinux policy.  Also fix up silly
18150         format error.
18151
18152         * configure.in: Add --with-named-dir option.
18153
18154 2005-01-14  Colin Walters  <walters@redhat.com>
18155
18156         * configure.in: Make named support require passing --with-named.
18157
18158         * named/nm-named-manager.c: Support writing resolv.conf directly
18159         without running named.
18160
18161 2005-01-13  Dan Williams <dcbw@redhat.com>
18162
18163         * named/nm-named-manager.c
18164                 - Use syslog(LOG_WARNING) rather than g_warning() (gnome.org #163961)
18165
18166         * src/NetworkManagerDevice.c
18167                 - Rework wireless link detection code to be more reliable
18168
18169 2005-01-12  Dan Williams <dcbw@redhat.com>
18170
18171         * initscripts/RedHat/NetworkManager
18172                 - Change initial level to "-" rather than "345" so that
18173                         we don't activate ourselves by default on install
18174
18175 2005-01-12  Dan Williams <dcbw@redhat.com>
18176
18177         * libnm_glib/
18178                 - Client library for applications using glib
18179
18180         * configure.in
18181           various Makefiles
18182                 - Split NM_CFLAGS and NM_LIBS into separate variables
18183                         like DBUS_*, HAL_* and GLIB_*
18184
18185         * src/NetworkManager.c
18186           src/NetworkManagerMain.h
18187                 - (nm_schedule_status_signal_broadcast): at the earliest convenience,
18188                         broadcast a status changed signal over DBUS from the main thread.
18189                         Still unused anywhere for the moment.
18190
18191         Patch from j@bootlab.org
18192         * panel_applet/NMWirelessAppletDbus.c
18193           src/NetworkManagerDbus.c
18194                 - Correct INT32->UINT32 mistmatch between NM and the panel applet
18195                         for the "getMode" method call
18196
18197 2005-01-10  Dan Williams <dcbw@redhat.com>
18198
18199         * src/NetworkManagerDevice.c
18200                 - Minor fixups & corrections to "auto" frequency mode, make it
18201                         less chatty with syslog
18202
18203 2005-01-10  Dan Williams <dcbw@redhat.com>
18204
18205         * src/NetworkManagerDevice.c
18206                 - Implement "auto" frequency/channel support, since cards like Atheros
18207                         can't use other frequencies at all when you've told it to use a
18208                         specific one, even for scanning.
18209                 - Grab the scan mutex around places where we can't tolerate wireless
18210                         settings changing underneath us, like nm_device_wireless_network_exists()
18211                         and nm_device_activate_wireless()
18212
18213         * src/NetworkManagerWireless.c
18214                 - Back scan interval off to 20s instead of 14s
18215
18216 2005-01-09  Dan Williams <dcbw@redhat.com>
18217
18218         * src/NetworkManagerDevice.c
18219                 - Don't set mode/freq/bitrate if that mode/freq/bitrate is
18220                         already set.  Stops some drivers like Atmel from continually
18221                         reloading the firmware, which they do upon every configuration
18222                         change.
18223
18224 2005-01-09  Dan Williams <dcbw@redhat.com>
18225
18226         * dhcpcd/client.c
18227                 - Use correct timeout value
18228
18229         * info-daemon/NetworkManagerInfoDbus.c
18230           src/NetworkManagerDbus.c
18231                 - Consolidate communication between NM and NMI by doing only 1 dbus
18232                         method call to get Wireless Network info from NMI instead of 6
18233
18234         * src/NetworkManager.c
18235                 - Make sure to cancel activation when we receive a SIGTERM, otherwise
18236                         when we didn't have an AP to use, we'd wait for one forever without
18237                         quitting
18238
18239         * src/NetworkManagerDevice.c
18240                 - nm_device_activation_cancel(): Fix a race between dhcp and quitting
18241                         activation, dhcp might not have started yet but we don't quit activation
18242                         before starting it, so the quit signal gets lost
18243
18244 2005-01-07  Dan Williams <dcbw@redhat.com>
18245
18246         * dhcpcd/client.c
18247                 - Rework the DHCP client code to be much less chatty when
18248                         it receives non-DHCP UDP packets during the DHCP run
18249                         (reported by and preliminary patches from Bill Moss)
18250
18251         * Move wireless scanning to a separate thread.  This thread forwards the
18252                 results to the main thread when done where they are integrated into
18253                 the device's access point lists.  This keeps the main thread (which
18254                 does all the DBUS communication) from being blocked for long periods
18255                 of time by wireless scanning.
18256
18257         * Make state modification an idle routine in the main loop, and trigger
18258                 state changes rather than polling for them.
18259
18260         * src/backends/NetworkManagerGentoo.c
18261                 - Fix up invalid C90 code (reported by Christoph Ruessler)
18262
18263         * src/NetworkManagerDevice.c
18264                 - Revert IPv6 patch for wired devices from 2004-12-22 for
18265                         router advertisements, causing problems and infinite loop
18266                         during "best" device determination due to link going up/down
18267                         (reported by Bill Moss)
18268
18269         Apply patch from Peter Jones
18270         * src/NetworkManagerDevice.c
18271                 - Shortcut for link-checking for ipw2x00 cards
18272                 - Split out association check into separate routine
18273
18274 2004-01-05  Colin Walters  <walters@redhat.com>
18275
18276         * named/named.conf: Add PID_FILE.
18277
18278         * named/nm-named-manager.c: Always generate a pid
18279         file, since older BIND versions don't support
18280         "pid-file none".
18281
18282 2005-01-01  Satoru SATOH <ss@gnome.gr.jp>
18283
18284         * configure.in (ALL_LINGUAS): Added ja (Japanese).
18285
18286 2004-12-22  Dan Williams <dcbw@redhat.com>
18287
18288         * src/NetworkManagerDevice.c
18289                 - Silently fail when setting bitrate doesn't work
18290
18291
18292         Patches from j@bootlab.org:
18293         * src/backends/NetworkManagerDebian
18294                 - Update backend to match functionality in RedHat backend
18295         * src/NetworkManagerDevice.c
18296                 - Take down then bring up wired devices after connection so
18297                 they send out ipv6 router advertisements
18298
18299 2004-12-21  Colin Walters  <walters@verbum.org>
18300
18301         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_update_devices): Correctly
18302         test for NETWORK_MODE_ADHOC; spotted by: Greg <gonufer@gmail.com>.
18303
18304 2004-12-21  Colin Walters  <walters@redhat.com>
18305
18306         * configure.in: Correct named detection.
18307
18308 2004-12-21  Colin Walters  <walters@redhat.com>
18309
18310         * src/NetworkManager.c (nm_data_new): Initialize named.
18311         Also, set up a signal handler for SIGINT/SIGTERM, and exit
18312         the mainloop when these signals are received.
18313         (nm_data_free): Unref named.
18314         (sigterm_handler, sigterm_pipe_handler): New functions for
18315         exiting mainloop.
18316         
18317         * src/NetworkManagerMain.h (NMData): Add signal handling and
18318         nameserver bits.
18319
18320         * src/NetworkManager.c (nm_device_unref): Quit device mainloop on
18321         unref.
18322
18323         * src/NetworkManagerDHCP.c (set_nameservers): New function;
18324         set nameservers from DHCP response data.
18325         (set_domain_search): Set domain search from DHCP response.
18326         (nm_device_dhcp_configure): Invoke them.
18327
18328         * src/NetworkManagerSystem.c
18329         (nm_system_device_update_resolv_conf): Delete.  Deleting
18330         code is totally sweet.
18331
18332         * src/Makefile.am (NetworkManager_LDADD): Add libnamed.
18333
18334         * named/nm-named-manager.h, named/nm-named-manager.c: New files;
18335         implements an object which controls a nameserver.  Currently
18336         uses bind 9.
18337
18338         * configure.in: Check for named.
18339
18340         * Makefile.am (SUBDIRS): Add named dir.
18341
18342         * named/named.conf: New template config file.
18343
18344 2004-12-20  Colin Walters  <walters@redhat.com>
18345
18346         * src/NetworkManagerPolicy.c (nm_policy_get_best_device): Fix usage of '=='
18347         instead of '='.
18348
18349 2004-12-17  Dan Williams  <dcbw@redhat.com>
18350
18351         * Ad Ad-Hoc networking mode support.  In Ad-Hoc mode, we only try to get
18352                 link-local addresses instead of doing DHCP.
18353
18354         * In the panel applet, there's a new "Create new Wireless Network..." item
18355
18356         * The panel applet also sticks around now even if NetworkManager dies, but
18357                 it doesn't hide its icon when NM isn't around.  Not hiding the icon is
18358                 a bug, I'll fix that later.
18359
18360         * We also don't use 'nscd' anymore in the RH backend, it was impeding name
18361                 lookups after a switch rather than actually doing them.
18362
18363         * Clean up some of those warnings in nm_ap_list_* functions
18364
18365         * Delay between scans changed to 15s instead of 10s
18366
18367 2004-12-15  Dan Williams  <dcbw@redhat.com>
18368
18369         Patch from Tom Parker
18370         * Add autoip/Link Local Addressing support when we fail to get a DHCP
18371                 address
18372
18373         * Longer pause after setting ESSID on cards that support a larger number
18374                 of channels to give the card time to find the right channel
18375
18376         * Add system hook to restart mDNSResponder (or whatever the local implementation
18377                 of Multicast DNS is) when we activate interfaces
18378
18379 2004-12-15  Dan Williams  <dcbw@redhat.com>
18380
18381         * Rework the DHCP code again to revert to sending full ethernet frames
18382                 rather then relying on the kernel to do the right thing with our
18383                 packets.
18384
18385 2004-12-06  Dan Williams  <dcbw@redhat.com>
18386
18387         * dhcpcd/client.c
18388                 - Fix some minor errors in dhcp_handle_transaction() that caused
18389                         unexpected early timeouts of DHCP transactions
18390
18391         * dhcpcd/client.h
18392                 - DHCP retransmit time from 4s -> 5s
18393
18394 2004-12-05  Dan Williams  <dcbw@redhat.com>
18395
18396         * Major rework of the DHCP code, taking some cues from pump.  We don't
18397                 write raw Ethernet packets anymore, which simplifies the code quite
18398                 a bit.  The new code should be more robust, not hang in recvfrom()
18399                 as much, and generally work better.  This also means that we need
18400                 to force HAL/dbus to use a created GMainContext rather than the
18401                 default context, since having the DHCP renew/rebind thread using
18402                 its own GMainContext seemed to give dbus a fit.  There is also more
18403                 debugging information printed from the DHCP loop to help with future
18404                 problems.
18405
18406         * Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
18407                 assume that the default gateway should be the DHCP server.
18408
18409         Patch from Matthew Schick <matt oss-institute org>
18410         * src/backends/NetworkManagerGentoo.c
18411                 - Fix compilation error due to missing "ip4_broadcast"
18412
18413 2004-12-03  Dan Williams  <dcbw@redhat.com>
18414
18415         * initscript/Makefile.am
18416         * initscript/Debian/NetworkManager
18417         * initscript/Gentoo/NetworkManager
18418         * initscript/RedHat/NetworkManager
18419         * initscript/NMLaunchHelper.c
18420                 - Remove NMLaunchHelper, if you need to wait until the network
18421                         comes up, use the dead code from CVS.
18422
18423 2004-12-01  Colin Walters  <walters@redhat.com>
18424         
18425         * configure.in: Suck in gcc warnings code from Rhythmbox,
18426         but use fewer default flags, and in particular add -Wno-unused,
18427         since the codebase has a lot of unused variables.
18428
18429         * test/nmtestdevices.c (create_device): 
18430         * test/nminfotest.c (get_network_string_property) 
18431         (get_networks_of_type): 
18432         * test/nmclienttest.c (main): 
18433         * src/NetworkManagerDbus.c (nm_dbus_create_error_message): 
18434         * initscript/NMLaunchHelper.c (get_nm_status): 
18435         * info-daemon/NetworkManagerInfoPassphraseDialog.c (update_button_cb): 
18436         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_create_error_message): 
18437         Fix declarations after statements.
18438
18439 2004-12-01  Colin Walters  <walters@redhat.com>
18440
18441         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_return_vpn_password): New method.
18442         (nmi_dbus_get_vpn_userpass): New method.
18443         (nmi_dbus_nmi_message_handler): Invoke it.
18444
18445         * info-daemon/NetworkManagerInfoDbus.h (nmi_dbus_return_vpn_password): Prototype.
18446
18447         * info-daemon/NetworkManagerInfoVPN.h,
18448         info-daemon/NetworkManagerInfoVPN.c: New files; responds
18449         to requests for VPN passwords.
18450
18451         * configure.in (GNOME_KEYRING_LIBS): Check for gnome-keyring.
18452
18453 2004-12-01  Colin Walters  <walters@redhat.com>
18454
18455         * test/nmtestdevices.c, test/nmclienttest.c: Add missing
18456         includes.
18457
18458 2004-12-01  Colin Walters  <walters@redhat.com>
18459
18460         * panel-applet/NMWirelessAppletDbus.c
18461         (nmwa_dbus_update_active_device_strength): Fix missing
18462         return value.
18463
18464 2004-12-01  Colin Walters  <walters@redhat.com>
18465
18466         * panel-applet/NMWirelessApplet.c: Add missing include.
18467
18468 2004-12-01  Colin Walters  <walters@redhat.com>
18469
18470         * src/NetworkManagerWireless.c (nm_wireless_qual_to_percent):
18471         Remove useless CLAMP (); the value is unsigned, and the case tests
18472         qual->qual < 100, so the value must always be between 0 and 100.
18473
18474 2004-12-01  Colin Walters  <walters@redhat.com>
18475
18476         * dhcpcd/buildmsg.c, dhcpcd/dhcp_test.c: Add missing includes.
18477
18478 2004-11-22  Colin Walters  <walters@verbum.org>
18479
18480         * src/backends/NetworkManagerRedHat.c (nm_system_update_dns): Run
18481         "nscd -i hosts" to invalidate the host cache instead of restarting nscd,
18482         which is essentially a noop since nscd caches hosts on disk too.
18483         
18484 2004-11-22  Colin Walters  <walters@redhat.com>
18485
18486         * src/Makefile.am (NetworkManager_SOURCES): Add
18487         NetworkManagerDevicePrivate.h.
18488
18489 2004-11-22  Dan Williams <dcbw@redhat.com>
18490
18491         * src/NetworkManagerDevicePrivate.h
18492                 - Split out the NMDevice struct to a different file so that stuff like
18493                         NetworkManagerDHCP.c and NetworkManagerSystem.c can use it
18494
18495         * dhcpcd/client.c
18496                 - fprintf->syslog
18497                 - (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
18498                         need to cancel the dhcp request during the send and recv
18499
18500         * dhcpcd/client.h
18501                 - Move the DHCP option enum to dhcpcd.h
18502
18503         * src/NetworkManagerDHCP.c
18504                 - Split out the actual IP/netmask/etc setting code
18505                 - New Renew/Rebind functions
18506                 - New timer setup function for renew/rebind operations
18507
18508         * src/NetworkManagerDevice.c
18509                 - For device activation, if we are using DHCP then keep the activation thread
18510                         alive until device deactivation.  We need to renew/rebind the DHCP address
18511                         after the T1 (renew) and T2 (rebind) times have expired.
18512                 - Increase some timeouts after bringing wireless cards up/down
18513
18514 2004-11-17  Dan Williams <dcbw@redhat.com>
18515
18516         * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly
18517                 connected to them.  Then, after a scan, match up non-ESSID-broadcasting access
18518                 points with any cached MAC addresses from NetworkManagerInfo.  Allows us to
18519                 show known access points that don't broadcast their ESSID in the menus without
18520                 any user intervention whatsoever.
18521
18522         * info-daemon/NetworkManagerInfoDbus.c
18523                 - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions
18524                         for dbus method calls "getNetworkAddresses" and "addNetworkAddress"
18525
18526         * src/NetworkManagerAP.[ch]
18527                 - Add a "user_addresses" data member to the NMAccessPoint structure
18528                 - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing
18529                         the user_addresses data member
18530
18531         * src/NetworkManagerAPList.c
18532                 - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just
18533                         the AP's reported address
18534                 - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo
18535
18536         * src/NetworkManagerDHCP.c
18537                 - Increase DHCP timeout from 25s -> 30s
18538
18539         * src/NetworkManagerDbus.[ch]
18540                 - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set
18541                         user addresses
18542
18543         * src/NetworkManagerDevice.c
18544                 - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up,
18545                         wait 2s, then configure it.  Sometimes Prism54 cards will freeze up with
18546                         "mgnt tx queue full", seemingly in response to NM controlling the card too much.
18547                         So, we take the card down to clear it out.
18548                 - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list
18549                         too, since that's where the user_addresses are
18550
18551         * src/NetworkManagerPolicy.c
18552                 - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to
18553                         that wireless networks' user_addresses list upon successful activation
18554
18555 2004-11-16  Dan Williams <dcbw@redhat.com>
18556
18557         * src/NetworkManagerDevice.[ch]
18558                 - (nm_device_clear_activation_fail): new function
18559
18560         * src/NetworkManagerPolicy.c
18561                 - (nm_state_modification_monitor): clear the activation_failed flag on devices
18562                         when we've dealt with the failure so the user doesn't get failure-dialog-spammed
18563
18564 2004-11-16  Dan Williams <dcbw@redhat.com>
18565
18566         * src/NetworkManagerDevice.c
18567                 - (nm_device_activate_wireless): Unref best_ap upon success so we don't
18568                         leak the structure, better updating of now_scanning status
18569                 - (nm_device_wireless_network_exists): Rewrite for better/faster checking
18570
18571 2004-11-15  Dan Williams <dcbw@redhat.com>
18572
18573         Major rework of link detection code.  We now use DHCP
18574         as part of the link detection which proves to be much more robust,
18575         and also supports Open System authentication for wireless networks.
18576
18577         We no longer use external DHCP client programs.  Instead, we use 
18578         our own DHCP client, based on substantially reworked bits of 'dhcpcd'
18579         which was written by:
18580                 Yoichi Hariguchi <yoichi@fore.com>
18581                 Sergei Viznyuk <sv@phystech.com>
18582                 http://www.phystech.com/download/
18583         It resides in the "dhcpcd" directory and was refactored into a general
18584         purpose DHCP client library by me.
18585
18586         Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
18587         move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h
18588
18589 2004-11-15  Dan Williams <dcbw@redhat.com>
18590
18591         Patch from Tom Parker <palfrey@tevp.net>:
18592
18593         * src/NetworkManagerDevice.c
18594                 - Less output to console when no access
18595                         points are found during a scan
18596
18597 2004-11-15  Dan Williams <dcbw@redhat.com>
18598
18599         Patch from Tom Parker <palfrey@tevp.net>:
18600
18601         * src/backends/interface_parser.c
18602                 - Use g_strdup ()
18603                 - Check for inp == NULL
18604                 - use syslog ()
18605
18606 2004-11-13  Colin Walters  <walters@redhat.com>
18607
18608         Patch from Tom Parker <palfrey@tevp.net>:
18609
18610         * src/Makefile.am (CPPFLAGS): Switch to AM_CPPFLAGS.
18611         
18612         * src/backends/NetworkManagerRedHat.c: Switch to
18613         including shvar.h instead of shvar.c.
18614
18615         * src/backends/NetworkManagerDebian.c: Don't include
18616         interface_parser.c in source file.
18617
18618         (libnmbackend_la_SOURCES): Don't include shvar.[ch]
18619         and interface_parser.[ch].
18620         * src/Makefile.am (libnmbackend_la_SOURCES) <TARGET_REDHAT>:
18621         Include shvar.c and shvar.h here.
18622         (libnmbackend_la_SOURCES) <TARGET_DEBIAN>: Include
18623         interface_parser.c and interface_parser.h here.
18624
18625 2004-11-12  Colin Walters  <walters@redhat.com>
18626
18627         * configure.in: Strip out TARGET_DISTRO and
18628         SYSTEM_BACKEND_FILE variables.  Switch to Automake
18629         conditionals.
18630
18631         * src/Makefile.am (noinst_LTLIBRARIES): Add libnmbackend.la.
18632         (libnmbackend_la_SOURCES): Use Automake conditionals
18633         to add distro-specific files.
18634
18635         * initscript/Makefile.am (SUBDIRS): Update to
18636         use conditionals.
18637
18638 2004-11-12  Colin Walters  <walters@redhat.com>
18639
18640         Patches from j bootlab org
18641
18642         * src/Makefile.am (EXTRA_NetworkManager_SOURCES): 
18643         Add interface_parser.[ch].
18644
18645         * src/backends/NetworkManagerDebian.c (nm_system_device_run_dhcp): Invoke
18646         dhclient with "-lf /var/lib/dhcp/dhclient-%s.leases".
18647
18648 2004-11-12  Colin Walters  <walters@redhat.com>
18649
18650         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_service_init): Delete
18651         call to nmi_dbus_is_running too, not necessary anymore.
18652         * info-daemon/NetworkManagerInfoDbus.c: Include stdlib.h to
18653         pick up exit().
18654
18655 2004-11-11  Colin Walters  <walters@verbum.org>
18656
18657         * info-daemon/NetworkManagerInfoDbus.c (nmi_dbus_is_running):
18658         Delete.
18659         (nmi_dbus_service_init): Call dbus_bus_acquire_service with
18660         the DBUS_SERVICE_FLAG_PROHIBIT_REPLACEMENT flag, and
18661         then check the result for DBUS_SERVICE_REPLY_SERVICE_EXISTS.
18662         This avoids a race condition that made it pretty easily
18663         possible to get two NetworkManagerInfo daemons running.
18664
18665 2004-11-11  Colin Walters  <walters@verbum.org>
18666         
18667         * src/NetworkManager.c (main): Use daemon(3).
18668
18669         * info-daemon/NetworkManagerInfo.c (main): Ditto.
18670
18671         * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto.
18672
18673 2004-11-10 Dan Williams <dcbw@redhat.com>
18674
18675         Patches from j bootlab org
18676         * src/NetworkManagerDevice.c
18677                 - (nm_device_activate_wireless): wait 5 seconds before attempting to detect
18678                         whether the card has a link or not, some cards are slow
18679                 - (nm_device_activation_configure_ip): make ipv6 work a bit better
18680
18681         * info-daemon/NetworkManagerInfoPassphraseDialog.c
18682                 - Disable the "Login" button on the passphrase dialog until the user
18683                         enters a valid passphrase or key
18684
18685         Patches from Tom Parker <palfrey tevp net>
18686         * src/backends/NetworkManagerDebian.c
18687                 - Add static IP support to the debian backend
18688
18689         * src/backends/interface_parser.[ch]
18690                 - Parse debian interface config files
18691
18692 2004-11-08 Dan Williams <dcbw@redhat.com>
18693
18694         * src/NetworkManagerDevice.c
18695                 - Some random fprintf->syslog conversions
18696                 - (nm_device_wireless_network_exists): double-check for network
18697                 - (nm_device_find_and_use_essid): Copy over encryption key no matter what
18698
18699         * src/NetworkManagerWireless.[ch]
18700                 - (nm_wireless_[128|64]bit_ascii_to_hex): make "ascii" argument unsigned again
18701                         so that the binary->ascii conversion works (if unsigned, the bitshift
18702                         will fill with zeros, which is what's required).  Also mask bitshift
18703                         result with 0xF for futher assurance.
18704
18705 2004-11-06 Dan Williams <dcbw@redhat.com>
18706
18707         * src/NetworkManagerUtils.c
18708                 - (nm_get_wireless_driver_support_level): default to
18709                         FULLY_SUPPORTED rather than UNSUPPORTED, forgot to
18710                         flip this when changing from whitelist->blacklist of
18711                         wireless drivers
18712
18713 2004-11-05 Dan Williams <dcbw@redhat.com>
18714
18715         Patch from Robert Paskowitz:
18716         * src/backends/NetworkManagerGentoo.c
18717                 - Update static IP config code
18718
18719 2004-11-05 Dan Williams <dcbw@redhat.com>
18720
18721         * info-daemon/NetworkManagerInfoDbus.c
18722           src/NetworkManagerDbus.[ch]
18723           src/NetworkManagerDevice.c
18724                 - Keep track of the # of attempts to get the WEP key
18725                         from the user and pass that along to the info daemon
18726
18727 2004-11-05 Dan Williams <dcbw@redhat.com>
18728
18729         * src/NetworkManagerUtils.c
18730                 - Blacklist wireless cards rather than whitelisting them.
18731                 - Grab driver name from HAL rather than trying to find it
18732                         ourselves.
18733
18734 2004-11-03 Dan Williams <dcbw@redhat.com>
18735
18736         * panel-applet/NMWirelessAppletOtherNetworkDialog.c,
18737                 - Disable OK button until valid data is entered
18738                         for encryption stuff too
18739
18740         * panel-applet/NMWirelessApplet.c
18741                 - Report card strength for current AP if the card
18742                         doesn't report strength data for scanned access
18743                         points
18744
18745         * src/NetworkManagerDevice.c
18746                 - Smooth out cards reported quality, Atmel card was
18747                         intermittently reporting no quality data but soon
18748                         recovers
18749
18750         * src/NetworkManagerWireless.c
18751                 - Better quality data percentage calculation.  Atmel
18752                         cards (mine at least) seem to report the quality
18753                         in percentage format already, so honor that
18754
18755         Patch from <j@bootlab.org>
18756         * NetworkManager.h
18757           info-daemon/NetworkManagerInfoPassphraseDialog.c
18758           info-daemon/passphrase.glade
18759           panel-applet/NMWirelessAppletOtherNetworkDialog.c
18760           panel-applet/essid.glade
18761           src/NetworkManagerAP.c
18762           src/NetworkManagerDevice.c
18763           src/NetworkManagerWireless.[ch]
18764                 - Support ASCII WEP keys, in both 40/64 bit and 104/128 bit
18765
18766 2004-11-03 Dan Williams <dcbw@redhat.com>
18767
18768         * src/NetworkManagerDevice.[ch]
18769                 - (nm_device_set_enc_key): Add parameter to set Authentication
18770                         Mode (Open System, Shared Key, or None).  We're still using
18771                         Shared Key for now though.
18772
18773 2004-11-02  Bryan Clark  <clarkbw@cvs.gnome.org>
18774
18775         * panel-applet/menu-info.c: change from bold text to light
18776         colored, may cause problems with some themes, i've tested a lot
18777         and they seem fine. 
18778
18779         * panel-applet/NMWirelessApplet.c: fix strength tooltip
18780
18781 2004-11-01  Colin Walters  <walters@verbum.org>
18782
18783         * src/NetworkManagerWireless.h, src/NetworkManagerWireless.c
18784         (nm_wireless_128bit_key_from_passphrase): Add const.
18785
18786         * src/NetworkManagerAP.h, src/NetworkManagerAP.c
18787         (nm_ap_set_enc_key_source): Add const.
18788         
18789 2004-11-01  Colin Walters  <walters@verbum.org>
18790
18791         * .cvsignore: Update.
18792
18793 2004-10-29 Dan Williams <dcbw@redhat.com>
18794
18795         * src/NetworkManagerDevice.c
18796                 - (nm_device_wireless_network_exists): Actually use the encryption
18797                         key we got from the applet when attempting to find a wireless network
18798                 - Don't bring devices down so much since on some cards it triggers
18799                         firmware hotplugs each time
18800
18801         * src/NetworkManagerDbus.c
18802                 - (nm_dbus_nm_set_active_device): free the passphrase we may have gotten
18803                         from the caller
18804
18805 2004-10-29 Dan Williams <dcbw@redhat.com>
18806
18807         * src/NetworkManager.c
18808                 - (nm_hal_device_property_modified): unlock a locked active
18809                         wireless device when a wired connection gets a link.
18810                         (Means you'll switch to wired whenever you plug in no
18811                         matter what).
18812
18813 2004-10-29 Dan Williams <dcbw@redhat.com>
18814
18815         * panel-applet/NMWirelessAppletOtherNetworksDialog.[ch]
18816                 - New files, implement the "Other wireless network" dialog
18817
18818         * panel-applet/NMWirelessApplet.c
18819                 - Move "other wireless network" dialog to separate file
18820
18821         * panel-applet/NMWirelessAppletDbus.[ch]
18822                 - Take key and key_type paramaters for the set_device function
18823
18824         * panel-applet/essid.glade
18825                 - Add UI bits for encryption settings
18826
18827         * src/NetworkManagerDbus.c
18828                 - Retrieve key and key_type params for "setActiveDevice" method call
18829                         and pass them on
18830                 - unref AP returned from nm_device_get_best_ap() when needed
18831
18832         * src/NetworkManagerDevice.c
18833                 - (nm_device_get_best_ap): ref the ap before returning it
18834                 - unref AP returned from nm_device_get_best_ap() when needed
18835                 - (nm_device_activate_wireless): add "ap" parameter so we don't
18836                         need to call nm_device_get_best_ap() here, it was pretty much
18837                         redundant anyway
18838                 - (AP_NEED_KEY): break second link check condition out into separate
18839                         function, and fix segfault when ap->enc_key_source was NULL
18840                 - (nm_device_find_and_use_essid): take key and key_type parameters and
18841                         pass them along to nm_device_wireless_network_exists().  If the
18842                         network does exist, set the passed-in key+key_type on the AP
18843
18844         * src/NetworkManagerPolicy.c
18845                 - unref AP returned from nm_device_get_best_ap() when needed
18846
18847 2004-10-28 Dan Williams <dcbw@redhat.com>
18848
18849         * src/NetworkManagerUtils.c
18850                 - (nm_spawn_process): Fix a potential dereference of NULL
18851
18852         Patches from Peter Jones:
18853
18854         * src/NetworkManagerDevice.c
18855                 - (nm_device_test_wireless_extensions): Better check for
18856                         wireless devices
18857
18858         * src/NetworkManagerUtils.c
18859                 - (nm_spawn_process): Pass in valid stdout and stderr so
18860                         executed programs don't randomly SIGPIPE and fail
18861                 - (nm_get_wired_driver_support_level): quash hal warning
18862                         when checking for USB ethernet device
18863
18864 2004-10-27 Dan Williams <dcbw@redhat.com>
18865
18866         * info-daemon/NetworkManagerInfo.c
18867           info-daemon/NetworkManagerInfoDbus.c
18868           info-daemon/NetworkManagerInfoPassphraseDialog.c
18869           panel-applet/NMWirelessApplet.c
18870                 - Properly escape gconf keys
18871
18872         * src/NetworkManager.c
18873                 - remove unused variables
18874
18875         * src/NetworkManagerAP.c
18876                 - (nm_ap_new_from_ap): Don't redundantly set new APs
18877                         refcount since it got set in nm_ap_new()
18878
18879         * src/NetworkManagerAPList.c
18880                 - (nm_ap_list_combine): Give up ownership of newly created
18881                         access points to the ap list, fixes memleak
18882
18883         * src/NetworkManagerDevice.c
18884                 - Remove cached_ap_list4 member since its not really needed
18885                 - (nm_device_wireless_network_exists): Try to get correct
18886                         encryption status of a found AP if its already in our
18887                         device list
18888                 - (nm_device_do_normal_scan): Clean up scanning a bit, make
18889                         memory allocs/deallocs a bit clearer and shorter-lived
18890
18891 2004-10-26 Ray Strode <rstrode@redhat.com>
18892
18893         * panel-applet/NMWirelessApplet.c:
18894           (custom_essid_item_selected):  kill some compiler
18895         warnings 
18896
18897 2004-10-26 John (J5) Palmieri <johnp@redhat.com>
18898
18899         * info-daemon/NetworkManagerInfoDbus.c
18900                 - (nmi_dbus_is_running): New function for determining if nmi is already running
18901                 - (nmi_dbus_service_init): exit if another instance of nmi is already running
18902
18903 2004-10-23 Dan Williams <dcbw@redhat.com>
18904
18905         * info-daemon/NetworkManagerInfoDbus.c
18906                 - Trap the "DeviceActivationFailed" signal
18907
18908         * docs/NetworkManager DBUS API.txt
18909                 - Add "DeviceActivationFailed" signal
18910
18911         * panel-applet/NMWirelessAppletDbus.c
18912                 - Quash the "NetworkManager service not available" message
18913
18914         * src/NetworkManagerDbus.[ch]
18915                 - Add the "DeviceActivationFailed" signal
18916
18917         * src/NetworkManagerDevice.c
18918                 - Add support for activation_failed flag
18919                 - Fix deadlock where activation thread didn't clean itself up, making
18920                         main thread still believe it was alive forever (didn't reset activation
18921                         flags like activating, just_activated, etc when IP configuration
18922                         failed)
18923
18924         * src/NetworkManagerPolicy.c
18925                 - Implement logic for DeviceActivationFailed signal, and when activation fails
18926                         for wireless networks, try to fall back to some other access point
18927
18928 2004-10-23 Dan Williams <dcbw@redhat.com>
18929
18930         * panel-applet/NMWirelessApplet.[ch]
18931                 - Place the GtkMenuBar inside a GtkEventBox, and add the Event Box
18932                         to the applet object, so we can get tooltips
18933                 - Add tooltips (RH #136866)
18934
18935         * src/NetworkManagerDevice.c
18936                 - When trying to find a wireless network, try to connect with encryption
18937                         turned on first, so that we can more accurately detect whether or not
18938                         we need to use encryption for the actual association later on
18939
18940 2004-10-21 Dan Williams <dcbw@redhat.com>
18941
18942         * Add some support for telling NetworkManagerInfo to tell the user
18943                 that they are using a device that's not fully supported
18944
18945         * Fix some assertions in debug messages due to null access point args
18946
18947 2004-10-21 Dan Williams <dcbw@redhat.com>
18948
18949         * src/NetworkManagerDevice.c
18950                 - Don't try to activate/bring up/down unsupported
18951                         devices
18952
18953         * src/NetworkManagerUtils.c
18954                 - Fix case of PCI ID checks for driver support levels
18955
18956 2004-10-21 Dan Williams <dcbw@redhat.com>
18957
18958         * NetworkManager.h
18959                 - New file, now contains commonly used structures and bits
18960                         for the dbus API of NetworkManager
18961
18962         * Makefile.am
18963                 - Deliver NetworkManager.h to ${includedir}/NetworkManager
18964
18965         * src/NetworkManager.h
18966                 - Rename -> src/NetworkManagerMain.c
18967
18968         * Various fixups all around to use NetworkManager.h and new
18969                 src/NetworkManagerMain.h, remove redundant bits that got
18970                 moved into NetworkManager.h
18971
18972         * src/NetworkManagerDevice.[ch]
18973           src/NetworkManagerUtils.[ch]
18974           src/NetworkManagerPolicy.c
18975           src/NetworkManagerDbus.c
18976                 - Whitelist wireless drivers, and blacklist some wired
18977                         drivers.  Also blacklist cipsec and ethernet-over-usb
18978                         devices at this time (RH #135722, RH #135648)
18979                 - Don't leak unsupported devices out over dbus, or allow
18980                         them to be set as the active device.  Skip over them
18981                         during automatic device picking
18982
18983         * test/nmclienttest.c
18984                 - Clean up the dbus code a lot
18985
18986 Tue Oct 19 14:20:29 2004  Jonathan Blandford  <jrb@redhat.com>
18987
18988         * configure.in: post release bump.
18989
18990 Tue Oct 19 14:19:24 2004  Jonathan Blandford  <jrb@redhat.com>
18991
18992         * configure.in:
18993         * NEWS: Released NetworkManager-0.3.1
18994
18995 2004-10-18 Dan Williams <dcbw@redhat.com>
18996
18997         Patches from Thom May:
18998         * test/nmtestdevices.c
18999                 - Include <string.h>
19000         * src/backends/NetworkManagerDebian.c:
19001                 - (nm_system_device_run_dhcp, nm_system_device_stop_dhcp)
19002                         (nm_system_device_flush_routes, nm_system_device_flush_addresses)
19003                         Move to using g_strdup_printf rather than arbitrary buffers
19004                 - (nm_system_device_setup_static_ip4_config) Implement function.
19005                 - (nm_system_kill_all_dhcp_daemons) Use killall -q rather than killall
19006
19007 2004-10-17 Dan Williams <dcbw@redhat.com>
19008
19009         * info-daemon/NetworkManagerInfoDbus.c
19010                 - Display name of network in the "network not found" dialog
19011
19012         * panel-applet/NMWirelessAppletDbus.c
19013                 - (nmwa_dbus_call_nm_method): new function replaces all other
19014                         nmwa_dbus_get_[string|string_array|int|boolean] methods
19015                 - nmwa_dbus_get_network_name() and nmwa_dbus_get_device_name()
19016                         consolidated into nmwa_dbus_get_object_name()
19017
19018 2004-10-15 Dan Williams <dcbw@redhat.com>
19019
19020         * src/NetworkManagerDbus.c
19021           info-daemon/NetworkManagerInfoDbus.c
19022                 - Display an error dialog when the user tries to use an
19023                         "Other wireless network" that's not found.
19024
19025 2004-10-15 Dan Williams <dcbw@redhat.com>
19026
19027         * panel-applet/NMWirelessApplet.[ch]
19028                 - Fix up corner cases in applet state, making it
19029                         look more responsive.  Change state to "connecting" when
19030                         the user is forcing a device too.
19031
19032 2004-10-15 Dan Williams <dcbw@redhat.com>
19033
19034         * src/NetworkManagerAPList.c
19035                 - (nm_ap_list_update_network): Disown AP after the list takes ownership
19036
19037         * src/NetworkManagerDbus.c
19038                 - (nm_dbus_nm_set_active_device): Simplify the device setting logic
19039
19040         * src/NetworkManagerDevice.c
19041                 - Disown APs after the device's AP list takes ownership
19042
19043 2004-10-15 Dan Williams <dcbw@redhat.com>
19044
19045         * panel-applet/NMWirelessApplet.c
19046                 - Update our applet state from the GUI thread
19047
19048         * panel-applet/NMWirelessAppletDbus.c
19049                 - Greatly simplify the locking to make the GUI thread
19050                         smoother.  Update a private copy of the device list
19051                         and active device and only when done talking to
19052                         NetworkManager turn it over to the GUI thread.
19053
19054 2004-10-15 Dan Williams <dcbw@redhat.com>
19055
19056         * src/NetworkManagerAP.[ch]
19057                 - Add "artificial" get/set functions, set for APs that
19058                         aren't discovered as part of a scan but instead
19059                         discovered by force-setting the ESSID
19060
19061         * src/NetworkManagerDevice.[ch]
19062                 - (nm_device_wireless_network_exists): pass back whether
19063                         or not the discovered AP was encrypted.  Also, try
19064                         falling back to encrypted mode on the card if unencrypted
19065                         association doesn't work
19066                 - (nm_device_find_and_use_essid): If the network requested
19067                         did in fact exists, but it wasn't in our scan list, add
19068                         an "artificial" entry for it.  Some Cisco cards don't
19069                         see non-ESSID-broadcasting APs in their scan but can still
19070                         associate with them if you know the ESSID, this works around
19071                         that behavior
19072                 - (nm_device_do_normal_scan): Carry "artificial" APs over from scan
19073                         to scan if the card is currently associated with that AP
19074
19075 2004-10-15 Dan Williams <dcbw@redhat.com>
19076
19077         ---- We have a website ----
19078         http://people.redhat.com/dcbw/NetworkManager
19079
19080         Patch from Robert Paskowitz:
19081         * src/NetworkManager.c
19082                 - (main): Make sure we are run as root
19083         * src/NetworkManagerDevice.c
19084                 - Fix type in ad-hoc setting function
19085
19086         Patch from Thom May:
19087         * src/backends/NetworkManagerDebian.c
19088                 - Make Debian backend compile again
19089
19090 2004-10-14 Dan Williams <dcbw@redhat.com>
19091
19092         * Tagged NetworkManager-0_3
19093
19094 2004-10-14 Dan Williams <dcbw@redhat.com>
19095
19096         Patch from Robert Paskowitz:
19097         * NEWS
19098           src/NetworkManagerDevice.[ch]
19099           src/backends/NetworkManagerDebian.c
19100           src/backends/NetworkManagerGentoo.c
19101           src/backends/NetworkManagerRedHat.c
19102           src/backends/NetworkManagerSlackware.c
19103                 - Add support for grabbing and using a broadcast address
19104                         from system config files
19105                 - Some Gentoo backend fixes for grabbing network config
19106                 - Fix LOG_WARN->LOG_WARNING
19107
19108 2004-10-14 Dan Williams <dcbw@redhat.com>
19109
19110         * NEWS: a few small fixes in the credits
19111
19112 Thu Oct 14 19:12:58 2004  Jonathan Blandford  <jrb@redhat.com>
19113
19114         * NEWS: prep for release.
19115
19116 Thu Oct 14 16:47:12 2004  Jonathan Blandford  <jrb@redhat.com>
19117
19118         * panel-applet/NMWirelessAppletDbus.c
19119         (nmwa_dbus_update_device_wireless_networks): remove warnings.
19120
19121 Thu Oct 14 16:40:39 2004  Jonathan Blandford  <jrb@redhat.com>
19122
19123         * panel-applet/NMWirelessApplet.c (animation_timeout): Make
19124         applet->state == APPLET_STATE_NO_NM animation.
19125
19126         * panel-applet/NMWirelessApplet.c (custom_essid_item_selected):
19127         set the text correctly.
19128
19129 2004-10-14 Dan Williams <dcbw@redhat.com>
19130
19131         * src/NetworkManager.c
19132                 - Only accept and manager 802.3 and 802.11 devices
19133
19134         * src/NetworkManagerDbus.[ch]
19135                 - (nm_dbus_nm_set_active_device): move most of the actual activation
19136                         logic into NetworkManagerDevice.c
19137                 - (nm_dbus_network_status_from_data): new function
19138                 - (nm_dbus_signal_network_status_change): new function, unused for now
19139                 - (nm_dbus_nm_message_handler): use nm_dbus_network_status_from_data () now
19140
19141         * src/NetworkManagerDevice.[ch]
19142                 - (nm_device_find_and_use_essid): new function.  Search for, and if found use,
19143                         a random ESSID.
19144
19145 2004-10-14 John (J5) Palmieri <johnp@redhat.com>
19146
19147         * info-daemon/NetworkManagerInfo.c 
19148                 - (main): Added session management
19149
19150 2004-10-14 Dan Williams <dcbw@redhat.com>
19151
19152         * panel-applet/NMWirelessAppletDbus.[ch]
19153                 - Expose network_device_[un]ref()
19154                 - Expose wireless_network_[un]ref()
19155                 - (wireless_network_new_with_essid): new function, create and return
19156                         a wireless network with a particular essid
19157
19158         * panel-applet/NMWirelessApplet.c
19159                 - Hook up the "other network" dialog to do something
19160
19161 Wed Oct 13 19:31:53 2004  Jonathan Blandford  <jrb@redhat.com>
19162
19163         * panel-applet/NMWirelessApplet.c: Add an essid dialog.  It
19164         doesn't work yet, but it looks okay.
19165
19166         * panel-applet/icons/*png: Resize to 22x22 and install in the
19167         right place.
19168
19169 2004-10-13 Dan Williams <dcbw@redhat.com>
19170
19171         * panel-applet/NMWirelessApplet.c
19172                 - Add function to print out applet_state in a readable
19173                         manner
19174
19175         * src/NetworkManager.c
19176                 - (main): Don't segfault when nm_dbus_init() fails, we had
19177                         a left-over call to hal_shutdown() into which we passed NULL
19178
19179         * src/NetworkManagerAP.c
19180                 - (nm_ap_set_essid): Allow NULL essids
19181
19182         * src/NetworkManagerAPList.[ch]
19183                 - More use of nm_ap_list_[un]lock ()
19184                 - (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
19185                         network/essid, just return nothing.  Also skip over NULL
19186                         essid access points in the list when searching
19187                 - (nm_ap_list_get_ap_by_address): new function
19188                 - (nm_ap_list_update_network): set the access point's key source to
19189                         NULL when the key returned from NetworkManagerInfo is NULL or
19190                         of 0 length
19191                 - nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
19192                         copy timestamp over too
19193                 - (nm_ap_list_copy_essids_by_address): new function, attempt to
19194                         find the correct ESSID for a blank-essid access point by searching
19195                         through another list and matching access point MAC addresses
19196                 - (nm_ap_list_diff): exclude blank-essid access points from the diffs
19197
19198         * src/NetworkManagerDbus.c
19199                 - (nm_dbus_nm_set_active_device): deal with random networks the user
19200                         may specify.  This is mainly for access points that don't
19201                         broadcast their essid.  So if the user tells us to associate with
19202                         some random ESSID that's not in our access point list, we find
19203                         out if the access point does in fact exist (by attempting association
19204                         and then matching that access point's MAC address with the essid the
19205                         user gave us) and then we switch to it.
19206                 - (nm_dbus_devices_handle_request): don't add blank-essid access points
19207                         to the returned list of networks for the "getNetworks" method
19208
19209         * src/NetworkManagerDevice.[ch]
19210                 - Extra debugging info for link detection
19211                 - (nm_device_ap_list_get_ap_by_address): new function, return an AP
19212                         based on MAC address
19213                 - (nm_device_get_path_for_ap): ignore blank-essid access points
19214                 - (nm_device_wireless_network_exists): new function, find out whether
19215                         a random ESSID exists by attempting to associate with it
19216                 - (nm_device_do_normal_scan): allow blank-essid access points in our
19217                         device list as long as they have an AP MAC address we can use.
19218                         Also send WirelessNetwork[Dis]Appeared signals for non-active
19219                         devices too.  Lets the applet update more frequently.
19220
19221         * src/backends/NetworkManagerGentoo.c
19222                 - Patch from: Robert Paskowitz
19223                         - Update backend code for Gentoo
19224                         - Implement nm_system_device_update_config_info ()
19225
19226         * test/nmclienttest.c
19227                 - (set_network_device): new function, takes a command-line argument
19228                         and tells NetworkManager to use that wireless network
19229
19230 Wed Oct 13 John (J5) Palmieri <johnp@redhat.com>
19231
19232         * info-daemon/NetworkManagerInfo.c (nmi_spawn_notification_icon): Stop respawning
19233         if the notification icon crashes 5 times within 5 seconds of each respawn 
19234
19235 Tue Oct 12 22:53:04 2004  Jonathan Blandford  <jrb@redhat.com>
19236
19237         * panel-applet/NMWirelessApplet.c (nmwa_update_state): remove
19238         g_print.
19239
19240 Tue Oct 12 22:44:15 2004  Jonathan Blandford  <jrb@redhat.com>
19241
19242         * panel-applet/NMWirelessApplet.h: Change the name of the icons.
19243
19244         * panel-applet/NMWirelessApplet.c: (animation_timeout),
19245         (nmwa_update_state), (nmwa_destroy), (nmwa_setup_widgets),
19246         (nmwa_icons_free), (nmwa_icons_load_from_disk), (nmwa_icons_init):
19247         Change the name of the icons.
19248
19249         * panel-applet/menu-info.c: (nm_menu_wired_class_init),
19250         (nm_menu_wired_expose_event), (nm_menu_network_class_init),
19251         (nm_menu_wireless_class_init), (nm_menu_wireless_new),
19252         (nm_menu_wireless_expose_event): Really bad hack to get the style
19253         to draw in the right color.
19254
19255 Tue Oct 12 John (J5) Palmieri <johnp@redhat.com>
19256
19257         * info-daemon/NetworkManagerInfo.c (main):  Add child watch to respawn
19258         Notification if it crashes
19259
19260 Fri Oct  8 07:19:55 2004  Jonathan Blandford  <jrb@redhat.com>
19261
19262         * panel-applet/NMWirelessAppletDbus.c (nmwa_dbus_get_double): 
19263         (nmwa_dbus_get_string): remove unused functions
19264
19265         * panel-applet/NMWirelessApplet.c (nmwa_about_cb):
19266         (nmwa_cancel_timeout), (nmwa_get_menu_pos), (nmwa_factory):
19267         remove unused functions
19268
19269         * panel-applet/NMWirelessApplet.c: Rewrite icon code.
19270
19271 2004-10-12 Dan Williams <dcbw@redhat.com>
19272
19273         * panel-applet/NMWirelessAppletDbus.c
19274                 - New functions:
19275                         wireless_network_new
19276                         wireless_network_copy
19277                         network_device_new
19278                         network_device_copy
19279
19280         * src/NetworkManagerDevice.[ch]
19281                 - New functions:
19282                         nm_device_set_mode_managed
19283                         nm_device_set_mode_adhoc
19284                 - Use these functions where appropriate
19285                 - When creating a new wireless device, force the card
19286                         to managed/Infrastructure mode as soon as possible
19287
19288 2004-10-12 Dan Williams <dcbw@redhat.com>
19289
19290         * src/NetworkManagerDevice.c
19291                 - Force wireless cards into Infrastructure mode before we use them
19292
19293 2004-10-12 Dan Williams <dcbw@redhat.com>
19294
19295         * TODO
19296                 - Remove bit about static IP address support
19297
19298         * src/NetworkManagerUtils.c
19299                 - (nm_spawn_process): Add some error reporting
19300
19301         * src/NetworkManagerDevice.c
19302                 - (nm_device_activation_configure_ip): hook up to the static config
19303                         routines in the backends
19304
19305         * src/backends/NetworkManagerRedHat.c
19306                 - (nm_system_device_update_config_info): use shvar.c routines to
19307                         parse the config file iformation, not our own
19308                 - (nm_system_device_setup_static_ip4_config): new function, based
19309                         heavily on 'ifup' script and 'ipcalc' tool code.  Set up a device
19310                         with a static IP address and gateway
19311
19312         * src/backends/shvar.[ch]
19313                 - Parser (filched from initscripts package) for ifcfg-* files
19314
19315         * src/backends/NetworkManagerSystem.h
19316           src/backends/NetworkManagerGentoo.c
19317           src/backends/NetworkManagerDebian.c
19318           src/backends/NetworkManagerSlackware.c
19319                 - Stub nm_system_device_update_config_info() and nm_system_device_setup_static_ip4_config()
19320
19321 2004-10-11 Dan Williams <dcbw@redhat.com>
19322
19323         * TODO
19324                 - Remove bit about more robust AP diffing since I just implemented it
19325
19326 2004-10-11 Dan Williams <dcbw@redhat.com>
19327
19328         * src/NetworkManagerAP.c
19329                 - (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
19330                         enough RAM to allocate new AP structures, but return NULL instead
19331
19332         * src/NetworkManagerAPList.[ch]
19333                 - (nm_ap_list_is_empty): new function
19334                 - (nm_ap_list_combine): new function, combine two access point lists
19335                 - (nm_ap_list_copy_keys): new function, copy keys from one list
19336                         into another
19337
19338         * src/NetworkManagerDevice.[ch]
19339                 - Rename some functions to be clearer:
19340                         nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
19341                         nm_device_just_activated     -> nm_device_is_just_activated
19342                         nm_device_activating         -> nm_device_is_activating
19343                         nm_device_now_scanning       -> nm_device_is_scanning
19344                 - Cache the last 4 scans so that the access point list is more stable.
19345                         We combine the lastest two scans and use that as the AP list,
19346                         and diff that combined list against the combination of the earliest
19347                         two cached scans for the WirelessNetworkAppeared/Dissappeared signals
19348
19349 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19350
19351         * info-daemon/NWManagerInfo.h
19352                 - (struct NetworkManagerInfo): add shutdown_timeout GSource
19353
19354         * info-daemon/NWManagerInfoDbus.c
19355                 - (shutdown_callback): new function
19356                 - (nmi_dbus_filter): Create a 30 second timeout until shutdown
19357                         if NetworkManager goes away.  Kill the timeout
19358                         if NetworkManager restarts before the 30 seconds
19359                         are up.
19360                 - (nmi_dbus_service_init): 
19361                         - call gtk_main_quit if NetworkManager is not running
19362                         - add filters to monitor dbus service creations and
19363                                 deletions
19364         
19365 2004-10-08 John (J5) Palmieri <johnp@redhat.com>
19366
19367         * panel-applet/NMWirelessApplet.c
19368                 - (nmwa_update_state): Hide notification icon if we are only
19369                         showing one wired card and no wireless interfaces 
19370                         (Red Hat Bug #134895)
19371
19372         * panel-applet/NMWirelessAppletDbus.c
19373                 - (nmwa_dbus_filter): changed exit to gtk_main_quit ()
19374
19375         * info-daemon/NWManagerInfo.c
19376                 - (main): Terminated the notification_icon_cmd array with a NULL
19377
19378 2004-10-08  Hendrik Brandt  <hebra@cvs.gnome.org>
19379
19380         * configure.in (ALL_LINGUAS): Added de (German).
19381
19382 2004-10-08 Dan Williams <dcbw@redaht.com>
19383
19384         * src/NetworkManagerDevice.c
19385                 - Be a bit more robust about link checking, ie make sure that
19386                         the WEP key we were given actually has some data in it
19387
19388 2004-10-08 Dan Williams <dcbw@redhat.com>
19389
19390         * info-daemon/NetworkManagerInfo.c (main):
19391                 - Initialize GError object to NULL
19392
19393 2004-10-08 Dan Williams <dcbw@redhat.com>
19394
19395         * panel-applet/NMWirelessAppletDbus.c
19396                 - Die if NetworkManagerInfo dies, since it manages our lifetime
19397
19398 2004-10-08 Dan Williams <dcbw@redhat.com>
19399
19400         * info-daemon/NetworkManagerInfo.[ch]
19401           info-dameon/NetworkManagerInfoDbus.[ch]
19402           info-daemon/NetworkManagerInfoPassphraseDialog.[ch]
19403                 - Preserve original label text in the passphrase dialog so that
19404                         it actually gets updated with the new network name the next
19405                         time around.  Previously, we were overwriting it so you'd get
19406                         the wrong network name to enter a key for
19407                 - Add a "Key Type" combo to the passphrase dialog, user selects
19408                         encryption key type now, type is stored in GConf too
19409                 - Adjust NM<->NMI DBUS protocol to pass the key type back to NM too
19410
19411         * src/NetworkManagerAP.[ch]
19412                 - Remove all the encyption method magic.  It's now set by the user
19413                         and NetworkManager retrieves the type of encryption key from
19414                         NetworkManagerInfo
19415
19416         * src/NetworkManagerAPList.[ch]
19417           src/NetworkManagerDbus.[ch]
19418                 - Adjust to new way of setting encryption key and method
19419                 - Pull encryption method down from NMI along with key
19420
19421         * src/NetworkManagerDevice.[ch]
19422                 - Removed encryption method fallback magic as the method is now
19423                         determined by the user.  This greatly simplifies the connection
19424                         logic.
19425                 - More robust connection/link logic.  Besides removing the encryption
19426                         method fallback magic, check whether or not the card is receiving
19427                         invalidly encrypted packets, which usually indicates that we have
19428                         a bad WEP key set.
19429                 - Don't blindly forge ahead when DHCP fails (still not completely fixed)
19430
19431         * test/nminfotest.c
19432                 - Test out new "Key Type" stuff in the NMI passphrase dialog
19433
19434 2004-10-07 Dan Williams <dcbw@redhat.com>
19435
19436         * info-daemon/NetworkManagerInfo.conf
19437                 - Allow root user to run NMI too
19438
19439 2004-10-06 Dan Williams <dcbw@redhat.com>
19440
19441         * src/NetworkManagerDevice.[ch]
19442           src/NetworkManagerDbus.c
19443           doc/NetworkManager DBUS API.txt
19444                 - Add a new status tag "scanning", which is set when there
19445                         is no active network connection, but NetworkManager is
19446                         looking for an access point to associate with
19447
19448         * panel-applet/main.c
19449                 - Cast the applet appropriately for gtk_widget_show_all ()
19450
19451 Mon Oct  4 12:55:41 2004  Jonathan Blandford  <jrb@redhat.com>
19452
19453         * panel-applet/eggtrayicon.[ch]:
19454         * panel-applet/main.c: Add missing file
19455
19456 2004-10-04 Dan Williams <dcbw@redhat.com>
19457
19458         * src/NetworkManagerDevice.[ch]
19459                 - Add a slightly more robust method of determining if the WEP key
19460                         is correct or not, by checking the WEP-discarded packet count
19461                         on the card
19462
19463         * info-daemon/NetworkManagerInfo.c
19464                 - (nmi_gconf_notify_callback): Fix GConf essid escaping, should
19465                         un-escape values we pull out rather than escaping them
19466
19467 2004-10-03  Marcel Telka  <marcel@telka.sk>
19468
19469         * configure.in (ALL_LINGUAS): Added sk.
19470
19471 Fri Oct  1 18:26:03 2004  Jonathan Blandford  <jrb@redhat.com>
19472
19473         * panel-applet/menu-info.c (nm_menu_wired_class_init): update look
19474         and feel.  We should be back to working, and have a good, clean
19475         look.
19476
19477 2004-09-30 Dan Williams <dcbw@redhat.com>
19478
19479         * info-daemon/NetworkManagerInfo.c
19480           info-daemon/NetworkManagerInfoDbus.c
19481           test/nminfotest.c
19482                 - Escape ESSIDs in gconf
19483
19484         * src/NetworkManagerDevice.c
19485                 - Fix pseudo-scanning to use netowrk list from info daemon
19486
19487 Wed Sep 29 18:18:24 2004  Jonathan Blandford  <jrb@redhat.com>
19488
19489         * configure.in: Add a temporary --enable-notification-icon.  This
19490         will prolly go away.
19491
19492         * info-daemon/Makefile.am:
19493         * info-daemon/NetworkManagerInfo.c:
19494         * info-daemon/NetworkManagerInfo.h: Use a notification icon.
19495
19496         * panel-applet/Makefile.am:
19497         * panel-applet/NMWirelessApplet.c: Turn into a notification icon
19498         * panel-applet/NMWirelessApplet.h:
19499
19500 Tue Sep 28 16:35:20 2004  Jonathan Blandford  <jrb@redhat.com>
19501
19502         * panel-applet/NMWirelessApplet.c: Fix deadlock.  Add a separator
19503         before 'select custom ESSID'.
19504
19505         * panel-applet/menu-info.c: Start rewrite for better headers.  Not
19506         fully complete, but syncing in prep for merge.
19507
19508         * panel-applet/icons/*png: New images
19509
19510 2004-09-28 Dan Williams <dcbw@redhat.com>
19511
19512         * src/NetworkManager.c
19513           src/NetworkManagerDevice.c
19514           src/NetworkManagerPolicy.c
19515                 - Don't blow away an active wired connection on startup
19516
19517 2004-09-28  Bryan Clark  <clarkbw@cvs.gnome.org>
19518
19519         Changes from J5
19520         
19521         * info-daemon/NetworkManagerInfo.conf: fixed own permissions
19522
19523         * info-daemon/NetworkManagerInfoDbus.c: added service name to
19524         syslog output
19525
19526 Wed Sep 22 14:19:48 2004  Jonathan Blandford  <jrb@redhat.com>
19527
19528         * panel-applet/NMWirelessApplet.c: Only add essid's if we actually
19529         have a wireless card.
19530
19531 Wed Sep 22 14:05:48 2004  Jonathan Blandford  <jrb@redhat.com>
19532
19533         * panel-applet/NMWirelessApplet.c: move the custom essid item.
19534         Also, get the right device strings.
19535
19536 Wed Sep 22 13:51:45 2004  Jonathan Blandford  <jrb@redhat.com>
19537
19538         * panel-applet/menu-info.c (nm_menu_network_draw_indicator): Flip
19539         the logic to make this right.
19540
19541         * panel-applet/NMWirelessApplet.c (sort_networks_function): sort
19542         devices so that wired networks are always first.
19543
19544 2004-09-22    <clarkbw@cvs.gnome.org>
19545
19546         * initscript/Debian/.cvsignore:
19547         * initscript/Slackware/.cvsignore:
19548         Added new cvsignores for Makefile, Makefile.in
19549         
19550         * test/.cvsignore:
19551         Added nmtestdevices
19552         
19553         * src/NetworkManagerDevice.c: 
19554         * src/NetworkManager.c: 
19555         Updated the wireless/wired HAL device strings from net.ethernet to
19556         net.80203 or net.80211 depending on wired or wireless respectively
19557         
19558         * examples/python/NetworkManager.py: 
19559         s/Quality/Strength/
19560
19561         * examples/python/systray/network_tray.py:
19562         Lots of little changes and fixes.  been rotting for a while so I
19563         figured I'd finally sync them all with CVS
19564
19565 Tue Sep 21 18:05:34 2004  Jonathan Blandford  <jrb@redhat.com>
19566
19567         * configure.in: Add graphics
19568
19569         * panel-applet/Makefile.am: Add graphics
19570
19571         * panel-applet/icons/*: Add graphics
19572
19573         * panel-applet/NMWirelessApplet.c: Use new menu times to display
19574         the icons fully lined up.
19575
19576         * panel-applet/menu-info.c: 
19577         * panel-applet/menu-info.h: Add another menu type.
19578
19579 Fri Sep 17 14:04:34 2004  Jonathan Blandford  <jrb@redhat.com>
19580
19581         * panel-applet/NMWirelessApplet.c: Redo the menu item code.
19582
19583         * panel-applet/menu-item.[ch]: Wireless menu item.
19584
19585 2004-09-15  John (J5) Palmieri <johnp@redhat.com>
19586
19587         * info-daemon/NetworkManagerInfo.conf
19588                 - Created a more robust security policy for the DBus service
19589                         - everything is denied by default
19590                         - root can own and send to the service
19591                         - users logged in at the console can send to the service
19592
19593 2004-09-13  Dan Williams <dcbw@redhat.com>
19594
19595         * src/NetworkManagerDevice.c
19596                 - (nm_device_get_essid): use iw_get_basic_config() rather than
19597                         iw_get_ext (SIOCGIWESSID) since prism54 cards don't like
19598                         the latter
19599
19600 2004-09-13  Dan Williams <dcbw@redhat.com>
19601
19602         * TODO: fix typo
19603
19604         * docs/NetworkManager DBUS API.txt
19605                 - Update for new signal strength changes
19606
19607         * panel-applet/NMWirelessApplet.c
19608                 - Make panel icon show strength of the current connection
19609                 - Cleanups and memleak fixes
19610
19611         * panel-applet/NMWirelessApplet.h
19612                 - Add data members for signal strength on devices and networks
19613
19614         * panel-applet/NMWirelessAppletDbus.c
19615                 - Free more DBusErrors
19616                 - Update for new signal strength changes
19617                 - Make devices and networks more like real objects, use ref/unref methods
19618                 - Actually unlock the mutex when updating the active device
19619
19620         * src/NetworkManagerAP.c
19621                 - Change AP functions and data members from "quality"->"strength"
19622
19623         * src/NetworkManagerDbus.c
19624                 - Kill "getMaxQuality" and "getQuality" methods
19625                 - Add "getStrength" methods for Networks and Devices
19626
19627         * src/NetworkManagerDevice.[ch]
19628                 - Add accessors for device strength
19629                 - Add functions to update strength for a device.  Note that not all drivers
19630                         actually support signal strength for scanned access points (Atmel drivers
19631                         being one)
19632                 - Calculate signal strength for each AP during scan
19633
19634         * src/NetworkManagerWireless.[ch]
19635                 - Add function to return signal strength % from a device and a raw quality struct
19636
19637         * test/nmclienttest.c
19638                 - Update for new signal strength changes
19639
19640 2004-09-11  Dan Williams <dcbw@redhat.com>
19641
19642         * src/NetworkManager.c
19643                 - Fix race condition between initscripts and NM on card insertion
19644                         which could cause a card to keep an IP address and routes around
19645                         even when it was not the active device
19646
19647         * src/NetworkManagerDbus.c
19648                 - Fix compile errors, free more DBusErrors
19649
19650 2004-09-11  Dan Williams <dcbw@redhat.com>
19651
19652         * docs/NetworkManager DBUS API.txt
19653                 - Add an explanation of NM's API
19654
19655         * src/NetworkManagerDbus.c
19656                 - Free some more DBusErrors if needed
19657
19658 2004-09-11  Dan Williams <dcbw@redhat.com>
19659
19660         * panel-applet/NMWirelessApplet.c
19661           panel-applet/NMWirelessAppletDbus.c
19662                 - Start using NetworkDevice/WirelessNetwork structures in more places
19663                 - Update for unified device/network forcing in NetworkManager
19664
19665         * src/NetworkManager.c
19666                 - some code consolidation
19667
19668         * src/NetworkManagerDbus.c
19669                 - (nm_dbus_nm_set_active_device): "setActiveDevice" now takes either one
19670                         or two arguments:  the first is the NM ID of the device to switch to,
19671                         and the second (optional) argument is the ESSID of a wireless network
19672                         to use as well.
19673                 - Get rid of "setNetwork" method due to above change
19674
19675         * src/NetworkManagerDevice.c
19676                 - (nm_device_new): perform scan and update best AP on device creation
19677                 - nm_device_activation_cancel_if_needed()->nm_device_activation_should_cancel()
19678                 - nm_device_activation_signal_cancel()->nm_device_activation_cancel(), and
19679                         spin waiting for cancellation to finish before returning
19680
19681         * src/NetworkManagerPolicy.c
19682                 - Changes here clarify the situations in which a device switch occurs, and 
19683                         make sure to keep using a forced device and network if the user gives
19684                         us one
19685                 - Remove old unused code
19686
19687 2004-09-11  Martin Willemoes Hansen  <mwh@sysrq.dk>
19688
19689         * configure.in: Added Danish (da) to ALL_LINGUAS.
19690
19691 2004-09-09  Dan Williams <dcbw@redhat.com>
19692
19693         * panel-applet/NMWirelessAppletDbus.c
19694                 - Pull fresh devices and networks from NM when wireless networks
19695                         change.  Provides faster feedback of a forced wireless network
19696
19697         * src/NetworkManagerDbus.c
19698                 - Return error when "getMaxQuality" is called on a wired device
19699                 - Make best_ap freezing actually work again, and signal cancellation
19700                         of activation if there's already a device activation when the user
19701                         freezes the best_ap
19702
19703         * src/NetworkManagerDevice.c
19704                 - Don't clear out the best_ap for wireless devices when the link goes
19705                         down, that's done elsewhere
19706                 - Kill any dhcp daemons when cancelling device activation since they
19707                         may be stuck waiting for a DHCP address, and since we're cancelling
19708                         activation we don't care about that anymore
19709
19710         * src/NetworkManagerPolicy.c
19711                 - Make sure to unref the device we ref earlier (we refed it to make sure
19712                         it stuck around during device activation and such)
19713                 - If we were going to change the best device, but its activating currently
19714                         (and therefore the change didn't occur due to the check earlier)
19715                         we mark the state changed to we come back to it later when device
19716                         activation has canceled and its no longer activating
19717
19718         * src/backends/NetworkManagerRedHat.c
19719                 - SIGKILL dhcp daemons rather than SIGTERM-ing them
19720
19721 2004-09-09  Bryan Clark  <clarkbw@cvs.gnome.org>
19722
19723         * info-daemon/passphrase.glade: 
19724         set passphrase input to activates_default : True
19725
19726         * examples/python/systray/network_tray.py
19727         (network_tray.sort_networks):
19728
19729         Added support for having wireless always scanning
19730
19731 2004-09-09  Dan Williams <dcbw@redhat.com>
19732
19733         NOTE: this commit changes the behavior of wireless devices in
19734         NetworkManager.  They are now up all the time, scanning all
19735         the time.  Only the active device has an IP address and routing
19736         information set up however.  Also, NetworkManager will no longer
19737         opportunistically switch wireless networks when a better one
19738         comes in range, it will remain associated with one wireless network
19739         until that one drops out.
19740
19741         * panel-applet/NMWirelessApplet.c
19742           panel-applet/NMWirelessAppletDbus.c
19743                 - List all wireless cards and their respective networks
19744
19745         * src/NMLoadModules
19746                 - Use full path to /sbin/ip
19747
19748         * src/NetworkManager.c
19749                 - Keep wireless devices up all the time so they can scan
19750
19751         * src/NetworkManagerDbus.c
19752                 - On a WirelessNetworkUpdate signal from NMI, don't update
19753                         the "best" AP
19754
19755         * src/NetworkManagerDevice.c
19756                 - (nm_device_set_link_active): clear out the best ap for
19757                         wireless devices when the link is set to FALSE
19758                 - Scan on all wireless cards, all the time
19759                 - (nm_device_activation_worker): split out the wireless card
19760                         link-waiting code to a separate function
19761                 - Keep wireless cards up even if device activation fails
19762                 - Don't update the "best" ap as much
19763
19764         * src/NetworkManagerPolicy.c
19765                 - Don't update the best ap when checking if its frozen,
19766                         let link checking clear out a frozen best ap for us
19767
19768         * src/NetworkManagerWireless.c
19769                 - Scan on all wireless cards, all the time
19770
19771 2004-09-09  Francisco Javier F. Serrador  <serrador@cvs.gnome.org>
19772
19773         * configure.in: Added 'es' (Spanish) to ALL_LINGUAS.
19774
19775 2004-09-09  Ankit Patel <ankit@redhat.com>
19776
19777         * configure.in: Added 'gu' (Gujarati) to ALL_LINGUAS.
19778
19779 2004-09-09  Pablo Saratxaga  <pablo@mandrakesoft.com>
19780
19781         * configure.in: Added Walloon (wa) to ALL_LINGUAS.
19782
19783 2004-09-08  Bryan Clark  <clarkbw@cvs.gnome.org>
19784
19785         * examples/python/NetworkManager.py: 
19786         added CONNECTED, CONNECTING, and DISCONNECTED states
19787         added methods to return number of devices of a single type
19788
19789         * examples/python/systray/network_tray.py: 
19790         did some tweaks to get the menu looking near what it is supposed
19791         to look like.  Also did a Airo card hack to make it show the
19792         correct AP quality
19793
19794 2004-09-08  Dan Williams <dcbw@redhat.com>
19795
19796         * panel-applet/no-networkmanager.png
19797           panel-applet/Makefile.am
19798           panel-applet/NMWirelessApplet.c
19799                 - Add a "NetworkManager not running" icon and use it
19800                 - Use new consolidated GConf keys rather than Preferred/Trusted
19801
19802         * TODO: update
19803
19804         * info-daemon/NetworkManagerInfo.c
19805           info-daemon/NetworkManagerInfoDbus.[ch]
19806           info-daemon/NetworkManagerInfoPassphraseDialog.c
19807                 - There are now no longer two separate lists of wireless networks,
19808                         but one list where each network is "trusted" or not trusted
19809                 - Add a "getNetworkTrusted" dbus method
19810                 - "WirelessNetworkUpdate" signal now sent rather than
19811                         "PreferredNetworkUpdate/TrustedNetworkUpdate" signals
19812                 - Start freeing some dbus errors (not completed yet)
19813
19814         * info-daemon/passphrase.glade
19815                 - Remove the "don't show" hints for pager and taskbar
19816                 - Add a title since its going to be in the taskbar
19817
19818         * src/NetworkManager.[ch]
19819           src/NetworkManagerAPList.[ch]
19820                 - There are now no longer two separate lists of wireless networks,
19821                         but one list where each network is "trusted" or not trusted
19822
19823         * src/NetworkManagerAP.[ch]
19824                 - Add get/set "trusted" accessors and data bit
19825
19826         * src/NetworkManagerDbus.[ch]
19827                 - Add function to get "trusted" status of a network from NetworkManagerInfo
19828                 - Trap new WirelessNetworkUpdate signal rather than old separate signals
19829
19830         * src/NetworkManagerDevice.[ch]
19831                 - Add per-device config data (ip4 addr, gateway, netmask) and accessors
19832                 - (nm_device_new): Get device config from backend when initializing devices
19833                 - (nm_device_activation_worker): Split out device configuration on
19834                         activation to deal with static/dynamic IP differences, and try encryption
19835                         fallbacks on a device if the encryption method for the best AP is not good
19836                 - (nm_device_update_best_ap): convert to new consolidated access point lists from
19837                         NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it
19838
19839         * src/NetworkManagerWireless.c
19840                 - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it
19841
19842         * src/backends/NetworkManagerRedHat.c
19843           src/backends/NetworkManagerSystem.h
19844                 - (nm_system_device_update_config_info): Add function to get device configuration
19845                         from system data in ifcfg-* files
19846
19847         * src/backends/NetworkManagerDebian.c
19848           src/backends/NetworkManagerGentoo.c
19849           src/backends/NetworkManagerSlackware.c
19850                 - Add stub functions for getting device configuration
19851
19852 2004-09-07  Dan Williams <dcbw@redhat.com>
19853
19854         * src/backends/NetworkManagerRedhat.c
19855           src/backends/NetworkManagerSlackware.c
19856                 - Use full path to /sbin/ip everywhere
19857
19858 2004-09-07  Dan Williams <dcbw@redhat.com>
19859
19860         Patch from: Narayan Newton <narayan_newton@yahoo.com>
19861
19862         * configure.in
19863           initscript/Makefile.am
19864           initscript/Slackware/Makfile.am
19865           initscript/Slackware/rc.networkmanager
19866           src/Makefile.am
19867           src/backends/NetworkManagerSlackware.c
19868                 - Add Slackware support
19869
19870 2004-09-07  Dan Williams <dcbw@redhat.com>
19871
19872         Patches below from:
19873                 <j@bootlab.org>
19874                 Mark Roach <mrroach@okmaybe.com>
19875                 Thom May <thom@debian.org>
19876
19877         * configure.in
19878           initscript/Debian/NetworkManager
19879           initscript/Debian/Makefile.am
19880                 - Initscript for Debian
19881
19882         * src/backends/NetworkManagerDebian.c
19883                 - Add missing system init function to allow compilation
19884                         on Debian
19885
19886 2004-09-03  Raphael Higino <raphaelh@cvs.gnome.org>
19887
19888         * configure.in: Added 'pt_BR' to ALL_LINGUAS.
19889
19890 2004-09-03  Akagic Amila <bono@linux.org.ba>
19891
19892         * configure.in: Added 'bs' to ALL_LINGUAS.
19893
19894 2004-09-02  Colin Walters  <walters@verbum.org>
19895
19896         * src/backends/NetworkManagerRedHat.c (nm_system_device_run_dhcp)
19897         (nm_system_device_stop_dhcp, nm_system_device_flush_routes): Use
19898         g_strdup_printf instead of arbitrarily sized buffers.
19899
19900 2004-09-01  Colin Walters  <walters@verbum.org>
19901
19902         * NetworkManager.pc.in: New file.
19903
19904         * Makefile.am, .cvsignore, configure.in: Add NetworkManager.pc.
19905
19906 2004-09-01  Amanpreet Singh Alam  <aalam@redhat.com>
19907         
19908         * configure.in: Punjabi(pa) is added to po/.
19909
19910 2004-08-31  Dan Williams <dcbw@redhat.com>
19911
19912         * Remove 'debug' extern global from all files since we now
19913                 use syslog()
19914
19915         * src/NetworkManager.[ch]
19916                 - Break out routine that get the net.interface property from HAL,
19917                         removing that logic from nm_create_device_and_add_to_list()
19918                 - (nm_create_device_and_add_to_list): make this a bit more general so
19919                         it doesn't do the talking to HAL.  Also add arguments to facilitate
19920                         the create of test devices.
19921                 - (nm_data_mark_state_changed): rename from nm_data_set_state_modified()
19922                 - (nm_data_new, main, nm_print_usage): add new argument "--enable-test-devices"
19923                         which makes NetworkManager listen for dbus commands to create test
19924                         devices, which have no backing hardware.  Use when you're on a plane
19925                         for example, and/or forgot your wireless card at home.  Test devices
19926                         _cannot_ be created unless NM is started with --enable-test-devices.
19927
19928         * src/NetworkManagerDbus.[ch]
19929                 - New "getLinkActive" method for devices
19930                 - New "setLinkActive" method for devices (only works on test devices)
19931                 - New "createTestDevice" method on NetworkManager object to create a test
19932                         device of a specified type (ie wired, wireless).  UDI is created from
19933                         scratch, as is the interface name.  Only works when NM is started with
19934                         --enable-test-devices switch.
19935                 - New "removeTestDevice" method on NetworkManager object which removes a
19936                         test device.  Only works when NM is started with --enable-test-devices
19937
19938         * src/NetworkManagerDevice.[ch]
19939                 - Logic to facilitate test devices.  Add variables to NMDevice struct to indicate
19940                         whether a device is a test device or not, and what its link status is.
19941                 - Deal with test devices in most functions.  For those that work directly on hardware
19942                         special-case test devices.
19943                 - (nm_device_new): don't create a test device if test devices weren't enabled on the
19944                         command-line.
19945                 - (nm_device_update_link_active): split out logic for wired and wireless device link
19946                         checking to separate functions to facilitate test device link checking.
19947                 - (nm_device_set_enc_key): Since some drivers for wireless cards are daft and
19948                         don't make a distinction between System Authentication and Encryption
19949                         (namely Cisco aironet), we use Open System auth when setting a WEP key
19950                         on the card.  We don't deal with Shared Key auth yet.
19951                 - (nm_device_activation_worker): split the activation cancel check logic out into
19952                         a separate routine nm_device_activation_cancel_if_needed()
19953                 - (nm_device_activation_signal_cancel): rename from nm_device_activation_cancel()
19954                 - (nm_device_fake_ap_list): Test wireless devices obviously cannot scan, so create
19955                         a list of fake access points that they can "see"
19956                 - (nm_device_is_test_device): return whether or not a device is a test device
19957
19958         * src/NetworkManagerPolicy.c
19959                 - (nm_policy_get_best_device): attempt to deal with wireless network selection,
19960                         previously if you "locked"/forced NM to use a wireless device but then
19961                         selected a wireless network for NM to use, it would switch to a wired device.
19962                         So, if the active device is wireless and it has a "forced" best AP, use it
19963                         if the "forced" best AP is still valid
19964                 - (nm_state_modification_monitor): deal with NULL best devices, for example
19965                         there were no usable network devices, or the last one was removed
19966
19967         * src/backends/NetworkManager*.c
19968                 - Deal with test devices, mostly just return success for operations like getting
19969                         a DHCP address
19970
19971         * test/nmtestdevices.c
19972                 - Test tool to create/remove/link-switch test devices
19973
19974 2004-08-30  Bryan Clark  <clarkbw@cvs.gnome.org>
19975
19976         * examples/python/NetworkManager.py: 
19977         added convience functions has_wired_device and has_wireless_device
19978
19979         * examples/python/systray/network_tray.py: 
19980         cleaned up a bunch of cruft, added support for listing wireless
19981         networks just like the real applet.  This is probably all I'm
19982         going to work on this applet from now on.
19983         TODO: add support for actually changing networks and devices
19984
19985         * examples/python/NetworkManager.py (NetworkManager.get_device): 
19986         changed "nm.networks" into a dict from a list so I can store all
19987         the cool information about networks in there
19988
19989         * examples/python/systray/network_tray.py: 
19990         Added nice message when you try to run without running make first
19991
19992         * examples/python/NetworkManager.py: 
19993         Bug fixes to the code so we get all the device information
19994         that we need in get_device()
19995         
19996         * examples/python/NMTester.py: 
19997         Fixed _print_device_list to print_device_list
19998
19999 2004-08-29  Seth Nickell  <seth@gnome.org>
20000
20001         * configure.in:
20002
20003         Actually properly setup the Debian backend in configure.
20004         
20005 2004-08-29  Colin Walters  <walters@verbum.org>
20006
20007         * test/nminfotest.c: Include string.h and stdlib.h.
20008         (get_network_string_property, get_networks_of_type): Return NULL.
20009
20010         * test/nmclienttest.c (get_device_name, get_active_device): Return
20011         NULL.
20012
20013         * src/backends/NetworkManagerRedHat.c (nm_system_device_stop_dhcp): Just
20014         use strlen, fgets always NULL-terminates the string.
20015
20016         * src/NetworkManagerDbus.c (nm_dbus_nmi_filter,
20017         dbus_message_get_member): Remove /* in comment.
20018
20019         * src/NetworkManagerUtils.c (LOCKING_DEBUG): Ditto.
20020
20021         * src/NetworkManager.c (quit): Unused, delete.
20022         (nm_data_free): Cast arg to GFunc.
20023
20024         * panel-applet/NMWirelessAppletDbus.c: Need to include
20025         string.h, and dbus-glib-lowlevel.h (the latter is needed
20026         for dbus_connection_setup_with_g_main at present).
20027         (nmwa_dbus_update_wireless_network_list): Parenthesize
20028         assignment in conditional.
20029         (nmwa_dbus_worker): Return NULL.
20030
20031         * panel-applet/NMWirelessApplet.c (nmwa_redraw)
20032         (nmwa_get_menu_pos, nmwa_toplevel_menu_activate)
20033         (nmwa_menu_add_text_item, nmwa_setup_widgets): Kill unused variables.
20034         (nmwa_populate_menu): Return NULL on failure, instead of just
20035         return;
20036
20037         * initscript/NMLaunchHelper.c (g_timeout_add): Cast arg to GSourceFunc.
20038
20039         * info-daemon/NetworkManagerInfoNetworksDialog.c (nmi_networks_dialog_init): Kill unused
20040         variables.
20041
20042         * info-daemon/NetworkManagerInfo.c (nmi_print_usage): Unused,
20043         delete.
20044         
20045 2004-08-29  Colin Walters  <walters@verbum.org>
20046
20047         * src/NetworkManagerDbus.c (nm_dbus_get_network_timestamp): Return
20048         a GTimeVal instead of time_t.  This is easier to work with,
20049         since time_t may be a long or double, we don't know.
20050
20051         * src/NetworkManagerDbus.h: Update prototype.
20052         
20053         * src/NetworkManagerAP.c (struct NMAccessPoint): Store a GTimeVal
20054         instead of time_t.
20055         (nm_ap_get_timestamp): Update to return GTimeVal.
20056         (nm_ap_set_timestamp): Update to take GTimeVal.
20057         
20058         * src/NetworkManagerDevice.c (nm_device_update_best_ap): Update
20059         to handle GTimeVal.
20060
20061         * src/NetworkManagerAPList.c (nm_ap_list_update_network): Handle
20062         GTimeVal change.
20063         (nm_ap_list_print_members): Fix warnings in printf format.
20064
20065 2004-08-29  Colin Walters  <walters@verbum.org>
20066         
20067         * panel-applet/NMWirelessApplet.c: Include config.h.
20068
20069 2004-08-29  Colin Walters  <walters@verbum.org>
20070
20071         * configure.in: Generate config.h.
20072
20073         * configure.in: Dump dependency on OpenSSL; we can't
20074         use it since this package is GPL:
20075         http://www.gnome.org/~markmc/openssl-and-the-gpl.html
20076         Instead, check for libgcrypt, use it if available,
20077         otherwise use included MD5 code.
20078
20079         * src/gnome-keyring-md5.h, src/gnome-keyring-md5.c:
20080         Suck in from gnome-keyring, munge a bit.
20081         
20082         * src/Makefile.am (NetworkManager_SOURCES) <!WITH_GCRYPT>: Include
20083         gnome-keyring-md5.h gnome-keyring-md5.c.
20084         (NetworkManager_LDADD) <WITH_GCRYPT>: Add dep on LIBGCRYPT_LIBS.
20085
20086         * src/NetworkManagerWireless.c (nm_md5): New function, uses
20087         libgcrypt or included gnome-keyring md5 bits.
20088         (nm_wireless_128bit_key_from_passphrase): Use nm_md5.
20089
20090 2004-08-28  Kjartan Maraas  <kmaraas@gnome.org>
20091
20092         * configure.in: Add «nb» and «no» to ALL_LINGUAS.
20093
20094 2004-08-27  Bryan Clark  <bclark@redhat.com>
20095
20096         * examples/python/systray/Makefile: 
20097
20098         Updated the clean section
20099         
20100         * examples/python/systray/trayiconmodule.c: 
20101         * examples/python/systray/trayicon.override: 
20102         * examples/python/systray/network_tray.py: 
20103         * examples/python/systray/eggtrayicon.h: 
20104         * examples/python/systray/eggtrayicon.c: 
20105         * examples/python/systray/Makefile: 
20106         * examples/python/README: 
20107         * examples/python/NetworkManager.py: 
20108         * examples/python/NMTester.py: 
20109
20110         Initial commit of these python example files
20111
20112 Fri Aug 28 2004 Dan Williams <dcbw@redhat.com>
20113
20114         * panel-applet/NMWirelessApplet.c
20115                 - Make current device bold
20116                 - Show more user-friendly device name if we got one from hal
20117
20118         * panel-applet/NMWirelessAppletDbus.c
20119                 - Grab "info.product" key from hal for network devices
20120                 - Cache the current active device
20121
20122 2004-08-27  Adam Weinberger  <adamw@gnome.org>
20123
20124         * configure.in: Added en_CA to ALL_LINGUAS.
20125
20126 2004-08-27  Christian Rose  <menthos@menthos.com>
20127
20128         * configure.in: Added "sv" to ALL_LINGUAS.
20129
20130 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20131
20132         * Tag NetworkManager-0.2
20133
20134 Thu Aug 26 17:23:16 2004  Jonathan Blandford  <jrb@redhat.com>
20135
20136         * initscripts/Makefile.am
20137         * configure.in: Make pass distcheck
20138
20139         * po/ChangeLog: added
20140
20141 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20142
20143         * panel-applet/NMWirelessApplet.c
20144                 - Remove debugging code
20145                 - Enable device switching from menus
20146
20147         * panel-applet/NMWirelessAppletDbus.[ch]
20148                 - Method for asking NM to switch devices
20149
20150         * src/NetworkManagerDevice.c
20151                 - Set dev->activating earlier, avoids race between
20152                         the dbus signal of "DeviceActivating" and setting
20153                         dev->activating (which is what NM's "status" method call
20154                         looks at)
20155
20156 Thu Aug 26 2004 Dan Williams <dcbw@redhat.com>
20157
20158         * panel-applet/NMWirelessApplet.[ch]
20159                 - Rework menu code to add devices to menu, and to show
20160                         signal strength for each access point.  Code cleanups
20161                         too.
20162
20163         * panel-applet/NMWirelessAppletDbus.c
20164                 - Grab network devices from NetworkManager too
20165                 - Grab quality information from NM for wireless networks
20166
20167         * src/NetworkManagerDbus.[ch]
20168                 - Add dbus methods for getting the HAL UDI from a device and
20169                         for getting its base quality, if its wireless
20170                 - Consolidate some functions (wireless network notifications,
20171                         device notifications)
20172                 - Add method for requesting NM to use a particular device
20173
20174         * src/NetworkManager.c
20175                 - Change for function consolidations from NetworkManagerDbus.c
20176                 - Implement active device locking and user-requested devices
20177                         (ie, tell NM to use a particular device instead of the one
20178                         it autochose)
20179
20180         * src/NetworkManagerDevice.c
20181                 - Add method for getting the base quality of a device, if its
20182                         wireless
20183                 - Grab device base quailty info from iwlib during scans
20184
20185         * src/NetworkManagerPolicy.c
20186                 - Use a user-requested device rather than the auto-chosen device
20187                         if we are told to
20188
20189 Thu Aug 26 15:12:36 2004  Jonathan Blandford  <jrb@redhat.com>
20190
20191         * Makefile.am: add po as a supdir
20192
20193         * autogen.sh: use gnome-autogen.sh
20194
20195         * initscript/Gentoo/.cvsignore:
20196         * initscript/RedHat/.cvsignore: Shut up cvs
20197
20198         * panel-applet/Makefile.am: Define GNOMELOCALEDIR for bonobo.
20199
20200         * panel-applet/NMWirelessApplet.c: (nmwa_populate_menu),
20201         (nmwa_fill): Use gettext.
20202
20203         * configure.in: add gettext support
20204         * po/.cvsignore:
20205         * po/NetworkManager.pot:
20206         * po/POTFILES.in:
20207
20208 2004-08-26  Seth Nickell  <seth@gnome.org>
20209
20210         * panel-applet/NMWirelessApplet.c: (nmwa_destroy),
20211         (nmwa_menu_item_activate), (nmwa_toplevel_menu_activate),
20212         (nmwa_add_menu_item), (nmwa_menu_item_data_free),
20213         (nmwa_dispose_menu_items), (nmwa_populate_menu),
20214         (nmwa_setup_widgets), (do_not_eat_button_press), (nmwa_new):
20215         * panel-applet/NMWirelessApplet.h:
20216
20217         Use a menu bar instead of a button for the main clickable
20218         thingy.
20219         
20220 2004-08-25  Dan Williams <dcbw@redhat.com>
20221
20222         * src/NetworkManagerDevice.c
20223                 - (nm_device_set_enc_key): always set device to "open" mode instead of
20224                         turning encryption off, because the Cisco driver doesn't associate
20225                         with WEP-enabled access points unless we are in "open"
20226
20227 2004-08-25  Dan Williams <dcbw@redhat.com>
20228
20229         * src/NetworkManagerWireless.c
20230                 - Don't try to defererence blank passphrases
20231
20232 2004-08-25  Dan Williams <dcbw@redhat.com>
20233
20234         * panel-applet/NMWirelessApplet.c
20235                 - Rebuild the menu whenever a user clicks
20236
20237 2004-08-25  Dan Williams <dcbw@redhat.com>
20238
20239         * panel-applet/NMWirelessApplet.c
20240                 - (nmwa_udpate_state): Set panel icon to "wired" (for lack of better ones)
20241                         when NM isn't around or when its not connected
20242
20243         * src/NetworkManagerDevice.c
20244                 - (nm_device_activation_worker): Make sure to reset dev->activating if we get
20245                         canceled.
20246
20247 2004-08-25  Dan Williams <dcbw@redhat.com>
20248
20249         * panel-applet/NMWirelessAppletDbus.c
20250                 - (nmwa_dbus_get_bool, nmwa_dbus_get_network_encrypted): correct method name
20251                         for getting encryption, and don't stop on "val" once we've gotten it
20252                         from NetworkManager.  Short form:  encryption should now show up.
20253
20254 2004-08-25  Dan Williams <dcbw@redhat.com>
20255
20256         * panel-applet/NMWirelessApplet.c
20257                 - Set ESSID on a gconf trusted network too when force-setting the wireless
20258                         network to associate with
20259
20260 2004-08-25  Dan Williams <dcbw@redhat.com>
20261
20262         * panel-applet/*
20263                 - Rework the panel applet to do all DBUS communication in a separate
20264                         thread
20265
20266 2004-08-25  Dan Williams <dcbw@redhat.com>
20267
20268         * info-daemon/NetworkManagerInfo.[ch]
20269                 - Remove "get_next_priority" function
20270
20271         * info-daemon/NetworkManagerInfoDbus.[ch]
20272                 - Convert "priority" functions to "timestamp"
20273
20274 2004-08-25  Dan Williams <dcbw@redhat.com>
20275
20276         * src/NetworkManagerAP.[ch]
20277                 - Add a "enc_method_good" member and accessors to an Access Point
20278                         to signal when we've found the correct encryption method
20279                         for an access point
20280                 - Add a "timestamp" member and accessors, remove "priority" member
20281                         and accessors (use timestamps instead)
20282                 - Rename "wep_key"->"enc_key"
20283                 - (nm_ap_get_enc_key_hashed): new, return the correct mangled key
20284                         for a specified encryption method using the access points
20285                         source encryption key/passphrase
20286
20287         * src/NetworkManagerAPList.c
20288                 - When updating a network with dbus, grab timestamp now instead of
20289                         priority
20290
20291         * src/NetworkManagerDBus.[ch]
20292                 - Add signal for "DeviceActivating"
20293                 - Switch priority->timestamp
20294
20295         * src/NetworkManagerDevice.c
20296                 - Change references of "wep_key" -> "enc_key" or "key"
20297                 - Signal DeviceActivating when starting activation
20298                 - When activating a wireless device, if the access point we are connecting
20299                         to is encrypted, and we have a source key, try to generate a mangled
20300                         key and use that (ie, generate real WEP key from a passphrase)
20301                 - Rework device activation to fallback to other encryption methods if
20302                         a previous one didn't work (ie, try mangling a key as a 104-bit passphrase
20303                         first, then if that doesn't work fall back to direct hex key).
20304                 - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of
20305                         priority.  We now prefer the latest access point used, rather than using
20306                         a priority scheme
20307                 - (nm_device_do_normal_scan): make the encryption method "unknown" on access
20308                         points we've just discovered, and merge in correct info from the global
20309                         access point lists
20310
20311 2004-08-25  Seth Nickell  <seth@gnome.org>
20312
20313         Patch from Matthew Garrett <mjg59@srcf.ucam.org> for adding
20314         Debian support.
20315         
20316         * src/Makefile.am:
20317         * src/backends/NetworkManagerDebian.c: (nm_system_device_run_dhcp),
20318         (nm_system_device_stop_dhcp), (nm_system_device_flush_routes),
20319         (nm_system_device_flush_addresses), (nm_system_enable_loopback),
20320         (nm_system_delete_default_route),
20321         (nm_system_kill_all_dhcp_daemons), (nm_system_update_dns),
20322         (nm_system_load_device_modules):
20323
20324 2004-08-24  Dan Willemsen <dan@willemsen.us>
20325
20326         * src/NetworkManager.c
20327           src/backends/NetworkManagerGentoo.c
20328           src/backends/NetworkManagerRedHat.c
20329           src/backends/NetworkManagerSystem.h
20330                 - Implement preliminary Gentoo support, adding a
20331                         nm_system_init function to the backend specification
20332
20333         * configure.in
20334                 - Distribution auto-detection, lowercase any user-fed
20335                         distribution names
20336
20337         * initscript/.cvsignore
20338           initscript/Makefile.am
20339           initscript/RedHat/Makefile.am
20340           initscript/RedHat/NetworkManager
20341           initscript/Gentoo/Makefile.am
20342           initscript/Gentoo/NetworkManager
20343                 - Refactored initscript code separately for each
20344                         distribution
20345
20346 2004-08-23  Dan Williams <dcbw@redhat.com>
20347
20348         * configure.in
20349           src/Makefile.am
20350           src/NetworkManagerDevice.c
20351           src/NetworkManager.c
20352           src/NetworkManagerUtils.[ch]
20353           src/backends/NetworkManagerSystem.h
20354           src/backends/NetworkManagerRedHat.c
20355           src/backends/NetworkManagerGentoo.c
20356                 - Refactor system-specific code into separate backends for
20357                         each distribution
20358
20359 2004-08-23  Dan Willemsen <dan@willemsen.us>
20360
20361         * dispatcher-daemon/NetworkManagerDispatcher.c
20362           info-daemon/NetworkManagerInfo.[ch]
20363           info-daemon/NetworkManagerInfoDbus.c
20364           info-daemon/NetworkManagerInfoPassphraseDialog.c
20365           src/NetworkManager.c
20366           src/NetworkManagerAP.c
20367           src/NetworkManagerAPList.c
20368           src/NetworkManagerDbus.c
20369           src/NetworkManagerDevice.c
20370           src/NetworkManagerPolicy.c
20371           src/NetworkManagerUtils.[ch]
20372           src/NetworkManagerWireless.c
20373                 - Used syslog functions for logging instead of NM_DEBUG_DISPLAY & fprintf
20374
20375         * src/NetworkManager.c
20376                 - Fixed usage wording for --no-daemon
20377
20378 2004-08-23  Dan Williams <dcbw@redhat.com>
20379
20380         * panel-applet/NMWirelessApplet.c
20381                 - Update our state every second to get more responsive panel icon
20382                 - (nmwa_update_state): remove bogus applet->pix_state = PIX_WIRED that
20383                         was causing our marching ants status blips to never move when
20384                         looking for a wireless network
20385
20386         * src/NetworkManagerDevice.c
20387                 - (nm_device_activation_begin): return if activation has already begun
20388                 - (nm_device_do_normal_scan): merge WEP key and priority from the
20389                         trusted/preferred network into the device's access point when the
20390                         scan list is processed
20391
20392 2004-08-23  Dan Williams <dcbw@redhat.com>
20393
20394         * initscript/NetworkManager
20395                 - Use NMLaunchHelper rather than sleeping
20396
20397         * initscript/NMLaunchHelper.c
20398           Makefile.am
20399                 - Add helper program that exits only when NM activates a device,
20400                         or 10 seconds have passed, whichever happens first.  This
20401                         stops the boot processes until we have a network connection,
20402                         which NM can't do because it daemonizes and brings the connection
20403                         up in the background.  Allows stuff like NFS to not die.
20404
20405 2004-08-20  Dan Williams <dcbw@redhat.com>
20406
20407         * info-daemon/NetworkManagerInfoPassphraseDialog.c
20408                 - (nmi_passphrase_dialog_ok_clicked): when updating the wep key
20409                         for a network, set the essid as well since it may not exist yet
20410                 - (nmi_passphrase_dialog_init): don't star out the passphrase field,
20411                         since WEP keys/passphrases are long and prone to entry-error
20412
20413         * panel-applet/Makefile.am
20414           panel-applet/wired.png
20415                 - Add (pulled from system-config-network temporarily)
20416
20417         * panel-applet/NMWirelessApplet.[ch]
20418                 - Show wired picture when a wired connection is used
20419                 - Rename wireless icon enums, adding WIRELESS
20420
20421         * src/NetworkManagerDevice.c
20422                 - (nm_device_activate_wireless): unset encryption before bringing
20423                         down the card and setting the essid
20424                 - (nm_device_activatin_worker): request a key from the user if the
20425                         AP we are connecting to is encrypted but we don't have a key
20426                         for it yet
20427                 - (nm_device_set_user_key_for_network): fix missing '== 0' for a
20428                         strcmp() that prevented a user-entered key from actually getting
20429                         used
20430
20431 2004-08-16  Dan Williams <dcbw@redhat.com>
20432
20433         * initscript/NetworkManager
20434                 - Check for /sbin/ip
20435                 - Do sysctl magic that network service does
20436                 - sleep 4s after start to allow network time to come up [hack]
20437
20438         * src/Makefile.am
20439           src/NMLoadModules
20440                 - Load all network device kernel modules (hal doesn't know devices
20441                         are ethernet until the module is loaded, and therefore we don't know)
20442
20443         * src/NetworkManager.c
20444                 - (main): daemonize later, launch NMLoadModules to alert HAL of our
20445                         network devices, and bring up the loopback device explicitly
20446
20447         * src/NetworkManagerUtils.[ch]
20448                 - (nm_enable_loopback): new function
20449
20450 2004-08-13  Dan Williams <dcbw@redhat.com>
20451
20452         * configure.in
20453           panel-applet/Makefile.am
20454                 - Fix up cleanfiles and server_DATA/server_in_files
20455
20456         * README
20457                 - Update with some comments on theory of operation
20458
20459         * CONTRIBUTING
20460           Makefile.am
20461                 - Add CONTRIBUTING
20462
20463 2004-08-12  Dan Williams <dcbw@redhat.com>
20464
20465         * info-daemon/passphrase.glade
20466                 - Set window title to " "
20467
20468         * panel-applet/Makefile.am
20469           panel-applet/keyring.png
20470                 - Deliver to correct place
20471
20472         * panel-applet/NMWirelessApplet.[ch]
20473                 - Add comments
20474                 - Remove applet->have_active_device as its no longer used
20475                 - (nmwa_load_theme): load keyring.png too
20476                 - (error_dialog): remove
20477                 - (show_warning_dialog): subsume functionality of error dialog too
20478                 - (nmwa_destroy, nmwa_new): create and dispose of an application-wide GConfClient
20479                 - (nmwa_handle_network_choice): add to deal with user clicking on an item from
20480                         the networks menu
20481                 - (nmwa_menu_item_activated): GtkMenuItem "activate" signal handler
20482                 - (nmwa_button_clicked, nmwa_setup_widgets): create and populate the menu on startup
20483                         and when we get broadcasts of changed wireless access points only, not when the
20484                         user clicks on the button to display the menu (too long of a wait)
20485                 - (nmwa_add_menu_item): Make active network bold, and place a keyring icon beside
20486                         networks that are encrypted
20487                 - (nmwa_dispose_menu, nmwa_menu_item_data_free): dispose of the data we place on each
20488                         menu item with g_object_set_data()
20489
20490         * panel-applet/NMWirelessAppletDbus.[ch]
20491                 - (nmwa_dbus_get_bool): add method to return boolean value from dbus message
20492                 - (nmwa_dbus_get_active_network): add (nmwa_dbus_get_string() wrapper to get active network)
20493                 - (nmwa_dbus_add_networks_to_menu): clean up, only show one instance of each ESSID in the menu
20494                 - (nmwa_dbus_set_network): force NetworkManager to use a particular network for wireless cards
20495                 - (nmwa_dbus_init, nmwa_dbus_filter): Trap network appear/disappear and device
20496                         activation/deactivation signals and rebuild the menu when they happen
20497
20498         * src/NetworkManager.c
20499                 - (main): use new nm_spawn_process() rather than system()
20500
20501         * src/NetworkManagerDbus.c
20502                 - (nm_dbus_devices_handle_request): don't compare AP structure addresses directly, but essids
20503                         instead.  Since we can now force best_aps to stick around, the AP structure to which
20504                         dev->options.wireless.best_ap points to won't necessarily be in the device's device list
20505                         if a scan has happened since the best_ap was frozen.  Also add "setNetwork" method
20506                         to freeze the best_ap.
20507
20508         * src/NetworkManagerDevice.[ch]
20509                 - (nm_device_activation_worker): Use new nm_spawn_process() call rather than system()
20510                 - (nm_device_*_best_ap): add freeze/unfreeze/get_frozen functions, and don't really update
20511                         the best_ap in nm_device_update_best_ap() if the best_ap is frozen AND in the device's
20512                         ap list
20513
20514         * src/NetworkManagerUtils.[ch]
20515                 - (nm_spawn_process): add replacement for system() usage
20516
20517 2004-08-11  Dan Williams <dcbw@redhat.com>
20518
20519         * panel-applet/NMWirelessApplet.[ch]
20520                 - Fix up copyright and credits to include Bastien and Eskil,
20521                         who created the gnome-applets wireless applet, from whose
20522                         skeleton this one was created
20523                 - Rework nmwa_update_state()/nmwa_draw() so that state and which
20524                         pixmap to draw is computed during nmwa_update_state()
20525                 - Applet now shows itself all the time due to panel packing issues
20526                         which caused the applet to previously never come back after hiding.
20527                         When a wired device is the active device, the applet shows "not connected"
20528
20529         * panel-applet/NMWirelessAppletDbus.[ch]
20530                 - Clean up error messages and show what function they are from
20531                 - nmwa_dbus_get_active_wireless_device()->nmwa_dbus_get_active_device()
20532                 - Add new device type getters, and a status getter
20533
20534         * src/NetworkManagerDbus.c
20535                 - (nm_dbus_devices_handle_request): Don't return an active network unless that
20536                         network is actually in the device's ap list
20537                 - (nm_dbus_nm_message_handler): Fix silly mistake returning status
20538
20539         * src/NetworkManagerDevice.c
20540                 - (nm_device_update_best_ap): If the best AP is NULL, clear out the ESSID of the
20541                         card
20542
20543         * test/nmclienttest.c
20544                 - Report status of NetworkManager too
20545
20546 2004-08-11  Dan Williams <dcbw@redhat.com>
20547
20548         * info-daemon/NetworkManagerInfo.c:
20549                 - (main): clean up Seth's code style
20550
20551         * info-daemon/NetworkManagerInfoDbus.c:
20552                 - Use the more aptly-named path/service/interface constants from NetworkManager
20553                 - Don't return empty strings ("") as object paths ever, instead return errors
20554
20555         * panel-applet/NMWirelessApplet.c:
20556                 - Clean up Seth's code style
20557
20558         * src/NetworkManager.[ch]
20559                 - (nm_remove_device_from_list): remove anything having to do with pending_device
20560                 - (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
20561
20562         * src/NetworkManagerAPList.[ch]
20563                 - Move Iter struct right above the iter functions to preserve opacity
20564                 - (nm_ap_list_remove_ap): implement
20565                 - (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
20566                         remove AP if NetworkManagerInfo doesn't know anything about it
20567                 - (nm_ap_list_diff): user NMAPList iterators
20568                 - (nm_ap_list_print_members): implement debugging function
20569
20570         * src/NetworkManagerDbus.[ch]
20571                 - (nm_dbus_nm_get_active_device): remove anything to do with pending_device
20572                 - (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
20573                         and move the actual key setting stuff into NetworkManagerDevice.c
20574                 - (nm_dbus_get_network_priority): return -1 now on errors
20575                 - (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
20576                         get lost, and force the active device to update its "best" ap when AP lists change
20577                 - (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
20578                         method call due to pending_device member removal
20579
20580         * src/NetworkManagerDevice.[ch]
20581                 - Move NMDevice structure to the top
20582                 - Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
20583                 - Remove Pending Action stuff from everywhere
20584                 - (nm_device_activation_*): We now "begin" activation and start a thread to do the
20585                         activation for us.  This thread blocks until all conditions for activation have
20586                         been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
20587                         then setup up the interface and runs dhclient.  We have to do this because there
20588                         is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
20589                         run our main loop and respond to dbus method calls or HAL device removals/inserts
20590                 - (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
20591                         can tell nm_device_activation_worker() that we've got a key
20592                 - (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
20593                 - (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
20594                         diffing (AP appear/disappear signal functions make sure the AP is actually in the device's list)
20595                 - (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
20596
20597         * src/NetworkManagerPolicy.c
20598                 - Remove anything to do with pending_device
20599                 - Adjust device activation to deal with activation-in-worker-thread
20600
20601         * src/NetworkManagerUtils.c
20602                 - Clean up locking debugging a bit
20603
20604         * src/NetworkManagerWireless.[ch]
20605                 - (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap().  This function
20606                         was badly named and is better as a device function
20607
20608         * panel-applet/.cvsignore: add
20609
20610 2004-08-09  Seth Nickell  <seth@gnome.org>
20611
20612         * panel-applet/NMWirelessApplet.c: (nmwa_timeout_handler),
20613         (nmwa_button_clicked), (nmwa_populate_menu), (nmwa_setup_widgets),
20614         (nmwa_new):
20615         * src/NetworkManagerDbus.c: (nm_dbus_nmi_filter):
20616
20617         Don't load the menus until clicked on (also removes a call outside
20618         normal code paths at first load).
20619
20620         Hide applet when NM is not present.
20621         
20622         Improve printf debugging stuff.
20623         
20624 2004-08-09  Dan Williams <dcbw@redhat.com>
20625
20626         * dispatcher-daemon/NetworkManagerDispatcher.c:
20627                 - Covert uses of dbus_message_iter_* over to dbus_message_get_args
20628                 - Use constants for NetworkManager interface, service, and path
20629
20630 2004-08-09  Dan Williams <dcbw@redhat.com>
20631
20632         * src/NetworkManagerDbus.c:
20633                 - (nm_dbus_nm_get_active_device, nm_dbus_nm_get_devices): Never return an empty object path,
20634                         instead return an error message
20635                 - (nm_dbus_devices_handle_request): Return error when getActiveNetwork/getNetworks is called
20636                         on a wired device.  Also never return an empty object path, instead return an error message
20637
20638 2004-08-06  Seth Nickell  <seth@gnome.org>
20639
20640         * panel-applet/NMWirelessApplet.c: (nmwa_new):
20641
20642         Check the error code when getting a connection.
20643         
20644         * panel-applet/NMWirelessAppletDbus.c: (nmwa_dbus_init):
20645
20646         Check if the NM service exists when initializing (rather than
20647         assuming it does not).
20648         
20649         * src/NetworkManagerDbus.c: (nm_dbus_init):
20650
20651         Don't acquire the well-known service name until we have
20652         registered object/path handlers and can actually receive
20653         calls.
20654         
20655 2004-08-06  Dan Williams <dcbw@redhat.com>
20656
20657         * panel-applet/*
20658                 - Add panel applet
20659
20660         * src/NetworkManagerPolicy.c
20661           src/NetworkManager.c
20662                 - Get access point lists from NetworkManagerInfo on-demand,
20663                         and look for ServiceCreate/ServiceDeleted signals to see when
20664                         we should query NMI for lists
20665         * src/NetworkManagerAPList.c
20666                 - Make sure to init the list's mutex
20667                 - Convert traversals of the list over to the list iter functions
20668
20669         * src/NetworkManagerDbus.[ch]
20670                 - Use more aptly-named path/service/interface constants
20671                 - Treat both active and pending devices the same for "getActiveDevice"
20672                 - Add a "status" method returning "connected", "connecting", or "disconnected"
20673
20674         * src/NetworkManagerDevice.c
20675                 - Honor "ignored" network list when picking best ap to use
20676
20677 2004-08-06  Seth Nickell  <seth@gnome.org>
20678
20679         * aclocal.m4:
20680
20681         Autogenerated, remove from CVS.
20682         
20683         * autogen.sh:
20684
20685         Don't hardcode automake version.
20686         
20687         * configure.in:
20688         * info-daemon/Makefile.am:
20689         * info-daemon/NetworkManagerInfo.c: (main):
20690
20691         Use GnomeProgram et al. for doing session management.
20692         Use popt stuff for argument parsing rather than doing
20693         it manugally.
20694         
20695 2004-08-05  Dan Williams <dcbw@redhat.com>
20696
20697         * test/nminfotest.c
20698                 - Update to new NMI dbus API, check different network types
20699
20700         * info-daemon/NetworkManagerInfoDbus.c
20701                 - Update to new NM dbus API, ie network type sent in query message
20702
20703 2004-08-05  Dan Williams <dcbw@redhat.com>
20704
20705         * An assload of changes
20706
20707 2004-08-02  Dan Williams <dcbw@redhat.com>
20708
20709         * TODO
20710                 - new task: proper logging support
20711
20712         * info-daemon/NetworkManagerInfo.c
20713                 - Correct spelling of "canceled"
20714                 - Correct casting of objects for g_signal_connect()
20715
20716         * info-daemon/NetworkManagerInfoDbus.c
20717                 - Add defines for NetworkManager namespace and object path, and use them
20718                 - Add filter function to trap new signals from NetworkManager:
20719                         WirelessNetworkAppeared, WirelessNetworkDisappeared
20720
20721         * info-daemon/passphrase.glade
20722                 - Change name of "ok" button to "Login to Network..."
20723                 - Mark invisible
20724
20725         * src/NetworkManager.c
20726                 - Code and debug message cleanups
20727                 - Rename "nm_add_current_devices"->"nm_add_initial_devices"
20728                 - (nm_add_initial_devices) Check returned string array of devices
20729                         and don't try to add devices if array is NULL
20730                 - (main) Initialize libhal a bit later, make code a bit clearer
20731
20732         * src/NetworkManagerAP.[ch]
20733                 - New accessor and data member "matched": used to speed up AP list
20734                         diffing
20735                 - New accessor and data member "enc_method": will be used during key
20736                         fallback to cache which passphrase->key conversion actually works
20737                         so we don't have to do it every time
20738
20739         * src/NetworkManagerAPList.[ch]
20740                 - (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
20741                 - (nm_ap_list_diff) New: given two lists of access points, find the differences
20742                         between them, and send WirelessNetworkAppeared/Disappeared signals over
20743                         dbus in response to those differences
20744
20745         * src/NetworkManagerDbus.[ch]
20746                 - (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
20747                         make an object path for that access point (NOTE that we don't yet check to
20748                         make sure that access point is actually in the device's AP list yet)
20749                 - (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
20750                 - (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
20751                         New: signal appearance/disappearance of wireless networks
20752                 - (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
20753                         key entry
20754
20755         * src/NetworkManagerDevice.[ch]
20756                 - (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
20757                 - (nm_device_ap_list_get) New: return the AP list (static function)
20758                 - (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
20759                         new one resulting from the scan with the old one
20760
20761         * src/NetworkManagerWireless.c
20762                 - (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
20763
20764         * test/nminfotest.c
20765                 - #define object paths and namespaces and use the #defines rather than static strings
20766                 - Test out user-key functionality of NetworkManagerInfo too
20767
20768 2004-07-29  Dan Williams <dcbw@redhat.com>
20769
20770         * info-daemon/NetworkManagerInfoDbus.c
20771           src/NetworkManagerDbus.c
20772                 - Update to current DBus (ie don't use decomposed paths when registering
20773                         object paths/fallbacks)
20774
20775 2004-07-27  Dan Williams <dcbw@redhat.com>
20776
20777         * Remove various Makefile.in files
20778
20779         * TODO
20780                 - Add some more items
20781
20782         * configure.in
20783                 - Add checks for OpenSSL/md5 headers and libs
20784
20785         * src/Makefile.am
20786                 - Use OpenSSL CFLAGS
20787
20788         * src/NetworkManagerAP.[ch]
20789                 - Remove 'stamp' functions, replace with 'invalid' functions
20790                         to support user cancelling WEP key entry
20791
20792         * src/NetworkManagerDbus.c
20793                 - Remove 'stamp' return functions
20794                 - Treat returned user key as a passphrase and convert to a WEP key,
20795                         but don't actually use the WEP key yet.  We use the returned user
20796                         key as a hexadecimal WEP key until we can figure out a UI for
20797                         passphrase-vs-hex key
20798
20799         * src/NetworkManagerWireless.[ch]
20800                 - Add passphrase-to-128bit-key function
20801
20802 2004-07-27  Dan Williams <dcbw@redhat.com>
20803
20804         * TODO
20805                 - Add a couple of items
20806
20807 2004-07-27  Dan Williams <dcbw@redhat.com>
20808
20809         * info-daemon/NetworkManagerInfo.c
20810                 - Update allowed network's GConf key when user enters a WEP key explicitly
20811
20812         * info-daemon/NetworkManagerDbus.c
20813                 - Fix some comments
20814                 - nmi_dbus_get_allowed_networks(): kill warning
20815
20816 2004-07-27  Dan Williams <dcbw@redhat.com>
20817
20818         * initscript/Makefile.in
20819                 - Remove
20820
20821         * initscript/Makefile.am
20822                 - Add correct rules to install the init.d initscript
20823
20824         * info-daemon/NetworkManagerInfoDbus.c
20825                 - Remove debug fprintf
20826
20827         * src/NetworkManagerDbus.[ch]
20828                 - Remove debug fprintfs
20829                 - Add macros for NetworkManagerInfo object path/namespace
20830                 - Use said macros instead of constant strings
20831
20832 2004-07-27  Dan Williams <dcbw@redhat.com>
20833
20834         * initscript/.cvsignore
20835                 - Add
20836
20837         * info-daemon/Makefile.am
20838                 - Install .glade files and keyring.png
20839                 - Fix stupid omission of a \ that caused half the flags not to be
20840                         passed to gcc
20841
20842         * info-daemon/NetworkManagerInfo.c
20843                 - gtk_signal_connect->g_signal_connect
20844                 - Alert NetworkManagerInfo to new glade file location
20845
20846 2004-07-27  Dan Williams <dcbw@redhat.com>
20847
20848         * test/nmclienttest.c
20849           test/nminfotest.c
20850                 - Add missing <dbus/dbus.h> headers
20851                 - Add GPL message at top
20852
20853 2004-07-27  Dan Williams <dcbw@redhat.com>
20854
20855         * src/NetworkManagerAPList.[ch]
20856           src/Makefile.am
20857                 - Add.  Deal with allowed network list additions, deletions, and updates
20858
20859         * dispatcher-daemon/NetworkManagerDispatcher.c
20860                 - Add missing <dbus/dbus.h> header
20861
20862         * info-daemon/NetworkManagerInfo.[ch]
20863                 - Add missing <dbus/dbus.h> header
20864                 - Implement the GConf notify callback to signal NetworkManager of an allowed
20865                         network change
20866                 - Better error checking
20867
20868         * info-daemon/NetworkManagerInfoDbus.[ch]
20869                 - Add missing <dbus/dbus.h> header
20870                 - Convert to using dbus_message_append_args/dbus_message_get_args
20871                 - Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
20872                         that an allowed network changed.  We don't want to signal on individual
20873                         keys _inside_ an allowed network really, just want NM to query the info
20874                         daemon for updated info on all keys.
20875                 - Better error checking
20876
20877         * src/NetworkManager.[ch]
20878                 - Add missing <dbus/dbus.h> header
20879                 - Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
20880                 - Zero out NMData structure on free
20881                 - No longer use a thread for allowed_ap_list updating, instead its now done
20882                         through dbus queries against NetworkManagerInfo
20883                 - Populate allowed_ap_list initially before adding existing network devices
20884                         to the device list, so wireless devices can get their "best" AP
20885
20886         * src/NetworkManagerDbus.[ch]
20887                 - Convert to using dbus_message_append_args/dbus_message_get_args
20888                 - Better error checking
20889                 - Implement Allowed Network info functions to request allowed network
20890                         info from NetworkManagerInfo
20891                 - Implement the filter function to process signals from NetworkManagerInfo
20892                         about changing allowed networks
20893
20894         * src/NetworkManagerDevice.c
20895                 - Fix file descriptor leak in nm_device_update_ip4_address()
20896
20897 2004-07-27  Dan Williams <dcbw@redhat.com>
20898
20899         * .cvsignore
20900           src/.cvsignore
20901           test/.cvsignore
20902           dispatcher-daemon/.cvsignore
20903           info-daemon/.cvsignore
20904                 - Add .cvsignore files to reduce noise when diffing
20905
20906 2004-07-24  Dan Williams <dcbw@redhat.com>
20907
20908         * src/NetworkManager.[ch]
20909           src/NetworkManagerDbus.[ch]
20910           src/NetworkManagerDevice.[ch]
20911           src/NetworkManagerPolicy.c
20912           src/NetworkManagerWireless.[ch]
20913                 - Add many more g_return_if_fail()/g_return_val_if_fail() checks
20914                 - Pass the NMData application data structure through all calls
20915                         that need it so we can get rid of nm_get_global_data()
20916                 - Change deallocation of the allowed_ap_list GSList in preparation
20917                         for not completely clearing it every time we get an update,
20918                         but instead getting incremental updates via GConf/dbus
20919
20920 2004-07-22  Dan Williams <dcbw@redhat.com>
20921
20922         * configure.in
20923                 - Add checks for GConf libs & headers & flags
20924
20925         * info-daemon/Makefile.am
20926                 - Add GConf flags & libs to compile/link stages of NetworkManagerInfo
20927
20928         * info-daemon/NetworkManagerInfo.[ch]
20929                 - Don't use gquarks for data storage, just use normal data storage
20930                 - Add gconf bits to watch /system/networking/wireless/allowed_networks
20931
20932         * info-daemon/NetworkManagerDbus.[ch]
20933                 - Add method call for getting allowed networks
20934                 - Add method calls for getting an allowed network's essid, priority, and key
20935                 - Hook the method calls up to GConf
20936                 - Split user key dialog code into separate function (nmi_dbus_get_key_for_network)
20937                 - nmi_dbus_nmi_message_handler(): make sure to unref the reply message after sending
20938                 
20939         * src/NetworkManagerDbus.[ch]
20940                 - Switch for enumeration of networks to using essid instead
20941
20942         * test/Makefile.am
20943           test/nminfotest.c
20944                 - Add test program for NetworkManagerInfo
20945
20946 2004-07-19  Dan Williams <dcbw@redhat.com>
20947
20948         * src/NetworkManagerDbus.c
20949                 - Switch from indexed device paths to names.  Less code, more efficient.
20950                         ie "/org/freedesktop/NetworkManager/0" -> "/org/freedesktop/NetworkManager/eth0"
20951
20952 2004-07-19  Dan Williams <dcbw@redhat.com>
20953
20954         * dispatcher-daemon/NetworkManagerDispatcher.c
20955                 - (nm_dbus_filter): Remove obsolete response to NeedKeyForNetwork signal
20956
20957 2004-07-19  Dan Williams <dcbw@redhat.com>
20958
20959         * Makefile.am
20960                 - Add info-daemon directory
20961
20962         * configure.in
20963                 - Check for glade libs and headers
20964                 - Add info-daemon directory
20965
20966         * src/NetworkManagerAP.c
20967                 - nm_ap_new_from_ap(): Fix bug that resulted in an APs encryption status not getting
20968                         copied over to the new AP.
20969
20970         * src/NetworkManagerDbus.c
20971           src/NetworkManagerDbus.h
20972                 - Deal with nm_device_ap_list_get_ap()->nm_device_ap_list_get_ap_by_index() change
20973                 - Remove nm_dbus_signal_need_key_for_network()
20974                 - Add disabled code for asynchronous user wep key callbacks
20975                 - Add functions for getting, setting, and cancelling user key operations
20976                 - Remove "setKeyForNetwork" device dbus method call, its on NetworkManager object instead
20977                 - Add "setKeyForNetwork" dbus method call on NetworkManager object
20978
20979         * src/NetworkManagerDevice.c
20980           src/NetworkManagerDevice.h
20981                 - nm_device_update_link_active(): revert changes for wireless link detection, the WEP-key-is-wrong
20982                         logic is in device activation now
20983                 - nm_device_activate(): for wireless devices, if we can't associate with access point (perhaps
20984                         key is wrong) trigger get-user-key pending action
20985                 - Implement get-user-key pending action stuff, tie to dbus messages
20986                 - Rename nm_device_ap_list_get_ap() -> nm_device_ap_list_get_ap_by_index()
20987                 - Add nm_device_ap_list_get_ap_by_essid()
20988                 - Instead of copying "best" access points, ref them instead so that the key we set
20989                         sticks around
20990
20991         * src/NetworkManagerPolicy.c
20992                 - Deal with wrong WEP key, but right access point (and if so, return link_active = TRUE)
20993                 - Don't cancel pending actions on a device if its the same device as last iteration
20994                 - Only promote pending_device->active_device if activation was successfull
20995
20996         * src/Makefile.am
20997                 - Rename nmclienttest->nmtest
20998
20999         * info-daemon/Makefile.am
21000           info-daemon/NetworkManagerInfo.c
21001           info-daemon/NetworkManagerInfo.h
21002           info-daemon/NetworkManagerInfoDbus.c
21003           info-daemon/NetworkManagerInfoDbus.h
21004           info-daemon/passphrase.glade
21005           info-daemon/NetworkManagerInfo.conf
21006           info-daemon/keyring.png
21007                 - Import sources for info-daemon, which pops up dialog for passphrase/key when
21008                         NetworkManager asks for it, and also will (soon) provide "allowed" access point
21009                         lists to NetworkManager by proxying user's GConf
21010           
21011
21012 2004-07-15  Dan Williams <dcbw@redhat.com>
21013
21014         * src/Makefile.am
21015                 - Turn on warnings
21016
21017         * src/NetworkManager.c
21018                 - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather
21019                         that doing the deactivation ourselves
21020                 - Cancel an pending actions on a device if its being removed
21021                 - Break up link state checking a bit, make non-active wireless cards
21022                         deactivated to save power
21023                 - Remove unused variables
21024
21025         * src/NetworkManager.h
21026                 - Add support for "pending" device
21027
21028         * src/NetworkManagerAP.h
21029           src/NetworkManagerAP.c
21030                 - Add support for determining whether and AP has encryption enabled or not
21031                 - AP address is now "struct ether_addr" rather than a string
21032
21033         * src/NetworkManagerDbus.h
21034           src/NetworkManagerDbus.c
21035                 - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only)
21036                 - Changes for AP address from struct ether_addr->string
21037
21038         * src/NetworkManagerDevice.h
21039           src/NetworkManagerDevice.c
21040                 - Remove unused variables, fix warnings
21041                 - Add support for Pending Actions (things that block a device from being "active"
21042                         until they are completed).
21043                 - First pending action:  Get a WEP key from the user
21044                 - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless()
21045                 - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless()
21046                 - Update wireless link checking to try to determine if the AP we are associated
21047                         with is correct, but the WEP key we are using is just wrong.  If its wrong,
21048                         trigger the GetUserKey pending action on the device
21049                 - If dhclient can't get an IP address, it brings the device down.  Bring it back
21050                         up in that case, otherwise we can't scan or link-check on it
21051                 - Add IP address change notifications at appropriate points (still needs some work)
21052                 - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not
21053
21054         * src/NetworkManagerPolicy.h
21055           src/NetworkManagerPolicy.c
21056                 - Split out "best" access point determiniation into separate function
21057                 - Make device activation 2-stage:  first the device is pending, then
21058                         in the next iteration through it becomes "active" unless it has
21059                         pending actions
21060
21061         * src/NetworkManagerUtils.h
21062           src/NetworkManagerUtils.c
21063                 - Clean up unused variables and warnings
21064                 - Wrap our debug macros in {} to prevent possible confusion
21065
21066         * src/NetworkManagerWireless.c
21067                 - Forgot to return current best priority, which lead to last available AP always
21068                         being chosen no matter what its priority was.  Corrected.
21069
21070 2004-07-15  Dan Williams <dcbw@redhat.com>
21071
21072         * dispatcher-daemon/Makefile.am
21073                 - Turn on warnings
21074
21075         * dispatcher-daemon/NetworkManagerDispatcher.c
21076                 - Remove unused variables due to warnings
21077                 - Fix some comments
21078                 - Print message on receipt of NeedKeyForNetwork signal (testing only)
21079
21080 2004-07-06  Dan Williams <dcbw@redhat.com>
21081
21082         * src/NetworkManager.c
21083                 - Add IPv4 address update for active device during link state check
21084                 - Don't allow wireless cards to be powered up when they are not the
21085                         active device
21086
21087         * src/NetworkManagerDbus.c
21088           src/NetworkManagerDbus.h
21089                 - Add DBUS IPv4 address change signal
21090                 - Add DBUS IPv4 address get method for devices
21091
21092         * src/NetworkManagerDevice.c
21093                 - Make setting the WEP key actually work
21094                 - Move IP address get/set/update stuff here, per-device
21095                 - Power down/bring down wireless device when deactivated
21096                 - For scanning wireless devices, if first scan returned ENODATA, try again
21097
21098         * src/NetworkManagerPolicy.c
21099                 - Only set the WEP key for an allowed access point if there is one.
21100                         We were setting it to be blank if one wasn't specified.
21101
21102         * src/NetworkManagerUtils.h
21103           src/NetworkManagerUtils.c
21104                 - Move the IP address stuff to NetworkManagerDevice.c
21105
21106         * dispatcher-daemon/NetworkManagerDispatcher.c
21107                 - Add device IPv4 address change notification stuff
21108
21109 2004-07-05  Dan Williams <dcbw@redhat.com>
21110
21111         * dispatcher-daemon/NetworkManagerDispatcher.c
21112                 - A bit more descriptive state message
21113                 - Don't segfault when reading directory
21114
21115         * src/NetworkManager.h
21116                 - Remove NMData desired_ap member, its now
21117                         per-device rather than global
21118
21119         * src/NetworkManager.c
21120                 - Remove references to desired_ap
21121                 - Move the allowed AP list refresh stuff into a thread
21122
21123         * src/NetworkManagerDevice.c
21124           src/NetworkManagerDevice.h
21125                 - Each wireless device now has a "best ap"
21126                 - Make device activate/deactivate functions per-device
21127                 - Make wireless scanning per-device
21128                 - Add IPv4 address discover functions, stub IPv6 ones
21129                 - Move ethernet address validation functions to NetworkManagerUtils.c
21130                 - Add wireless access point accessor function
21131                 - Get/Set functions for "best ap"
21132
21133         * src/NetworkManagerPolicy.c
21134                 - Move activate/deactivate stuff into NetworkManagerDevice.c, per-device
21135                 - Deal with per-device "best ap" rather than data->desired_apa
21136                 - Implement allowed access point worker thread
21137                 - Add nm_policy_essid_is_allowed() function
21138
21139         * src/NetworkManagerUtils.c
21140           src/NetworkManagerUtils.h
21141                 - Add nm_ethernet_address_is_valid() function
21142                 - Add IPv4/IPv6 address get functions
21143
21144         * src/NetworkManagerWireless.c
21145           src/NetworkManagerWireless.h
21146                 - Move scanning stuff into NetworkManagerDevice.c, per-device
21147
21148 2004-06-29  Dan Williams <dcbw@redhat.com>
21149
21150         * dispatcher-daemon/NetworkManagerDispatcher.c
21151                 - Implement script callout functionality
21152
21153 2004-06-24  Dan Williams <dcbw@redhat.com>
21154
21155         * NetworkManager.c
21156             - Spacing cleanups
21157             - Flush device routes and ip addresses when added to the device list
21158
21159         * NetworkManagerDbus.c
21160             - Spacing cleanups
21161             - Add missing returns in the two signal functions
21162         
21163         * NetworkManagerPolicy.c
21164             - Spacing and variable cleanups
21165
21166 2004-06-24  Dan Williams <dcbw@redhat.com>
21167
21168         * Makefile.am
21169           Makefile.in
21170           configure.in
21171           dispatcher-daemon/Makefile.am
21172           dispatcher-daemon/Makefile.in
21173           dispatcher-daemon/NetworkManagerDispatcher.c
21174             - Add a daemon that receives signals from NetworkManager
21175                         and will (eventually) call scripts in /etc/somewhere
21176                         when devices go up or down.
21177         
21178         * NetworkManager.c
21179             - Spacing cleanups
21180             - Flush device routes and ip addresses when added to the device list
21181
21182         * NetworkManagerDbus.c
21183             - Spacing cleanups
21184             - Add missing returns in the two signal functions
21185         
21186         * NetworkManagerPolicy.c
21187             - Spacing and variable cleanups
21188             - Rename nm_policy_switch_interface->nm_policy_switch_device
21189             - nm_policy_switch_device():
21190                                 Use kill (pid) instead of system ("kill <pid>")
21191             - nm_state_modification_monitor():
21192                                 Add wireless essid to output of debug statements
21193                                 Correct typo in device compare to switch or not (should be !=)
21194                                 Don't sleep after sending "no longer active" signal, was useless
21195
21196 2004-06-24  Dan Williams <dcbw@redhat.com>
21197
21198         * Initial import